Mundarija:
- 1 -qadam: ehtiyot qismlarni olish
- 2 -qadam: simlarni ulash
- 3 -qadam: narsalarni oldindan kodlash
- 4 -qadam: kod
- 5 -qadam: ish
Video: Hazil tank: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu men XKU maktabida qilgan loyiham, bizdan Arduino Uno yordamida biror narsa qilishimiz kerak edi. Men o'zim yoqtiradigan, odamlarni kuldiradigan biror narsa qilishni xohlardim. Shunday qilib, siz hazil qiladigan hazil qutisini yasashga qaror qildingiz, lekin bu sizga qanday hazil berdi, shu vaqtning o'zida bir nechta sensorli modullar o'lchaganiga bog'liq. Shaxsiy bo'lish uchun men uni tank qilishga qaror qildim.
1 -qadam: ehtiyot qismlarni olish
Ushbu loyihani qayta tiklash uchun sizga kerak bo'ladigan qismlar bo'ladi
- Arduino IDE bilan ishlaydigan 1x kompyuter
- 1 marta Arduino Uno
- Arduino Uno uchun 1x usb ulagich kabeli
- 1x Sonar sensori
- 1x karnay (yaxshi sifatli, (bluetooth karnayidan chiqarganimni ishlatganman)).
- 1x LM386 kuchaytirgich moduli (buni o'zingiz qilishingiz mumkin, lekin men modul ishlatganman).
- 1x LM393 mikrofoni
- 1x LDR
- 1x LED (har qanday rang bo'ladi, lekin men ko'k rangdan foydalanganman).
- 4x 1kΩ qarshilik
- 1x2, 7kΩ qarshilik
- 1x non paneli
- 1x micro SD -karta (yaxshisi kichik (1 yoki 2 gb)).
- 1x quvvat matkapi.
- 1x 16 mm burg'ulash boshi (tercihen metall burg'ulash uchun qilingan).
- 1x9 mm burg'ulash boshi (shuningdek, metall burg'ulash uchun qilingan).
- 1x 1 mm burg'ulash boshi (yana metall burg'ulash uchun afzal qilingan).
- 1x model tank (men 1:35 o'lchovli leopard 2 dan foydalanardim, lekin boshqa holatlar ham yaxshi bo'lishi kerak).
- Super yopishtiruvchi / issiq yopishtiruvchi
- va ba'zi simlar, tercihen turli ranglarda.
- kabel aloqasi (ixtiyoriy).
2 -qadam: simlarni ulash
Biz simlarni ishga tushirishimiz kerak, bu rasmni qanday ulash kerakligi haqidagi texnik rasm, bu sizning rejangiz bo'lib xizmat qilishi kerak. Eslatma: Barcha Arduino portlari har bir port uchun AP# deb nomlangan. Arduino - AP4, A0 - APA0, 6 - port - AP6 ~ va boshqalar. Boshqa barcha portlar modullarda paydo bo'lganidek nomlanadi.
3 -qadam: narsalarni oldindan kodlash
Endi biz kodni ishlatishni boshlashdan oldin, ba'zi ma'lumotlarga muhtojmiz. Men sizga mana shu qo'llanmani 2 dan 4 bosqichgacha kuzatib borishni tavsiya qilaman.
www.electronoobs.com/eng_arduino_tut8.php
Ammo biz uning kodini ishlatmaymiz, chunki biz o'zimizning kodimizni ishlatamiz, shuni esda tutingki, ba'zi karnaylar turli chastotalardan foydalanadilar, mening karnayim 16 bitli 32 kHz audio fayllardan foydalangan. Shunday qilib, agar sizning nutqingiz qandaydir shovqin qilsa, lekin fayllaringizni o'ynatmasa, chastotangiz bilan o'ynashga harakat qiling.
4 -qadam: kod
Endi biz kodni arduino -ga yuklamoqchimiz, bularning barchasini nusxa ko'chiring va Arduino IDE -ga o'tkazing va Arduino -ga yuklang.
// SD -kartani o'quvchi kutubxonasini o'z ichiga oladi.#include "Wtv020sd16p.h" // sonar sensori uchun zarur kutubxonani o'z ichiga oladi. #include // Arduino uchun pinlarni o'rnatadi. int resetPin = 4; int clockPin = 5; int dataPin = 6; int bandPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // SD -karta kutubxonasi uchun pinlarni o'rnatadi. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Sonar sensorlar kutubxonasi pinlarini o'rnatadi. NewPing sonar (11, 10); // Boshqa kirishni o'rnatadi va dasturning bit tezligini o'rnatadi. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Dasturning asosiy qismi. void loop () {// inter LightDetectedVal = analogRead (lightDetectedPin) oralig'ini o'rnatadi; int masofaVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Loyiha karnaydan foydalanishda davom etmasligi uchun kechiktiring. kechikish (30000); // Sensor modullari qanday qiymatlarni qabul qilishini osongina ko'rish uchun ketma -ket bosma va bosma chiziqlar. Serial.print ("Ovoz qiymati:"); // Dastur qiymatlarga qarab turli xil audiofayllarni o'ynashi uchun sensorli modullar yordamida o'lchanadi. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Masofa:"); if (masofaVal == 0) {Serial.println (masofaVal); Serial.print ("Yorug'lik qiymati:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Yana bir ketma -ket chop etish, siz aniq audio fayl qanday ijro etilganini ko'rishingiz mumkin. Serial.println ("1 --------"); // Ovozli faylni to'liq uzunlikda ijro etish uchun yana bir kechikish. kechikish (5000); } if if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); kechikish (5000); } if if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); kechikish (5000); } if if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); kechikish (5000); } if if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); kechikish (5000); } if if (lightDetectedVal> = 500 || lightDetectedVal 0 || masofaVal == NULL) {Serial.println (distanceVal); Serial.print ("Yorug'lik qiymati:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); kechikish (5000); } if if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); kechikish (8000); } if if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); kechikish (5000); } if if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); kechikish (8000); } if if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); kechikish (6000); } if if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); kechikish (5000); } if if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); kechikish (5000); } if if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); kechikish (5000); } if if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); kechikish (5000); } if if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); kechikish (5000); } if if (lightDetectedVal> = 500 || lightDetectedVal 0 || masofaVal == NULL || masofaVal> = 150) {Serial.println (distanceVal); Serial.print ("Yorug'lik qiymati:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); kechikish (5000); } if if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); kechikish (5000); } if if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); kechikish (5000); } if if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); kechikish (5000); } if if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); kechikish (5000); } boshqa if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); kechikish (5000); }}}}
5 -qadam: ish
Endi haqiqiy murakkab qism keladi.
Bularning barchasini o'rnatish biroz qiyin bo'lishi mumkin, bu sizning hamma narsani taxtangizga qanday o'rnatganingizga yoki narsalarni qanday qilib lehimlaganingizga bog'liq. Ammo datchiklar bir -biriga yopishishi uchun siz bir nechta teshik qilishingiz kerak. Men mikrofonni (9 mm matkap kerak) va sonar modulini (6 mm burg'ulash kerak) tankning old qismiga va LDRni tankning old qismiga qo'ydim, lekin agar sizda bo'sh joy bo'lsa, ularni xohlagan vaqtda qo'yishingiz mumkin.
Arduino -ni ulagich kabeliga ulash uchun model korpusidagi teshikni kesib oling.
Men karnayni minora ichiga joylashtirishni tavsiya qilaman. chunki u erda ko'p joy qolishi kerak.
Leopard 2 modelida lehimlangan arduino va bosmani men qanday o'rnatganman, o'ngdagi rasmda simlarning ko'p qismi o'rnatilgan.
Siz qila oladigan narsa - Arduino -ni kabel bog'lamlari bilan mahkamlash uchun modelning pastki qismida kichik teshiklarni burg'ulash.
Lekin adashmagan bo'lsam, buni hozir qilish kerak.
Tavsiya:
Arduino SN7300 Sinoning uchun arzon akril robotli tank shassisi: 6 qadam
Arduino SN7300 Sinoning uchun arzon akril robotli tank shassisi: Arduino SN7000 Sinoning uchun arzon akril tank shassisi: SINONING ROBOT TANK
WiFi neft tank monitor: 6 qadam (rasmlar bilan)
WiFi yog 'tanklari monitor: Isitish moyi idishida qancha yoqilg'i qolganligini tekshirishning bir necha yo'li mavjud. Qishning sovuq kunida o'lchash yo'lini ishlatish juda oddiy, ammo unchalik qiziq emas. Ba'zi tanklarga ko'rish naychasi o'rnatilgan bo'lib, u yana to'g'ridan -to'g'ri ko'rsatma beradi
Qanday qilib SMARS robotini yaratish mumkin - Arduino Smart Robot Tank Bluetooth: 16 qadam (rasmlar bilan)
Qanday qilib SMARS robotini yaratish mumkin - Arduino Smart Robot Tank Bluetooth: Ushbu maqola PCBWAY.PCBWAY tomonidan g'urur bilan homiylik qilinadi va butun dunyodagi odamlar uchun yuqori sifatli PCB prototipini yaratadi. O'zingizni sinab ko'ring va PCBWAY -da atigi 5 dollarga 10 ta tenglikni oling, juda yaxshi sifat, rahmat PCBWAY. Arduino Uno uchun motor qalqoni
Tank uchun DIY platformasi - Bluetooth nazorati + chiziqdagi harakat: 8 qadam
Tank uchun DIY platformasi - Bluetooth nazorati + chiziqdagi harakat: Arduino uchun DIY tank platformasi - Bluetooth nazorati (Android App Inventor 2 -dagi mobil ilova) + oflayn rejim - Robofest musobaqalari sxemalarida chiziq bo'ylab harakatlanish
Cheksiz hazil: 7 qadam (rasmlar bilan)
Cheksiz hazil: robot qo'lqop tomonidan boshqariladigan aylanadigan mashina. Hech qachon tugamaydigan o'yin -kulgi