İçindekiler:

Lazer Sensör ve Sesli Komutlar Kullanarak Otomatik Kavrama: 5 Adım (Resimlerle)
Lazer Sensör ve Sesli Komutlar Kullanarak Otomatik Kavrama: 5 Adım (Resimlerle)

Video: Lazer Sensör ve Sesli Komutlar Kullanarak Otomatik Kavrama: 5 Adım (Resimlerle)

Video: Lazer Sensör ve Sesli Komutlar Kullanarak Otomatik Kavrama: 5 Adım (Resimlerle)
Video: KULUNÇ KIRMA. SIRT KÜTLETME. SIRT AĞRISI EGZERSİZLERİ. KAYROPRAKTİK. MANUEL TERAPİ. KÜTLETME. ASMR. 2024, Temmuz
Anonim
Image
Image
Parça Listesi
Parça Listesi

Bize basit ve doğal görünen nesneleri kavramak aslında karmaşık bir iştir. İnsan, kavramak istediği nesneye olan uzaklığını belirlemek için görme duyusunu kullanır. El, tutulmakta olan nesneye yakın olduğunda otomatik olarak açılır ve ardından nesneyi iyi kavramak için hızla kapanır. Bu mini projede bu tekniği basitleştirilmiş bir şekilde kullandım, ancak kamera yerine nesnenin tutucuya olan mesafesini tahmin etmek için bir lazer sensör ve kontrol için sesli komutlar kullandım.

Adım 1: Parça Listesi

Parça Listesi
Parça Listesi

Bu küçük projede, aşağıda listelenen parçalardan sadece birkaçına ihtiyacınız olacak. Kontrolör olarak Arduino mega 2560 kullandım ama UNO veya başka bir Arduino da kullanabilirsiniz. Mesafe sensörü olarak, iyi bir doğruluğa (yaklaşık birkaç milimetre) ve 2 metreye kadar menzile sahip bir VL53L0X lazer sensörü kullandım. Bu projede herhangi bir tutucuyu ve servoyu test etmek için kullanabilirsiniz ancak ayrı bir güç kaynağından, örneğin: 5V güç kaynağından veya bir LiPo pilden (7.4V veya 11.1V) voltajı düşüren bir düşürücü dönüştürücü aracılığıyla çalıştırmalısınız. 5V'a kadar.

Bu projede ihtiyaç duyulan parçalar:

  • VL53L0X Lazer ToF Sensörü x1
  • Dijital Servo x1
  • Arduino mega 2560x1
  • Robot metal tutucu x1
  • Breadboard x1
  • Dokunsal Basma Düğmesi x1
  • Bluetooth HC-06
  • Direnç 10k x1
  • Güç kaynağı 5V/2A

Genişletilmiş versiyon:

  1. CJMCU-219 Akım İzleme Sensör Modülü x1
  2. WS2812 RGB LED Sürücü Geliştirme Kartı x1

Adım 2: Elektronik Parçaların Bağlantısı

Elektronik Parçaların Bağlantısı
Elektronik Parçaların Bağlantısı
Elektronik Parçaların Bağlantısı
Elektronik Parçaların Bağlantısı
Elektronik Parçaların Bağlantısı
Elektronik Parçaların Bağlantısı

İlk şekil gerekli tüm bağlantıları göstermektedir. Aşağıdaki fotoğraflarda, bireysel modüllerin bağlanmasının sonraki adımlarını görebilirsiniz. Başlangıçta buton Arduino'nun pin 2'sine, ardından pin 3'e servo ve son olarak I2C bus (SDA, SCL) üzerinden VL53L0X lazer mesafe sensörüne bağlandı.

Elektronik modüllerin bağlantıları aşağıdaki gibidir:

VL53L0X Lazer Sensör -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Sinyal (turuncu tel) - 3

Servo -> 5V/2A Güç Kaynağı

  • GND (kahverengi tel) - GND
  • VCC (kırmızı kablo) - 5V

Basma Düğmesi -> Arduino Mega 2560

  • Pin 1 - 3.3 veya 5V
  • Pin 2 - 2 (ve 10k direnç üzerinden toprağa)

