Evde Robot Nasıl Yapılır (Resimlerle)

İçindekiler:

Evde Robot Nasıl Yapılır (Resimlerle)
Evde Robot Nasıl Yapılır (Resimlerle)

Video: Evde Robot Nasıl Yapılır (Resimlerle)

Video: Evde Robot Nasıl Yapılır (Resimlerle)
Video: SketchUp Resim Üzerinden Çok hızlı Modelleme Tekniği 2024, Mayıs
Anonim

Kendi robotunuzu nasıl yapacağınızı öğrenmek ister misiniz? Kendi başınıza yapabileceğiniz birçok farklı robot türü var. Çoğu insan, A noktasından B noktasına hareket etmek gibi basit görevleri yerine getiren bir robot görmek ister. Tamamen analog bileşenlerden bir robot yapabilir veya sıfırdan bir başlangıç kiti satın alabilirsiniz! Kendi robotunuzu inşa etmek, kendinize hem elektronik hem de bilgisayar programlamayı öğretmenin harika bir yoludur.

adımlar

Bölüm 1/6: Robotu Birleştirme

1123333 1
1123333 1

Adım 1. Bileşenlerinizi toplayın

Temel bir robot oluşturmak için birkaç basit bileşene ihtiyacınız olacak. Bu bileşenlerin hepsini olmasa da çoğunu yerel elektronik hobi mağazanızda veya birkaç çevrimiçi perakendecide bulabilirsiniz. Bazı temel kitler, bu bileşenlerin tümünü de içerebilir. Bu robot herhangi bir lehimleme gerektirmez:

  • Arduino Uno (veya başka bir mikrodenetleyici)
  • 2 sürekli dönüş servosu
  • Servolara uyan 2 tekerlek
  • 1 tekerlekli silindir
  • 1 küçük lehimsiz devre tahtası (her iki tarafında iki pozitif ve negatif çizgi bulunan bir devre tahtası arayın)
  • 1 mesafe sensörü (dört pinli konnektör kablosu ile)
  • 1 mini buton anahtarı
  • 1 10kΩ direnç
  • 1 USB A'dan B'ye kablo
  • 1 set ayrılabilir başlık
  • 9V DC güç jakına sahip 1 6 x AA pil tutucu
  • 1 paket atlama teli veya 22 ayar bağlantı teli
  • Güçlü çift taraflı bant veya sıcak tutkal
1123333 2
1123333 2

Adım 2. Düz arka kısmı yukarı bakacak şekilde pil takımını ters çevirin

Pil takımını temel olarak kullanarak robotun gövdesini oluşturacaksınız.

1123333 3
1123333 3

Adım 3. Pil takımının ucundaki iki servoyu hizalayın

Bu, pil takımının telinin dışarı çıktığı son olmalıdır. Servolar tabanlara temas etmeli ve her birinin döner mekanizmaları pil takımının kenarlarından dışarı bakmalıdır. Tekerleklerin düz gitmesi için servolar düzgün bir şekilde hizalanmalıdır. Servoların kabloları pil takımının arkasından çıkmalıdır.

1123333 4
1123333 4

Adım 4. Servoları bant veya yapıştırıcınızla yapıştırın

Pil takımına sağlam bir şekilde takıldıklarından emin olun. Servoların arkaları, pil takımının arkası ile aynı hizada olmalıdır.

Servolar şimdi pil takımının arka yarısını alıyor olmalıdır

1123333 5
1123333 5

Adım 5. Breadboard'u pil takımı üzerindeki açık alana dik olarak yapıştırın

Pil takımının ön tarafından biraz sarkmalı ve her iki tarafın ötesine uzanmalıdır. Devam etmeden önce güvenli bir şekilde sabitlendiğinden emin olun. "A" satırı servolara en yakın olmalıdır.

1123333 6
1123333 6

Adım 6. Arduino mikro denetleyicisini servoların tepesine takın

Servoları düzgün taktıysanız, dokunmaları ile düz bir boşluk olmalıdır. Arduino kartını bu düz alana, Arduino'nun USB ve Güç konektörleri arkaya bakacak şekilde (breadboard'dan uzağa) yapıştırın. Arduino'nun önü, breadboard ile zar zor örtüşmelidir.

1123333 7
1123333 7

Adım 7. Tekerlekleri servoların üzerine koyun

Tekerlekleri servonun dönen mekanizmasına sıkıca bastırın. Tekerlekler en iyi çekiş için mümkün olduğunca sıkı oturacak şekilde tasarlandığından, bu önemli miktarda kuvvet gerektirebilir.

1123333 8
1123333 8

Adım 8. Tekerleği devre tahtasının altına takın

Kasayı ters çevirirseniz, pil takımını geçen bir parça devre tahtası görmelisiniz. Gerekirse yükselticileri kullanarak tekeri bu uzatılmış parçaya takın. Tekerlek, ön tekerlek görevi görerek robotun herhangi bir yöne kolayca dönmesini sağlar.

Bir kit satın aldıysanız, tekerlek, tekerleğin yere ulaşmasını sağlamak için kullanabileceğiniz birkaç yükselticiyle birlikte gelmiş olabilir. ben

Bölüm 2/6: Robotu Kablolama

1123333 9
1123333 9

Adım 1. İki adet 3 pimli başlığı ayırın

Bunları servoları devre tahtasına bağlamak için kullanacaksınız. Pimlerin her iki tarafta eşit mesafede çıkması için pimleri başlıktan aşağı doğru itin.

1123333 10
1123333 10

Adım 2. İki başlığı, devre tahtasının E satırındaki 1-3 ve 6-8 numaralı pimlere yerleştirin

Sıkıca yerleştirildiklerinden emin olun.

1123333 11
1123333 11

Adım 3. Siyah kablo sol tarafta olacak şekilde servo kablolarını başlıklara bağlayın (pim 1 ve 6)

Bu, servoları breadboard'a bağlayacaktır. Sol servonun sol başlığa ve sağ servonun sağ başlığa bağlı olduğundan emin olun.

1123333 12
1123333 12

Adım 4. C2 ve C7 pinlerinden kırmızı jumper kablolarını kırmızı (pozitif) ray pinlerine bağlayın

Breadboard'un arkasındaki kırmızı rayı kullandığınızdan emin olun (kasanın geri kalanına daha yakın).

1123333 13
1123333 13

Adım 5. B1 ve B6 pinlerinden gelen siyah jumper kablolarını mavi (toprak) ray pinlerine bağlayın

Breadboard'un arkasındaki mavi rayı kullandığınızdan emin olun. Bunları kırmızı ray pimlerine takmayın.

1123333 14
1123333 14

Adım 6. Arduino'daki 12 ve 13 numaralı pinlerden beyaz jumper kablolarını A3 ve A8'e bağlayın

Bu, Arduino'nun servoları kontrol etmesine ve tekerlekleri döndürmesine izin verecektir.

1123333 15
1123333 15

Adım 7. Sensörü devre tahtasının önüne takın

Breadboard üzerindeki dış güç raylarına takılmaz, bunun yerine harfli pimlerin (J) ilk satırına takılır. Her iki tarafta eşit sayıda pim olacak şekilde tam ortasına yerleştirdiğinizden emin olun.

1123333 16
1123333 16

Adım 8. I14 piminden sensörün solundaki mevcut ilk mavi ray pimine siyah bir atlama teli bağlayın

Bu, sensörü topraklayacaktır.

1123333 17
1123333 17

Adım 9. I17 piminden sensörün sağındaki ilk mevcut kırmızı ray pimine kırmızı bir aktarma kablosu bağlayın

Bu sensöre güç verecektir.

1123333 18
1123333 18

Adım 10. Beyaz jumper kablolarını Arduino'daki pin I15'ten pin 9'a ve I16'dan pin 8'e bağlayın

Bu, sensörden mikrodenetleyiciye bilgi besleyecektir.

Bölüm 3/6: Gücü Kablolama

1123333 19
1123333 19

Adım 1. Paketteki pilleri görebilmek için robotu yan çevirin

Pil takımı kablosu altta soldan çıkacak şekilde yönlendirin.

1123333 20
1123333 20

Adım 2. Altta soldan ikinci yaya kırmızı bir kablo bağlayın

Pil takımının doğru yönlendirildiğinden emin olun.

1123333 21
1123333 21

Adım 3. Sağ alttaki son yaya siyah bir kablo bağlayın

Bu iki kablo, Arduino'ya doğru voltajı sağlamaya yardımcı olacaktır.

1123333 22
1123333 22

Adım 4. Kırmızı ve siyah kabloları, devre tahtasının arkasındaki en sağdaki kırmızı ve mavi pimlere bağlayın

Siyah kablo pim 30'daki mavi ray pimine takılmalıdır. Kırmızı kablo pim 30'daki kırmızı ray pimine takılmalıdır.

1123333 23
1123333 23

Adım 5. Arduino üzerindeki GND pininden siyah bir kabloyu arka mavi raya bağlayın

Mavi raydaki pim 28'e bağlayın.

1123333 24
1123333 24

Adım 6. Arka mavi raydan siyah bir kabloyu her biri için pim 29'daki ön mavi raya bağlayın

Arduino'ya zarar vereceğiniz için kırmızı rayları bağlamayın.

1123333 25
1123333 25

Adım 7. Pin 30'daki ön kırmızı raydan Arduino'daki 5V pinine kırmızı bir kablo bağlayın

Bu Arduino'ya güç sağlayacaktır.

1123333 26
1123333 26

Adım 8. Basmalı düğmeyi 24-26 numaralı pimlerdeki sıralar arasındaki boşluğa yerleştirin

Bu anahtar, gücü fişten çekmenize gerek kalmadan robotu kapatmanıza olanak tanır.

1123333 27
1123333 27

Adım 9. H24'ten kırmızı bir kabloyu sensörün sağındaki bir sonraki mevcut pimdeki kırmızı raya bağlayın

Bu, düğmeye güç verecektir.

1123333 28
1123333 28

Adım 10. H26'yı mavi raya bağlamak için direnci kullanın

Birkaç adım önce bağladığınız siyah kablonun hemen yanındaki pime bağlayın.

1123333 29
1123333 29

Adım 11. G26'dan Arduino'daki pin 2'ye beyaz bir kablo bağlayın

Bu, Arduino'nun basma düğmesini kaydetmesine izin verecektir.

Bölüm 4/6: Arduino Yazılımını Yükleme

1123333 30
1123333 30

Adım 1. Arduino IDE'yi indirin ve çıkarın

Bu Arduino geliştirme ortamıdır ve daha sonra Arduino mikro denetleyicinize yükleyebileceğiniz talimatları programlamanıza olanak tanır. arduino.cc/en/main/software adresinden ücretsiz olarak indirebilirsiniz. İndirilen dosyayı çift tıklatarak açın ve içindeki klasörü erişimi kolay bir konuma taşıyın. Programı gerçekten yüklemeyeceksiniz. Bunun yerine, arduino.exe'ye çift tıklayarak çıkarılan klasörden çalıştıracaksınız.

1123333 31
1123333 31

Adım 2. Pil takımını Arduino'ya bağlayın

Güç vermek için pil arka jakını Arduino üzerindeki konektöre takın.

1123333 32
1123333 32

Adım 3. Arduino'yu USB üzerinden bilgisayarınıza takın

Windows büyük olasılıkla aygıtı tanımayacaktır.

1123333 33
1123333 33

Adım 4. tuşuna basın

⊞ Kazan + R ve yazın devmgmt.msc.

Bu, Aygıt Yöneticisini başlatacaktır.

1123333 34
1123333 34

Adım 5. "Diğer cihazlar" bölümünde "Bilinmeyen cihaz" üzerine sağ tıklayın ve "Sürücü Yazılımını Güncelle"yi seçin

" Bu seçeneği görmüyorsanız, bunun yerine "Özellikler"e tıklayın, "Sürücü" sekmesini seçin ve ardından "Sürücüyü Güncelle"ye tıklayın.

1123333 35
1123333 35

6. Adım. "Sürücü yazılımı için bilgisayarımı tara'yı seçin

" Bu, Arduino IDE ile birlikte gelen sürücüyü seçmenize izin verecektir.

1123333 36
1123333 36

7. Adım. "Gözat"a tıklayın ve daha önce çıkardığınız klasöre gidin

İçinde bir "sürücüler" klasörü bulacaksınız.

1123333 37
1123333 37

Adım 8. "Sürücüler" klasörünü seçin ve "Tamam" ı tıklayın

" Bilinmeyen yazılım hakkında uyarılırsanız devam etmek istediğinizi onaylayın.

Bölüm 5/6: Robotu Programlama

1123333 38
1123333 38

Adım 1. IDE klasöründeki arduino.exe dosyasına çift tıklayarak Arduino IDE'yi başlatın

Boş bir proje ile karşılaşacaksınız.

1123333 39
1123333 39

Adım 2. Robotunuzun düz gitmesini sağlamak için aşağıdaki kodu yapıştırın

Aşağıdaki kod Arduino'nuzun sürekli ilerlemesini sağlayacaktır.

#include // bu, programa "Servo" kitaplığını ekler // aşağıdaki iki servo nesnesi oluşturur Servo leftMotor; Servo sağMotor; geçersiz kurulum() { leftMotor.attach(12); // servolarınızın pin numaralarını yanlışlıkla değiştirdiyseniz, buradaki sayıları değiştirebilirsiniz rightMotor.attach(13); } geçersiz döngü() { leftMotor.write(180); // sürekli dönüş ile 180, servoya tam hızda "ileri" hareket etmesini söyler. doğruMotor. yaz (0); // bunların ikisi de 180'deyse, servolar ters çevrildiği için robot bir daire içinde gidecektir. "0," tam hızda "geri" hareket etmesini söyler. }

1123333 40
1123333 40

Adım 3. Programı oluşturun ve yükleyin

Programı oluşturmak ve bağlı Arduino'ya yüklemek için sol üst köşedeki sağ ok düğmesine tıklayın.

Program yüklendikten sonra ilerlemeye devam edeceğinden robotu yüzeyden kaldırmak isteyebilirsiniz

1123333 41
1123333 41

Adım 4. Kill switch işlevini ekleyin

Kill anahtarını etkinleştirmek için kodunuzun "void loop()" bölümüne, "write()" işlevlerinin üzerine aşağıdaki kodu ekleyin.

if(digitalRead(2) == HIGH) // Arduino'nun pin 2'sinde butona basıldığında bu kayıt olur { while(1) { leftMotor.write(90); // "90", servolar için sağa dönmeyi durdurmalarını söyleyen nötr konumdurMotor.write(90); } }

1123333 42
1123333 42

Adım 5. Kodunuzu yükleyin ve test edin

Eklenen kill switch kodu ile robotu yükleyip test edebilirsiniz. Siz düğmeye basana kadar ilerlemeye devam etmelidir, bu noktada hareket etmeyi durduracaktır. Tam kod şöyle görünmelidir:

#include // aşağıdaki iki servo nesnesi oluşturur Servo leftMotor; Servo sağMotor; geçersiz kurulum() { leftMotor.attach(12); sağMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); sağMotor.write(90); } } leftMotor.write(180); sağMotor.write(0); }

Bölüm 6/6: Örnek

Adım 1. Bir örnek izleyin

Aşağıdaki kod, bir engelle karşılaştığında sola dönmesini sağlamak için robota bağlı sensörü kullanacaktır. Her parçanın ne yaptığıyla ilgili ayrıntılar için koddaki yorumlara bakın. Aşağıdaki kod programın tamamıdır.

#include Servo solMotor; Servo sağMotor; const int serialPeriod = 250; // bu konsola çıkışı her 1/4 saniyede bir unsigned long timeSerialDelay = 0; const int döngüPeriod = 20; // bu, sensörün ne sıklıkla okuma alacağını 20ms'ye ayarlar, bu 50Hz'lik bir frekanstır işaretsiz uzun timeLoopDelay = 0; // bu, Arduino üzerindeki pinlere TRIG ve ECHO fonksiyonlarını atar. Farklı bağladıysanız buradaki sayılarda ayarlamalar yapın const int ultrasonic2TrigPin = 8; const int ultrasonik2EchoPin = 9; int ultrasonik2Mesafe; int ultrasonik2Süre; // bu, robot için olası iki durumu tanımlar: ileri sürüş veya sola dönüş #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int durum = DRIVE_FORWARD; // 0 = ileri sür (DEFAULT), 1 = sola dön boşluk ayarı() { Serial.begin(9600); // bu sensör pin konfigürasyonları pinMode(ultrasonic2TrigPin, OUTPUT); pinMode(ultrasonic2EchoPin, INPUT); // bu, motorları leftMotor.attach(12) Arduino pinlerine atar; sağMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // bu, kill anahtarını algılar { while(1) { leftMotor.write(90); sağMotor.write(90); } } debugOutput(); // hata ayıklama mesajlarını seri konsola yazdırır if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // bu sensöre ölçülen mesafeleri okuması ve kaydetmesi talimatını verir stateMachine(); timeLoopDelay = millis(); } } void stateMachine() { if(durum == DRIVE_FORWARD) // eğer hiçbir engel algılanmadıysa { if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // robotun önünde hiçbir şey yoksa. ultrasonikMesafe, engel yoksa bazı ultrasonikler için negatif olacaktır { // ileri doğru sürMotor.write(180); leftMotor.write(0); } else // önümüzde bir nesne varsa { state = TURN_LEFT; } } else if(durum == TURN_LEFT) // bir engel algılanırsa sola dönün { unsigned long timeToTurnLeft = 500; // 90 derece dönmesi yaklaşık 0,5 saniye sürer. Tekerlekleriniz, unsigned long turnStartTime = millis(); örneğinden farklı bir boyuttaysa bunu ayarlamanız gerekebilir. // dönmeye başladığımız zamanı kaydedin while((millis()-turnStartTime) < timeToTurnLeft) // timeToTurnLeft geçene kadar bu döngüde kalın { // sola dönün, her ikisi de "180" olarak ayarlandığında döneceğini unutmayın. sağMotor.write(180); leftMotor.write(180); } durum = DRIVE_FORWARD; } } void readUltrasonicSensors() { // bu ultrasonik 2 içindir. Farklı bir sensör kullanıyorsanız bu komutları değiştirmeniz gerekebilir. digitalWrite(ultrasonic2TrigPin, YÜKSEK); gecikmeMikrosaniye(10); // trig pinini en az 10 mikrosaniye boyunca yüksek tutar digitalWrite(ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn(ultrasonic2EchoPin, YÜKSEK); ultrasonik2Mesafe = (ultrasonik2Süre/2)/29; } // aşağıdakiler konsolda hata ayıklamak içindir. void debugOutput() { if((millis() - timeSerialDelay) > serialPeriod) { Serial.print("ultrasonic2Distance: "); Serial.print(ultrasonic2Distance); Seri.print("cm"); Seri.println(); timeSerialDelay = millis(); } }

Önerilen: