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: Minecraft Haritaya Resim Koyma | MODSUZ (Sadece +1.8) 2024, Mayıs
Anonim

Kendi robotunuzu nasıl yapacağınızı öğrenmek ister misiniz? Kendiniz inşa edebileceğiniz birçok farklı robot türü vardır. Çoğu insan, A noktasından B noktasına hareket etmenin kolay işini yapan bir robot görmek ister. Tamamen analog bileşenlerden bir robot yapabilir veya bir başlangıç kiti satın alabilirsiniz. Kendi robotunuzu yapmak, elektronik ve bilgisayar programlamayı öğrenmenin harika bir yoludur.

Adım

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

1123333 1
1123333 1

Adım 1. Bileşenlerinizi birleştirin

Basit bir robot yapmak için birkaç basit bileşene ihtiyacınız olacak. Bu bileşenlerin çoğunu veya tamamını yerel elektronik hobi mağazanızda veya bazı çevrimiçi perakendecilerde bulabilirsiniz. Bazı kitler bu bileşenlerin tümünü içerir. Bu robot herhangi bir lehimleme gerektirmez:

  • Arduino Uno (veya başka bir mikrodenetleyici)
  • 2 servo 360 derece
  • 2 tekerlek eşleşen servo
  • 1 serbest tekerlek
  • Lehimlenmemiş 1 test tahtası (breadboard veya proje tahtası) (her iki tarafında iki pozitif ve negatif sıra bulunan bir test tahtası arayın)
  • 1 yakınlık sensörü (dört pinli konnektör kablosu ile)
  • 1 basmalı düğme anahtarı
  • 1 direnç 10kΩ
  • 1 USB A'dan B'ye kablo
  • 1 set kırılabilir başlık
  • 9V DC ile 1 6 x AA pil tutucu.güç soketi
  • 1 paket 22. jumper kablo veya tek kablo
  • İleri geri yalıtım (çift bant) veya tutkal tabancası
1123333 2
1123333 2

Adım 2. Pil bölmesini düz arka yüzü yukarı bakacak şekilde çevirin

Pil bölmesini taban olarak kullanarak robot gövdesini oluşturacaksınız.

1123333 3
1123333 3

Adım 3. Pil yuvasının sonunda iki servoyu aynı yöne bakacak şekilde düzenleyin

Bu uç, kablonun pilden çıktığı uçtur. Servolar tabana değmeli ve her bir servonun dönüş mekanizması pil bölmesinin kenarlarından dışarı bakmalıdır. Bu servoların tekerleklerin düz olması için doğru şekilde düzenlenmesi önemlidir. Servo için kablolar pil bölmesinin arkasından çıkmalıdır.

1123333 4
1123333 4

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

Servonun pil bölmesine sıkıca takıldığından emin olun. Servonun arkası, pil bölmesinin arkası ile hizalanmalıdır.

Şimdi, servolar pil yuvasının arkasındaki alanın yarısını kaplamalıdır

1123333 5
1123333 5

Adım 5. Test panosunu pil bölmesinde kalan boşluğa dik olarak yapıştırın

Bu test panosu, pil bölmesinin ön kısmından biraz sarkacak ve her iki tarafa da uzanacaktır. Devam etmeden önce test panosunun sıkı olduğundan emin olun. “A” satırı servoya en yakın olmalıdır.

1123333 6
1123333 6

Adım 6. Arduino mikro denetleyicisini servonun üstüne takın

Servoyu doğru takarsanız, iki servonun birbirine değen düz bir kısmı olmalıdır. Arduino kartını, USB ve Arduino güç konektörleri aşağı bakacak şekilde (test kartından uzağa) bu düz noktaya yapıştırın. Arduino'nun önü test panosu ile örtüşecektir.

1123333 7
1123333 7

Adım 7. Tekerlekleri servolara takın

Tekerlekleri dönen servo mekanizmaya sıkıca bastırın. Tekerlekler, servo ucun şekline tam olarak uyan deliklere sahip olacak şekilde tasarlandığından, bu önemli bir kuvvet gerektirebilir.

1123333 8
1123333 8

Adım 8. Serbest tekerleği test panosunun altına takın

Robotu ters çevirirseniz, pil bölmesinden sarkan küçük bir test tahtası göreceksiniz. Serbest tekerleği bu asılı parçaya takın. Gerekirse bir kama kullanın. Serbest tekerlek, robotun herhangi bir yöne kolaylıkla dönmesini sağlayan ön tekerlek görevi görür.

Bir kit satın aldıysanız, serbest tekerlek, tekerleğin yere temas etmesini sağlamak için kullanabileceğiniz bazı takozlara sahip olabilir

Bölüm 2/5: Robotu Kablolama

1123333 9
1123333 9

Adım 1. İki adet 3 pimli başlığı kesin

Bunu servoyu test panosuna bağlamak için kullanacaksınız. Pimleri başlıklardan aşağı doğru itin, böylece her iki tarafta eşit bir mesafe çıkar.