Bluetooth (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Adım 3: Arduino Mega Kodu

Arduino Mega Kodu
Arduino Mega Kodu

GitHub'ımda bulunan aşağıdaki örnek Arduino programlarını hazırladım:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

"VL53L0X_gripper_control" adlı ilk program, VL53L0X lazer sensörü tarafından algılanan bir nesnenin otomatik olarak kavranması görevini yerine getirir. Örnek programı derlemeden ve yüklemeden önce, yukarıda gösterildiği gibi hedef platform olarak "Arduino Mega 2560" seçtiğinizden emin olun (Arduino IDE -> Tools -> Board -> Arduino Mega veya Mega 2560). Arduino programı, ana döngüde - "void loop()" lazer sensöründen yeni okumanın gelip gelmediğini kontrol eder (readRangeContinulousMillimeters() işlevi). "Mesafe_mm" sensöründen okunan mesafe "THRESHOLD_CLOSING_DISTANCE_FAR" değerinden büyük veya "THRESHOLD_CLOSING_DISTANCE_NEAR" değerinden küçükse servo kapanmaya başlar. Diğer durumlarda açılmaya başlar. Programın bir sonraki bölümünde, "digitalRead(gripperOpenButtonPin)" fonksiyonunda, buton durumu sürekli kontrol edilir ve basılırsa, nesnenin yakınlığından dolayı tutucu kapalı olmasına rağmen açılır. (mesafe_mm, THRESHOLD_CLOSING_DISTANCE_NEAR değerinden daha az).

İkinci program "Voice_VL53L0X_gripper_control", tutucuyu sesli komutları kullanarak kontrol etmenizi sağlar. Sesli komutlar, Google Play'den Arduino için BT Sesli Kontrol uygulaması tarafından işlenir ve daha sonra bluetooth aracılığıyla Arduino'ya gönderilir. Arduino programı, yeni komutun (karakter) Bluetooth aracılığıyla Android uygulamasından gönderilip gönderilmediğini ana döngü - "void loop()" içinde kontrol eder. Bluetooth seriden herhangi bir karakter geliyorsa, program "#" sesli talimatının sonuna gelene kadar seri verileri okur. Ardından "void processInput() " işlevinin yürütülmesine başlar ve sesli komuta bağlı olarak belirli bir kontrol işlevi çağrılır.

Adım 4: Otomatik Kavramanın Test Edilmesi

Otomatik Kavramanın Test Edilmesi
Otomatik Kavramanın Test Edilmesi
Otomatik Kavramanın Test Edilmesi
Otomatik Kavramanın Test Edilmesi

"Adım 1"deki video, önceki "Arduino Mega Kodu" bölümündeki programa dayalı robot kavrayıcı testlerini göstermektedir. Bu video, nesne kendisine yakın olduğunda otomatik olarak nasıl açıldığını ve ardından kıskacın ulaşabileceği yerdeyse bu nesneyi nasıl yakaladığını gösteriyor. Burada kullanılan lazer mesafe sensöründen gelen geri bildirim, hızlı reaksiyona ve tutucu kontrolünün değişmesine neden olan şişeyi ileri ve geri hareket ettirdiğimde videonun ileri kısmında açıkça görülüyor.

Adım 5: Sesle Etkinleşen Otomatik Kavrama

Image
Image
Son Söz Mücadelesi 9
Son Söz Mücadelesi 9

Bu projenin geliştirilmesindeki bir sonraki adımda, ona ses kontrolünü ekledim. Sesli komut sayesinde tutucunun kapanmasını, açılmasını ve hızını kontrol edebiliyorum. Bu durumda ses kontrolü, nesneyi tutan tutucuyu açarken çok kullanışlıdır. Düğmenin yerini alır ve mobil robot üzerine yerleştirilen tutucunun kolay kontrolünü sağlar.

Bu projeyi beğendiyseniz, oy vermeyi ve bir sonraki gönderide bu projenin daha da geliştirilmesi olarak ne görmek istediğinizi yoruma yazmayı unutmayın:) Robotik ile ilgili diğer projelerime göz atın, sadece ziyaret edin:

  • Youtube
  • internet sitem

Önerilen: