Mündəricat:
- Təchizat
- Addım 1: 3D Çap: Bədən, Təkərlər, Mərmər Döküm, 6 mm Bolt/qoz və Ultrasonik Sensor Dağı
- Addım 2: Arduino proqramlaşdırın
- Addım 3: Robotu yığın
- Addım 4: Sensor tellərini bağlayın
- Addım 5: Bitdi !!! 9V Arduino Güc Təchizatına qoşun, Batareya Paketini yandırın və OAREE ilə maneələrdən qaçmağa başlayın
Video: OAREE - 3D Çaplı - Arduino ilə Mühəndislik təhsili üçün maneələrdən qaçan robot (OAREE): 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
OAREE (Mühəndislik təhsili üçün maneələrdən qaçan robot)
Dizayn: Bu təlimatın məqsədi sadə/kompakt, 3D çap edilə bilən, yığılması asan, hərəkəti üçün davamlı fırlanma servolarından istifadə edən və mümkün qədər az satın alınan hissəyə malik olan OAR (Maneələrdən Qaçan Robot) robotu dizayn etmək idi. İnanıram ki, bu möhtəşəm robotu yaratmağa müvəffəq oldum və ona OAREE (Mühəndislik təhsili üçün maneə törədən robot) adını verdim. Bu robot maneələri hiss edəcək, dayanacaq, sola və sağa baxacaq, sonra maneəsiz istiqamətə dönəcək və irəli davam edəcək.
Ümumi məlumat: İnternetdə robotların qarşısını almaq üçün çoxsaylı maneələr var, lakin əksəriyyəti həcmli, yığılması çətin və bahalıdır. Bu robotların çoxunda Arduino kodu verilir, amma yaxşı düşünülmüş, işləyən bir nümunə tapmaq çətindi. Hələ edilməmiş təkərlər üçün (DC mühərrikləri əvəzinə) davamlı fırlanma servolarından istifadə etmək istədim. Beləliklə, dünya ilə bölüşmək üçün yığcam, ixtiraçı OAR robotu hazırlamaq missiyasına başladım.
Əlavə İnkişaf: Bu robot daha yaxşı pinq dəqiqliyi, xətt izləmə qabiliyyəti üçün IR sensorlar, maneə məsafəsini göstərmək üçün LCD ekran və daha çox şeylər üçün daha da inkişaf etdirilə bilər.
Təchizat
- 1x Arduino Uno -
- 1x V5 Sensor Qalxanı -
- Açma/Dəyişdirmə ilə 1x 4xAA Batareya Tutacağı -
- 1x SG90 Servo -
- 2x Davamlı Dönmə Servosu -
- Arduino üçün 1x 9V Batareya Güc Kabeli (İSTEĞE BAĞLI) -
- 1x HC -SR04 Ultrasonik Sensor -
- 4x Qadın-Qadın Jumper Telləri-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2x rezin bantlar
- 1x 9V Batareya (İSTEĞE BAĞLI)
- 4x AA Batareyalar
- 4x Kiçik Vidalar (4 x 1/2 və ya buna bənzər bir şey)
- Phillips tornavida
- Rezin bantları təkərlərə bağlamaq üçün yapışqan
Addım 1: 3D Çap: Bədən, Təkərlər, Mərmər Döküm, 6 mm Bolt/qoz və Ultrasonik Sensor Dağı
3D çap üçün 5 hissə var.
- Bədən
- Təkərlər
- Mərmər tökmə
- 6 mm Bolt/Somun (isteğe bağlı olaraq, metal qoz/boltla əvəz edilə bilər)
- Ultrasonik Sensor Dağı
Bütün tələb olunan. STL faylları bu təlimatlandırıcıya və Sketchup fayllarına daxil edilir. 40% doldurmaq məsləhətdir.
Addım 2: Arduino proqramlaşdırın
Arduino UNO -ya Kod Göndərin: Arduino IDE -dən istifadə edərək kodu (əlavə edilmiş faylda) Arduino modulunuza göndərin. Bu eskizlə servo.h və newping.h kitabxanalarını yükləməli və daxil etməlisiniz.
Kod hərtərəfli şərh olunur, buna görə hər bir əmrin nə etdiyini görə bilərsiniz. İstəsəniz Ultrasonik Sensor məsafəsini daha böyük və ya daha kiçik bir dəyərə dəyişə bilərsiniz. Bu ilkin koddur və genişləndirilməli və layihənin daha da inkişafı üçün istifadə edilməlidir.
// ROBOTDAN KAÇINMAYAN MƏNCİLƏLƏR // [email protected], [email protected], Chattanooga TN Universiteti, Elektrik Mühəndisliyi, GÜZ 2019 // Lazım olan materiallar: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 Ultrasonik Sensor, 4) FS90 Servo (Ultrasonik Sensor üçün) // 5 və 6) 2x Təkərlər üçün 2X SÜREKLİ DÖNDÜRMƏ SERVOLARI // 7) Arxa təkər döngəsi üçün 16 mm Mərmər, 8 və 9) Təkərlər üçün 2 rezin bant // 10- 15) 1x (4xAA) Açma/söndürmə açarı olan batareya tutacağı, 16 və 17) Arduino UNO -ya qoşulan 9V batareya // 3D PRINT: // 18) ROBOT Korpusu, 19 və 20) 2x Təkərlər, 21) Mərmər Döküm, 22) Ultrasonik Sensor Montaj və 6 mm vida (əlavə edilmiş fayllara baxın) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #daxil edin // Servo Kitabxanasını daxil edin #daxil edin // Newping Kitabxanasını daxil edin // ------------------------------------------- -------------------------------------------------- ------------------------------------ #tetikleyici_pini təyin edin 1 2 // ABŞ tetikleyicisi Arduino'da 12 pin təyin edəcək #define ECHO_PIN 13 // US Echo, Arduino'da 13 pin təyin etmək üçün #define MAX_DISTANCE 250 // Pingə qədər olan məsafə (maksimum 250) int məsafə = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------- Servo US_Servo; // Ultrasonik Sensor Servo Servo Left_Servo; // Sol Təkər Servo Servo Sağ_Servo; // Sağ Təkər Servo NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Sancaqlar və maksimum məsafənin NewPing qurulması. // ------------------------------------------------ -------------------------------------------------- ------------------------------- void quraşdırma () // GİRİŞ/ÇIKIŞLAR, HARA ATAKSINIZ, İLK MÖVQE/HƏRƏKƏT {pinMode (12, ÇIXIŞ); // Tətik pin pinMode (13, INPUT) olaraq təyin edildi; // US_Servo.attach (11) girişi olaraq təyin olunan yankı pin; // US Servo 11 US_Servo.write (90) sancağına təyin edildi; // US SERVO İLƏ BAXIR
Left_Servo.attach (9); // Sol təkər servosu pin 9 -a
Left_Servo.write (90); // LEFT WHEEL SERVO DURDUR
Right_Servo.attach (10); // Sağ Təkər servosu pin 10 -a təyin edildi
Right_Servo.write (90); // RIGHT WHEEL SERVO STOP gecikməsini təyin etdi (2000); // 2 saniyə gözləyin məsafə = readPing (); // Düz irəli mövqe gecikməsində Ping Məsafəsi alın (100); // 100 ms MoveForward () gözləyin; // ROBOT İLƏ HƏRƏK EDİR} // ------------------------------------------ -------------------------------------------------- ------------------------------------- void loop () {int distanceRight = 0; // 0 məsafədə ABŞ məsafəsini sağa başlayınLift: 0; // 0 -dan sola ABŞ məsafəsini başladın //US_Servo.write(90); // Center US servo // delay (50); // US_Servo.write (70); // Biraz Sağa Bax // gecikmə (250); // US_Servo.write (110); // Biraz Sola Bax // gecikmə (250); // US_Servo.write (90); // Mərkəzə baxın
if (məsafə <= 20) // Robot HAREKETLİDİR {moveStop (); // Robot məsafədə dayanır = məsafəSol) // Hansı istiqamətə dönəcəyinizə qərar verin {turnRight (); // Sağ tərəf ən böyük məsafəyə malikdir, ROBOT 0.3 saniyə gecikmə üçün sağa dönür (500); // Bu Gecikmə növbənin uzunluğunu müəyyən edir moveStop (); // Robot STOPS} başqa {turnLeft (); // Sol tərəfdəki ən böyük məsafə, ROBOT 0.3s gecikmə üçün SOLU AÇIR (500); // Bu Gecikmə növbənin uzunluğunu müəyyən edir moveStop (); // Robot STOPS}} başqa {moveForward (); // Robot İLƏ HƏRƏKAT edir} məsafə = readPing (); // ABŞ yeni səyahət istiqaməti üçün YENİ PING oxuyur} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // Ultrasonik Sensor SAĞ FUNKSİYA BAXIN {US_Servo.write (30); // ABŞ servosu bucaq gecikməsinə doğru hərəkət edir (500); int məsafəsi = readPing (); // Sağ gecikmə üçün ping dəyərini təyin edin (100); US_Servo.write (90); // ABŞ servosu MƏRKƏZƏ QAYDARMA məsafəsi; // Məsafə təyin edildi} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int lookLeft () // Ultrasonik Sensor SOL FUNKSİYASINA GÖRÜN {US_Servo. yazın (150); // ABŞ servo bucağı gecikdirmək üçün sola hərəkət edir (500); int məsafəsi = readPing (); // Sol gecikmə üçün ping dəyərini təyin edin (100); US_Servo.write (90); // ABŞ servosu MƏRKƏZƏ QAYDARMA məsafəsi; // Məsafə təyin edildi} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int readPing () // Ultrasonik Sensor üçün Ping Function oxuyun. {gecikmə (100); // pinglər arasında 100 ms (min ping vaxtı = 0,29 ms) int cm = sonar.ping_cm (); // PING məsafəsi toplanır və sm ilə təyin olunur, əgər (cm == 0) {cm = 250; } sm qaytar; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 irəli, 0 tərs Sağ_Servo.write (90); // RightServo 0 irəli, 180 tərs} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // İLƏ ROBOT {Sol_Servo.yaz (180); // LeftServo 180 irəli, 0 tərs Sağ_Servo.write (0); // RightServo 0 irəli, 180 tərs} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Sol_Servo. yaz (0); // LeftServo 180 irəli, 0 tərs Sağ_Servo.write (180); // RightServo 0 irəli, 180 tərs} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Sol_Servo.yaz (180); // LeftServo 180 irəli, 0 tərs Sağ_Servo.write (90); // RightServo 0 irəli, 180 tərs} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT SOL {Sola_Servo.yaz (90); // LeftServo 180 irəli, 0 tərs Sağ_Servo.write (0); // RightServo 0 irəli, 180 tərs} // --------------------------------------- -------------------------------------------------- ----------------------------------------
Addım 3: Robotu yığın
Robotunuzu bir yerə yığmağın vaxtı gəldi. Addımlar aşağıda verilmişdir.
1) Təkərlərə Dairəvi Servo Disk və Kauçuk Bantlar bağlayın: Bütün servolar plastik montaj aparatları və vintlər ilə gəlir. Dəyirmi diskləri tapın və təkərlərin düz tərəfindəki iki çuxura vidalayın. Rezin bantlar tutuşu təmin etmək üçün təkərin ətrafına oturur. Kauçuk bantları yerində saxlamaq üçün bir az yapışqan əlavə etmək istəyə bilərsiniz.
2) Mərmər Döküm Əlavəsi: Mərmər tökəni arxadakı iki üçbucağa bağlamaq üçün iki kiçik vida istifadə edin. Mərmər tökmə arxa təkər üçün sadə bir əvəzdir və arxa dönmə nöqtəsi təmin edir.
3) Servoları yuvalara daxil edin (vintlərə ehtiyac yoxdur): FS90 Servo (Ultrasonik Sensor üçün) gövdənin ön yuvasına yerləşdirin. İki davamlı fırlanma servosu sola və sağa sürüşür. Yuvalar möhkəm oturmaq üçün nəzərdə tutulmuşdur, belə ki, servoları yerində saxlamaq üçün heç bir vida tələb olunmur. Servo tellərin gövdənin arxasına baxacaq şəkildə yuvaların yivlərindən keçdiyinə əmin olun.
4) 9V Batareyanın Yerləşdirilməsi (İSTEĞE BAĞLI): 9V batareya + Arduino güc konnektorunu ön servonun arxasına yerləşdirin.
5) Ultrasonik Sensor Montajı Qurğusu: Daxili ağ plastik servo əlavələrdən birini Ultrasonik Sensor montaj lövhəsinin altına bağlamaq üçün iki kiçik vida istifadə edin. Sonra, Ultrasonik Sensor korpusunu montaj lövhəsinə bağlamaq üçün 3D çaplı 6 mm bolt/qozdan (və ya metal bolt/qozla əvəz edin) istifadə edin. Nəhayət, sancaqları yuxarıya doğru baxaraq kassaya yerləşdirin və qutunun arxasına yapışdırın.
6) 4x AA Batareya Çantası: AA batareya qutusunu açma/söndürmə açarı arxaya baxaraq böyük düzbucaqlı bir yerə qoyun.
7) Arduino Uno + V5 Sensor Shield: Qalxanı Arduinoya bağlayın və batareya korpusunun üstündəki dayaqlara yerləşdirin. Güc konnektoru sola baxmalıdır.
Robotunuz quruldu! Nə qaldı? Arduino və Bağlayıcı Jumper Tellərinin Proqramlaşdırılması: Servolar, Ultrasonik Sensor və Güc Təchizatı.
Addım 4: Sensor tellərini bağlayın
Servo tellərini V5 Shield -ə qoşun:
- Sol Davamlı Dönmə Servo PİN 9 -a bağlanır
- Sağ Davamlı Dönmə Servo PİN 10 -a bağlanır
- Ön FS90 Servo PİN 11 -ə qoşulur
Ultrasonik Sensor Pimlərini (4x Dişi ilə Dişi Jumper Telləri vasitəsilə) V5 Shield -ə qoşun:
- PIN 12 -ni işə salın
- PIN 13 -ə təkrarlayın
- 'V' ilə işarələnmiş hər hansı bir pin üçün VCC
- 'G' ilə işarələnmiş hər hansı bir pin üçün əsas
AA Batareya Kassasını V5 Qalxanına qoşun:
- Müsbət, qırmızı teli VCC bağlayıcısına bağlayın
- Zəmin bağlantısına mənfi, qara teli bağlayın
Addım 5: Bitdi !!! 9V Arduino Güc Təchizatına qoşun, Batareya Paketini yandırın və OAREE ilə maneələrdən qaçmağa başlayın
Bitdi !
1) 9V Arduino enerji təchizatını qoşun (İsteğe bağlı)
2) Batareya paketini yandırın
3) OAREE ilə maneələrdən qaçmağa başlayın !!!
Əminəm ki, yeni bir dostunuz olan OAREE -ni, bir maneə hiss etdiyini, geri çəkiləcəyini və istiqamətini dəyişdiyini izlədikdən sonra onu sevəcəksiniz. OAREE, Ultrasonik Sensorun (divarlar kimi) çıxa biləcəyi böyük obyektlərlə ən yaxşı işləyir. Kiçik səth sahəsi və küncləri səbəbindən kürsü ayaqları kimi xırda əşyaları sıxmaqda çətinlik çəkir. Zəhmət olmasa paylaşın, daha da inkişaf etdirin və lazım olan düzəlişlər və ya səhvlər barədə mənə bildirin. Bu böyük bir öyrənmə təcrübəsi oldu və ümid edirəm ki, bu layihəni mənim etdiyim qədər çox əylənəcəksiniz!
Robototexnika Yarışmasında 2 -ci yer
Tövsiyə:
DIY BB8 - Tam 3D Çaplı - 20sm Çaplı Real Ölçünün İlk Prototipi: 6 Addım (Şəkillərlə)
DIY BB8 - Tam 3D Çaplı - 20 sm Çaplı Real Ölçünün İlk Prototipi: Hər kəsə salam, bu mənim ilk layihəmdir, buna görə də sevdiyim layihəni bölüşmək istədim. Bu layihədə 20 sm diametrli tamamilə 3D printerlə istehsal olunan BB8 istehsal edəcəyik. Əsl BB8 ilə eyni hərəkət edən bir robot quracağam
Ağır yük daşımaq üçün maneələrdən qaçınmaq üçün robot: 6 addım
Ağır yük daşımaq üçün maneələrdən qaçınmaq üçün robot: Bu, oğlumun rokçusunu daşımaq üçün yaradılan maneələrdən qaçmaq robotudur
Digital IC Tester (Sənaye və Mühəndislik Kollecləri üçün) Shubham Kumar, UIET, Panjab Universiteti: 6 addım (şəkillərlə)
Shubham Kumar, UIET, Panjab Universiteti tərəfindən Digital IC Test Cihazı (Sənaye və Mühəndislik Kollecləri üçün): Digital IC Test cihazının tətbiqi və işlənməsi (CMOS və TTL IC -lər üçün): ÖZET: Hər bir elektron dövrənin əsas komponenti olan IC -lər istifadə edilə bilər. geniş məqsəd və funksiyalar üçün. Ancaq bəzən səhv IC -lər səbəbiylə dövrə işləmir
Boe-Bot: maneələrdən qaçınmaq üçün robot: 6 addım
Boe-Bot: Maneə Önləmə Robotu: Bu kiçik robot maneələri aşkar etmək üçün bığlarından istifadə edir. Bığlarından biri və ya hər ikisi tetiklendiğinde, geri çəkilir və fərqli bir istiqamətə dönür. Əks halda irəli gedir. 4 AA batareya ilə işləyən Paralax anakartı bu kiçik
Şəxsiyyətli Maneələrdən Qaçan Robot !: 7 Adım (Şəkillərlə)
Şəxsiyyətli Maneələrdən Kaçınan Robot !: Əksər rouminq 'botlarından fərqli olaraq, əslində' düşünən 'kimi görünən bir şəkildə dolaşır! BASIC Stamp mikrokontrolörüylə (Basic Atom, Parallax Basic Stamps, Coridium Stamp və s.), Bir növ şassi, bir neçə sensorlar və bəziləri