1123333 10
1123333 10

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

Sıkıca veya sıkıca yerleştirildiklerinden emin olun.

1123333 11
1123333 11

Adım 3. Servo kablolarını siyah kablo sol tarafta olacak şekilde başlık ile bağlayın (pim 1 ve 6)

Bu, servoyu test panosuna 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 kablosunu kırmızı ray pinine (pozitif) bağlayın

Test panosunun arkasındaki kırmızı rayı kullandığınızdan emin olun (robot gövdesinin geri kalanına daha yakın).

1123333 13
1123333 13

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

Test panosunun arkasındaki mavi rayı kullandığınızdan emin olun. Kabloyu kırmızı ray pimine bağlamayın.

1123333 14
1123333 14

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

Bu, Arduino'nun servoyu kontrol etmesine ve tekerleği döndürmesine izin verecektir.

1123333 15
1123333 15

Adım 7. Sensörü test panosunun önüne takın

Sensör, test kartındaki harici güç rayına değil, (J) harfli ilk iki pin sırasına monte edilmiştir. Her iki tarafında eşit sayıda boş iğne olacak şekilde tam ortasına yerleştirdiğinizden emin olun.

1123333 16
1123333 16

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

Bu, sensörü topraklayacaktır.

1123333 17
1123333 17

Adım 9. Pin I17'den gelen kırmızı jumper kablosunu sensörün sağındaki ilk kırmızı ray pinine bağlayın

Bu, sensöre güç sağlayacaktır.

1123333 18
1123333 18

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

Bu, sensörden mikrodenetleyiciye bilgi sağlayacaktır.

Bölüm 3/5: Güç Kablosunu Takma

1123333 19
1123333 19

Adım 1. İçerideki pil bölmesini görebilmek için robotu ters çevirin

Pil bölmesini, kablo sol alttan çıkacak şekilde düzenleyin.

1123333 20
1123333 20

Adım 2. Kırmızı kabloyu altta soldan ikinci yay ile bağlayın

Pil bölmesinin düzgün hizalandığından veya doğru yöne baktığından emin olun.

1123333 21
1123333 21

Adım 3. Siyah kabloyu sağ alttaki son yay ile 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ı, test panosunun sağ tarafında bulunan kırmızı ve mavi pinlere bağlayın

Siyah kablo pim 30'daki mavi ray pimine gitmelidir. Kırmızı kablo pim 30'daki kırmızı ray pimine gitmelidir.

1123333 23
1123333 23

Adım 5. Arduino üzerindeki GND pininden gelen siyah kabloyu mavi rayın arkasına bağlayın

Kabloyu mavi raydaki pim 28'e bağlayın.

1123333 24
1123333 24

Adım 6. Mavi rayın arkasından siyah kabloyu her iki ray için pim 29'daki mavi rayın önüne bağlayın

Arduino'ya zarar verebileceğinizden kırmızı rayı bağlamayın.

1123333 25
1123333 25

Adım 7. Kırmızı kabloyu pin 30'daki kırmızı rayın önünden Arduino'daki 5V pinine bağlayın

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

1123333 26
1123333 26

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

Bu anahtar, gücü kapatmanıza gerek kalmadan robotu kapatmanıza olanak tanır.

1123333 27
1123333 27

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

Bu, düğmeye güç sağlayacaktır.

1123333 28
1123333 28

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

Önceki adımlarda bağladığınız siyah kablonun hemen yanındaki pime bağlayın.

1123333 29
1123333 29

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

Bu, Arduino'nun butonları algılamasını sağlayacaktır.

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

1123333 30
1123333 30

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

Arduino'nun geliştirildiği yer burasıdır ve daha sonra Arduino mikro denetleyicinize yükleyebileceğiniz talimatları programlamanıza izin verir. arduino.cc/en/main/software adresinden ücretsiz olarak indirebilirsiniz. İndirilen dosyayı, dosyaya çift tıklayarak ve içerdiği klasörü erişimi kolay bir konuma taşıyarak açın. Programı gerçekten kurmayacaksınız, bunun yerine arduino.exe'ye çift tıklayarak çıkarılan bir klasörden çalıştıracaksınız.

1123333 31
1123333 31

Adım 2. Pil bölmesini Arduino'ya bağlayın

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

1123333 32
1123333 32

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

Şanslar, Windows cihazı tanımayacak.

1123333 33
1123333 33

Adım 4. tuşuna basın

Kazan + R ve yazın devmgmt.msc.

Bu komut Aygıt Yöneticisini açacaktır.

1123333 34
1123333 34

Adım 5. Diğer cihazlar altında Bilinmeyen cihaz'a 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, Ö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

Adım 6. Sürücü yazılımı için bilgisayarıma gözat'ı seçin

Bu, Arduino IDE ile birlikte gelen yerleşik sürücüleri seçmenize izin verecektir.

1123333 36
1123333 36

7. Adım. Gözat'a tıklayın, ardından daha önce çıkardığınız klasörü açın

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

