Arduino Ultrasonik Sensör Örneği (SEN136B5B)
Ultrasonik Sensör Örneği. SEN136B5B , Seeedstudio’dan bir ultrasonik telemetre cihazıdır. Sensörün önündeki en yakın nesnenin mesafesini tespit eder (3 cm’den 400 cm’ye kadar). Bir ultrason patlaması göndererek ve bir nesneden sıçradığında yankıyı dinleyerek çalışır. Ultrason ile engelleri pingler . Arduino veya Genuino anakartı tespiti tetiklemek için kısa bir sinyal gönderir, ardından pulseIn () fonksiyonunu kullanarak aynı pin üzerinde bir nabız dinler. Bu ikinci darbenin süresi, ultrasonun nesneye gitmesi ve sensöre geri dönmesi için geçen süreye eşittir. Ses hızını kullanarak, bu kez mesafeye dönüştürülebilir.
Ultrasonik Sensör Örneği
Donanım
- Arduino veya Genuino
- Ultrasonik Sensör
- Bağlantı Telleri
“Arduino UNO, elektronik ve kodlamaya başlamak için en iyi tahtadır. Bu, platformla birlikte çalıştığınız ilk deneyiminizse, Arduino UNO, denemelere başlayabileceğiniz en iyi seçimdir. UNO, tüm Arduino ailesinin en çok kullanılan ve içeriği bulunan kartıdır.
Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”
Devre
SEN136B5B’nin 5V pini, kart üzerindeki 5V pimine bağlanır, GND pini GND pimine bağlanır ve SIG (sinyal) pini, tahtadaki dijital pim 7’ye bağlanır.
Kod
/* Ping))) Sensör Bu taslak bir PING okur))) ultrasonik telemetre ve mesafeyi döndürür aralıktaki en yakın nesneye. Bunu yapmak için, sensöre bir darbe gönderir Bir okuma başlat, sonra geri dönmek için bir darbe dinler. Uzunluğu geri dönen darbe, nesnenin sensörden uzaklığı ile orantılıdır. Devre: - PING'in + V bağlantısı))) + 5V'a bağlı - PING'in GND bağlantısı))) toprağa bağlı - PING'in SIG bağlantısı))) dijital pime bağlı 7 oluşturuldu 3 Kas 2008 David A. Mellis tarafından değiştirildi 30 Ağu 2011 Tom Igoe tarafından Bu örnek kod kamu malıdır. http://www.arduino.cc/en/Tutorial/Ping */ // bu sabit değişmeyecek. Sensörün çıkışının pin numarası: const int pingPin = 7; void setup() { // seri iletişimi başlat: Serial.begin(9600); } void loop() { // ping süresi ve mesafe sonucu için değişkenler oluşturmak // inç ve santimetre cinsinden: long duration, inches, cm; // PING))) 2 veya daha fazla mikrosaniye YÜKSEK bir darbe ile tetiklenir. // Temiz bir YÜKSEK nabız sağlamak için önceden kısa bir DÜŞÜK nabız verin: pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5); digitalWrite(pingPin, LOW); // PING'den gelen sinyali okumak için aynı pin kullanılır))): YÜKSEK bir darbe // süresi ping gönderilmesinden itibaren geçen süre (mikro saniye cinsinden) // bir nesnenin yankısının alınmasına. pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH); // zamanı bir mesafeye dönüştürmek inches = microsecondsToInches(duration); cm = microsecondsToCentimeters(duration); Serial.print(inches); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(100); } long microsecondsToInches(long microseconds) { // Parallax'ın PING için veri sayfasına göre))), 73.746 var // inç başına mikro saniye (ses, saniyede 1130 feet) hareket eder. // Bu, ping'in gidişatını, giden ve geri dönüşünü verir. // böylece engelin mesafesini almak için 2'ye böleriz. // Bakınız: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf return microseconds / 74 / 2; } long microsecondsToCentimeters(long microseconds) { // Ses hızı, santimetre başına 340 m / s veya 29 mikrosaniyedir. // Ping dışarı çıkar ve geri gider, böylece nesnenin mesafesini bulmak için // seyahat edilen mesafenin yarısını al. return microseconds / 29 / 2; }
Kaynak:arduino.cc