Devreler

Bir Robot Nasıl Yapılır - Ders 3: Bir Çizgi İzleme Robotu Oluşturun: 16 Adım

Evde Robot Programlama Öğreniyorum - (mBot ile Hareket)

Evde Robot Programlama Öğreniyorum - (mBot ile Hareket)

İçindekiler:

Anonim

Temel işlevleri tamamladıktan sonra, Arduino robotuna yükseltilmiş bir yetenek vermeye hazırız - Çizgi izleme!

Bu derste, Arduino robotunu takip etmek için adım adım öğretilecek. Bu eğitimin izlenmesini kolaylaştırmak için, burada bir Arduino robot kiti (Korsan: Bluetooth 4.0 ile 4WD Arduino Mobil Robot Kiti) örnek olarak kullanılmıştır.

Dersler Menüsü:

Ders 1: Giriş

Ders 2: Temel Bir Arduino Robotu Oluşturun

Ders 3: Bir Çizgi İzleme Arduino Robotu Oluşturma

Ders 4: Engelleri Önleyebilecek Bir Arduino Robotu Oluşturun

Ders 5: Işık ve Ses Efektleri Olan Bir Arduino Robotu Oluşturun

Ders 6: Ortamı İzleyebilecek Bir Arduino Robotu Oluşturun

Ders 7: Bluetooth Kontrollü bir Arduino Robotu Oluşturun

İhtiyacınız Olabilecek Donanım Parçaları:

Arduino için Çizgi İzleme (Aşağıdaki) Sensörü × 3

Gereçler:

Aşama 1:

Genişlik 2.5CM Siyah Elektrik Bandı × 1

Adım 2:

1M * 1M Beyaz Tahta × 1

Aşama 3:

M3 * 30MM Naylon desteği (vidalar, somunlar) × 3

4. Adım:

Montaj talimatları

Arduino robotunu monte etmek zor değil. Lütfen aşağıdaki talimatları izleyin.

Aşama 1:

Öncelikle, 3 naylon desteğe ve beraberindeki vidalara ve somunlara ihtiyacınız var.

Adım 5:

Adım 2: Naylon desteklerin takılması

Somunları kullanarak, naylon destekleri Mini sensörlerin üstüne takın. Destekleri takarken, lütfen yönlerine dikkat edin: somun ve probların her ikisi de bir yönde olmalıdır.

6. Adım:

Adım 3: Sensör kartını takma

Robotik platformdan üst plakayı çıkarın. Ardından, sensör kartını platformun önüne takın.

7. Adım:

Adım 4: Çizgi izleme sensörünün montajı

İlk önce, sensörü veri iletimi için belirlenen kabloya bağlayın. Ardından, sensörleri platformun önünden çıkıntı yapan genişletme kartına yapıştırmak için M3 vidalarınızı kullanın.

8. adım:

Donanımı bağlama

Sensörleri monte ettikten sonra, platformun üst plakasını tekrar yerleştirmek için acele etmeyin - bunu yapmadan önce, önce sensörleri Romeo BLE'ye bağlamamız gerekir.

Sol taraftaki resim, Romeo BLE'deki 10, 9 ve 8 numaralı pinlere karşılık gelen sensör kartındaki sensörlerin doğru ABC yerleşimini göstermektedir. Sensörleri bağlarken, onları doğru sırada bağladığınızdan emin olun. Sensörleri bağladıktan sonra, platformun üst plakasını tabanın üzerine tekrar takın.

9. adım:

Sensörleri ayarlamak

Kod indirmeden önce, sensörlerimizi ayarlamamız gerekir. Öncelikle, güç vermek için Romeo BLE'nize (Bluetooth 4.0 ile Arduino Robot Kontrol Kartı) bir USB kablosu takın. Aşağıdaki resimde görüldüğü gibi, aşağıdaki sensörde bir Philips vida başı bulunur; Bu vida başı, sensörün mesafe algılamasını ayarlamak için kullanılabilir. Beyaz bir kağıt parçası alın ve sensörün sondasının altına yerleştirin (kağıdın rengi kalibrasyon amaçlıdır). Bir tornavida alın ve Philips vida kafasını sıkmak için kullanın. Vida kafasını ne kadar sıkılaştırdığınıza bağlı olarak sensörün probunun fiziksel olarak yukarı ve aşağı hareket ettiğini hissedeceksiniz. Sıkıştırmaya başladığınızda sensörün LED ışığının da yandığını görürsünüz. Prob noktası kağıdın 2 cm üzerine gelinceye kadar vida kafasını sıkın.

10. Adım:

Kodlama

USB'nizi takın. GitHub'dan “HuntingLineBlack.ino” adlı Arduino kodunu indirin. Kodu BLE kontrol kartınıza yüklemek için Arduino IDE'deki Yükle düğmesine tıklayın.

11. adım:

Arduino Robot’un yolunu yapılandırma

Beyaz tahtanı çıkar. Aşağıdaki resimde gösterildiği gibi beyaz tahtaya bir yol çizmek için 2,5 cm genişliğindeki elektrik bandınızı kullanın.

Adım 1/2:

Kablonun genişliği kabaca 2,5 cm, sensörler A ve C arasındaki yaklaşık mesafedir. Kodla ilgili nedenlerden dolayı yukarıdaki yolu seçtik; daha sonraki bir bölüm bu mantığı daha ayrıntılı bir şekilde açıklayacaktır.

13. Adım:

İletim: Nasıl çalışır?

Robotun yolda kalmasını nasıl sağlarız? Robotun, rayın ortasında tutarlı bir şekilde yerleştirildiğinden emin olmalıyız. Robot, parçaya göre konumunu kalibre etmek için 3 şanzıman sensörünü kullanır - bir tarafını yana yatırdığında, robot kendi kendine orta tarafa doğru kendini ayarlayacaktır.

Robotumuz hareket ettiğinde üç şart meydana gelir.

Adım 14:

(a) Robot yol boyunca ilk kez hareket etmeye başladığında, yalnızca orta sensör (B) siyah çizgiyi algılar - sol ve sağ sensörler henüz devreye girmedi. Araba pist boyunca ortalanacak ve ileri doğru hareket edecektir.

15. Adım:

(b) Yoluna devam ettikten sonra robot merkezden ayrılmaya başlayabilir. Bu şartlar altında, sol ve sağ sensörler siyah çizgiyi algılamaya ve robota parçaya doğru kendi kendine kılavuzluk etmeye çalışacaktır. Örneğin, robot pistin sağ tarafına doğru yönelirse, aracın sola doğru dönerek kendisini yeniden ortalaması gerekir - sol sensör teker teker hareket edecek ve robotu yeniden ortalanana kadar otomatik olarak döndürecektir.

16. adım:

(c) Buna karşılık, robot parçanın sol tarafına doğru yönelirse, sağ sensör tekrar yerleşecek ve yeniden konumlanıncaya kadar robotun yolunu ayarlayacaktır.

Kod özeti

Temel kodu tartışmaya gerek yok - sadece iletimi içeren bölüme bir göz atalım.

int RightValue; // Pin 8'deki sağ hat traktör sensörü

int MiddleValue; // Pin 9'daki orta hat traktör sensörü

int LeftValue; // Pin 10'daki sol çizgi traktör sensörü

// Çizgi İzleme Sensörünün 3 pin değerini okuma

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

Üç sensörün okuma değerlerini kaydetmek için üç değişken kullanın - RightValue, MiddleValue, LeftValue -.

DigitalRead (pin) işlevi, dijital Giriş / Çıkış portu değerini okumak için kullanılır. Bu bölüm hala net değilse, lütfen Terminoloji Kılavuzumuza veya Arduino web sitesine bakın.

Orta şanzıman sensörü siyah bir çizgi (yol) tespit ettiğinde, DÜŞÜK bir enerji çıkışı üretecektir. Beyaz bir alan tespit ettiklerinde, YÜKSEK bir enerji çıktısı üretirler.

Aşağıdaki örnek A, iletim kodunun çalışma prensiplerini göstermektedir. Orta sensör siyah bir çizgi (yol) tespit ettiğinde, DÜŞÜK bir enerji çıktısı üretecektir. Sol / sağ sensörler beyaz boşluk algıladığında, bir YÜKSEK çıkış üretirler.

if (MiddleValue == LOW) {// ortadaki satır Robot.Speed ​​(100,100); gecikmesi (10);}

aksi takdirde (((LeftValue == HIGH) && (RightValue == HIGH))) {Robot.Speed ​​(100,100); gecikmesi (10);}

Sensörler sağdaki beyaz alanı da tespit ederken siyah çizgiyi / izini sola algılarsa, robot sola döner. Aşağıdaki Örnek B'ye bakınız:

aksi takdirde (((LeftValue == DÜŞÜK) && (RightValue == HIGH)) {Robot.Speed ​​(-100,100); // sola dönüş gecikmesini (10);}

Tersine, eğer sensörler sola doğru beyaz alan tespit ederken siyah çizgiyi / izi sağa algılarsa, robot sağa döner. Aşağıdaki Örnek C'ye bakınız:

aksi takdirde (((LeftValue == HIGH) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // sağa dönüş gecikmesi (10);}