1123333 37
1123333 37

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

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

Bölüm 5/5: Robotları Programlama

1123333 38
1123333 38

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

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

1123333 39
1123333 39

Adım 2. Robotunuzu geliştirmek için aşağıdaki kodu yapıştırın veya yapıştırın

Aşağıdaki kod Arduino'nuzu devam ettirecektir.

#include // programa “Servo” kütüphanesini ekler // aşağıdaki komut iki servo nesnesi oluşturur Servo leftMotor; Servo sağMotor; geçersiz kurulum() { leftMotor.attach(12); // servonuzun 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); // 360 derecelik bir dönüşle (sürekli dönüş), 180 sayısı servoya tam hızda “ileri” hareket etmesini söyler. sağMotor.write(0); // her iki değer de 180 ise servo ters çevrildiği için robot bir daire içinde dönecektir. "0", robota tam hızda "geri" hareket etmesini söyler. }

1123333 40
1123333 40

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

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

Program yüklendikten sonra robot ileriye doğru yürümeye devam edeceğinden robotu yüzeyden kaldırmak isteyebilirsiniz

1123333 41
1123333 41

Adım 4. Bir durdurma anahtarı işlevi ekleyin (kilit anahtarı)

"write()" işlevinin üstüne bir durdurma anahtarı işlevi eklemek için kodunuzun "void loop()" bölümüne aşağıdaki kodu ekleyin.

if(digitalRead(2) == HIGH) // Arduino pin 2'de butona basıldığında bu komut çalışır { while(1) { leftMotor.write(90); // "90", servonun sağa dönmeyi durdurmasını söyleyen servo için nötr konumdurMotor.write(90); } }

1123333 42
1123333 42

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

Durdurma anahtarı kodu zaten eklenmiş olarak, kodu yükleyebilir ve robotu test edebilirsiniz. Robotun durmasına neden olacak durdurma anahtarı düğmesine basana kadar robot ilerlemeye devam etmelidir. Tam kod şöyle görünecek:

#include // aşağıdaki komut iki Servo leftMotor servo nesnesi oluşturur; 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); }

Örnek

Aşağıdaki kod, robot bir engelle karşılaştığında sola dönmesini sağlamak için robot üzerine kurulu sensörleri kullanacaktır. Her parçanın nasıl kullanılacağına ilişkin ayrıntılar için koddaki açıklamalara bakın. Aşağıdaki kod programın tamamıdır.

#include Servo solMotor; Servo sağMotor; const int serialPeriod = 250; // bu kod konsol çıktı gecikmesinin her 1/4 saniyede bir (250 ms) işaretsiz uzun süre olmasını verirSerialDelay = 0; const int döngüPeriod = 20; // bu kod, sensör okuma frekansını 20 ms'ye ayarlar, bu da 50 Hz işaretsiz uzun timeLoopDelay = 0; // bu kod Arduino üzerindeki pinlere TRIG ve ECHO fonksiyonlarını atar. Rakamları farklı bir şekilde bağlarsanız burada ayarlayın const int ultrasonic2TrigPin = 8; const int ultrasonik2EchoPin = 9; int ultrasonik2Mesafe; int ultrasonik2Süre; // bu kod iki olası robot durumunu tanımlar: ileri devam et veya sola dön #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int durum = DRIVE_FORWARD; // 0 = ileri devam (DEFAULT), 1 = sola dön void setup() { Serial.begin(9600); // bu sensör pin konfigürasyonunu belirler pinMode(ultrasonic2TrigPin, OUTPUT); pinMode(ultrasonic2EchoPin, INPUT); // bu, motoru Arduino pinlerine leftMotor.attach(12) atar; sağMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // bu kod bir ''dur'' algılar { while(1) { leftMotor.write(90); sağMotor.write(90); } } debugOutput(); // bu kod hata ayıklama mesajlarını seri konsola yazdırır if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // bu kod sensöre ölçülen mesafe hakkındaki verileri okuması ve saklaması talimatını verir stateMachine(); timeLoopDelay = millis(); } } void stateMachine() { if(durum == DRIVE_FORWARD) // herhangi bir engel algılanmazsa { if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // robotun önünde hiçbir şey yoksa. ultrasonikMesafe bazı ultrasonikler için engel yoksa 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öndürmek yaklaşık 0,5 saniye sürer. Tekerleklerinizin boyutu örnekteki boyuttan farklıysa bu değeri ayarlamanız gerekebilir unsigned long turnStartTime = millis(); // robot dönmeye başladığında koşulu koru while((millis()-turnStartTime) < timeToTurnLeft) // timeToTurnLeft (500) geçene kadar bu döngüyü sürdür { // sola dön, ikisi de "180" olduğunda hatırla, robot dönecek. 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 komutu değiştirmeniz gerekebilir. digitalWrite(ultrasonic2TrigPin, YÜKSEK); gecikmeMikrosaniye(10); // TRIG pinini en az 10 mikrosaniye için yukarı çekin 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: