İçindekiler:

TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür: 5 Adım
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür: 5 Adım

Video: TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür: 5 Adım

Video: TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür: 5 Adım
Video: Semicenk - Mesafe (Karaoke/İnstrumental/Sözleri) 2024, Kasım
Anonim
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür
TrigonoDuino - Sensör Olmadan Mesafe Nasıl Ölçülür

Bu proje ticari sensör olmadan mesafe ölçümü için yapılmıştır. Trigonometrik kuralları somut bir çözümle anlamaya yönelik bir projedir. Başka bir trigonometrik hesaplama için uyarlanabilir. Cos Sin ve diğerleri Math.h ile çalışır.

Lazer ışınlı bu tür bir önlemin ilk versiyon prototipidir, herhangi bir öneri veya ipucuna açığız.

Trigonometri kuralları ile mesafeyi ölçmek için matematiği kullanır.

İki lazer diyot, bir servo motor SG90, bir potansiyometre 10k ve bir Arduino Uno ile çalışır.

<1 metre mesafe için hassasiyet +- 2 mm civarındadır, mesafe santimetre olarak gösterilir. İnç olarak dönüştürmek istiyorsanız, 1cm = 0, 393701 inç, 2, 54'e bölmeniz gerekir. Daha büyük mesafe ile doğru hassasiyeti kaybedebilirsiniz, A'da küçük ofset açısı nedeniyle (90° yerine 90.05° olabilir).

Açıklama:

Potansiyometre lazer C'yi servo motor üzerinde hareket ettirir, bu Arduino'ya C açısı verir. Lazer A noktası bir dik açı verir. Potansiyometre ile lazer (C) noktasını iki lazer ışını üst üste gelecek şekilde hareket ettirin, bu B noktasını verir.

İpuçları: Mükemmel lazer noktası elde etmek için lazer ışınlarını lazer vidalı lens ile ayarlayın.

Adım 1: Parça Listesi

Parça listesi
Parça listesi
Parça listesi
Parça listesi
Parça listesi
Parça listesi
Parça listesi
Parça listesi

Ana:

- İki lazer:https://fr.aliexpress.com/popular/650nm-laser-diod…

- Arduino Uno:https://fr.aliexpress.com/popular/arduino-uno.html

- Servo motor:https://fr.aliexpress.com/popular/sg90-servo-motor…

- 10k Potantimetre:https://www.aliexpress.com/w/wholesale-10k-potenti…

- Dupont Tel:

Alet:

- Lehim Demiri:https://fr.banggood.com/buy/yotec-967-soldering-st…

(Buna sahibim ve çok iyi bir havya, işte bir Weller kullanıyorum ama kendim için kullanıyorum)

isteğe bağlı:

- Dirençler:https://fr.banggood.com/560-Pcs-1-ohm-to-10M-ohm-1…

Adım 2: Elektronik Kablolama

Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği
Kablolama Elektroniği

Diyot yayıcıları, 5V'yi kırmızı kabloya ve GND'yi mavi kabloya bağlayın.

Servo Kırmızı'yı 5V'a, Siyah'ı GND'ye ve Turuncu'yu Arduino Dijital Pin 3'e bağlayın.

Potansiyometre sol pimini Dijital Pim 8'e, sağ pimi Dijital Pim 9'a ve orta pimi Analog Pim A0'a bağlayın. Sol pin benim için mor.

Güç vermeden önce şemaya bakın. Lazer ışınlarına dikkat edin, gözlerinize zarar verebilir. Diyotların kırmızı teli ile arduino arasına dirençler ekleyebilirsiniz, KY008 modülünde 10k kullanılır.

İpucu: Lazerler ve potansiyometre için Dupont tellerini hazırlamak için havyaya ihtiyacınız var.

Adım 3: Plakayı 3D Bastırın

Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır
Plakayı 3D Yazdır

Autocad ile tasarlanmış ve STL formatında dışa aktarılmıştır.

www.autodesk.fr/products/autocad/genel bakış

Basitleştirilmiş sürümü yazdırın sizin için daha iyidir, sabitlemek için SG90'da bulunan vidayı kullanın. Servo merkezinin sağda olması gerekiyor desteğin resimleri gibi görünüyor.

Önemli:

İkinci parçayı servo motora yapıştırmadan önce servoyu (0) dereceye ayarlayın. Lazer işaretçilerini Servo açık (0) olarak paralel konuma yerleştirin, val değerini 0 ile değiştirin: monServomoteur.write(0);.

Henüz yapıştırmayın, bir sonraki adımın sonunu bekleyin.

Adım 4: Arduino Kodu

Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu

Kullanmak için kodu bulabilirsiniz.

Arduino IDE'yi indirin ve yükleyin:

Math.h kütüphanesini projeye eklemek gerekiyor.

Üçgen A köşesindeki dikdörtgendir, AC'yi 14cm olarak biliyoruz ve servo motor C açısını veriyor, ayrıca AB mesafesini Tan (B) ile ölçmek için B açısını hesaplıyoruz, B 2 lazer noktası arasındaki bağlantıdır. Üçgenin toplam açısı 180°'ye eşittir, A açısı 90°'dir.

Mesafe ölçümü lazerin yakınında A köşesinde başlar.

OLED ekranınız yoksa TrigonoDuinoSerial.ino kullanın. Bunu bilgisayarsız kullanmak için SSD1306 Oled ekran kullandım.

Not: 4064'ü 1028'e değiştirebilirsiniz, bu Arduino kartına bağlıdır. Benim için Wavgat R3 analog pini 0 ile 4064 arasında bir değer döndürdü, ancak bazıları için 0 ile 1028 arasında bir değer döndürdü.

Düzenleme: map fonksiyonu kesinlik için uygun değil, yeni kod versiyonunda hesaplama modu, uzun değişken tipi yerine double kullanım için değiştirildi. "For" Döngüsü, servo motorun daha kararlı bir değeri için artırıldı.

Lazerleri yerlerine takmak servo.write'ı 0 yapın ve lazer tutucuyu servonun ortasına yapıştırın. Lazerlerin paralel olması gerekir. Lazer ışınlarını aynı yüksekliğe ayarlayın ve işaretçiler lazerlerin kendileriyle aynı mesafede olmalıdır.

Adım 5: Test Ölçümü

Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü
Test Ölçüsü

Şimdi ölçüm testine geçin. Gerekirse AC uzunluğunuzu lazer kasalarının ortasından ortasına ayarlayın.

Potansiyometreyi küçük bir adımla yavaşça çevirin. Büyük mesafeyi hassas bir şekilde işaretlemek için lazer odağını ayarlayabilirsiniz (vida başlı lazeri çevirin).

Bu ünite ile birkaç metre ölçebilirsiniz ancak hassasiyet daha az hassas olacaktır. 1 metrenin altında ölçüm gerçekten çok iyi.

İleri:

Örneğin, ölçüm için ilk lazerin altına ikinci bir servo koyabilirsiniz, ancak daha fazla hesaplama gerektirir. Trigonometri öğrenen genç öğrenciler için harika bir şey olabilir, gerçek bir matematik uygulaması sağladı.

Daha iyi bir servo motor koyabilir ve hassasiyeti artırmak için (örneğin 15° için 1 potansiyometre) ve mesafe ölçüm aralığı için bazı potansiyometreler ekleyebilirsiniz.

AC uzunluğunu hızlı bir şekilde değiştirmek için servonun yanal yer değiştirmesini ekleyebilir.

Önerilen: