Talaan ng mga Nilalaman:
- Hakbang 1: Pagkuha ng Mga Bahagi
- Hakbang 2: Mga kable
- Hakbang 3: Mga Bagay na Pre Code
- Hakbang 4: Code
- Hakbang 5: Ang Kaso
Video: Joking Tank: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ito ay isang proyekto na ginawa ko sa aking paaralan ang HKU, na kinakailangan upang gumawa kami ng isang bagay sa isang Arduino Uno. Nais kong gumawa ng isang bagay na magagawa ang aking paboritong bagay, magpatawa ng mga tao. Napagpasyahan na gumawa ng isang kahon ng biro na magbibigay sa iyo ng isang biro, ngunit kung anong biro ang ibinigay sa iyo ay nakasalalay sa kung ano ang sinusukat ng isang pares ng mga module ng sensor sa tiyak na sandali sa oras. Upang gawing mas personal ito ay nagpasya akong gawin itong isang tank.
Hakbang 1: Pagkuha ng Mga Bahagi
Ang mga bahagi na kakailanganin mo upang muling likhain ang proyektong ito
- 1x computer na may kakayahang magpatakbo ng Arduino IDE
- 1x Arduino Uno
- 1x usb connector cable para sa Arduino Uno
- 1x Sonar sensor
- 1x Speaker (mas kanais-nais na isa sa disenteng kalidad (, Ginamit ko ang isa na inilabas ko mula sa isang bluetooth speaker)).
- 1x LM386 Amplifier module (posible na gawin ito sa iyong sarili ngunit gumamit ako ng isang module).
- 1x LM393 Mikropono
- 1x LDR
- 1x LED (anumang kulay ang magagawa ngunit gumamit ako ng asul).
- 4x 1kΩ risistor
- 1x 2, 7kΩ risistor
- 1x Breadboard
- 1x micro SD card (mas mabuti na maliit (1 o 2 gb)).
- 1x Power drill.
- 1x 16mm drillhead (mas mabuti na ginawa para sa pagbabarena na metal).
- 1x 9mm drillhead (mas mabuti ring ginawa para sa pagbabarena na metal).
- 1x 1mm drillhead (muli mas mabuti na ginawa para sa pagbabarena ng metal).
- 1x Model tank (Gumamit ako ng 1:35 scale leopard 2 ngunit ang iba pang mga kaso ay dapat na pagmultahin din).
- Superglue / hotglue
- at medyo ilang mga wire na mas mabuti sa iba't ibang mga kulay.
- mga kurbatang kurdon (opsyonal).
Hakbang 2: Mga kable
Kailangan nating magsimula sa mga kable, ang imahe ay isang teknikal na pagguhit kung paano dapat i-wire ang lahat. Dapat itong magsilbing iyong blueprint. Tandaan: Ang lahat ng mga port ng Arduino ay pinangalanang AP # para sa bawat port. Kaya ang ika-4 na port sa Ang Arduino ay AP4, ang port A0 ay APA0 at ang port 6 ~ ay AP6 ~, atbp. Lahat ng iba pang mga port ay pinangalanan na lumitaw sa kanilang mga module mismo.
Hakbang 3: Mga Bagay na Pre Code
Ngayon bago namin masimulan ang paggamit ng code kailangan namin ng ilang stuf. Inirerekumenda ko sa iyo na sundin ang tutorial na ito ng tao mula sa hakbang 2 hanggang 4
www.electronoobs.com/eng_arduino_tut8.php
Gayunpaman hindi namin gagamitin ang kanyang code dahil gagamitin namin ang aming sariling Mangyaring tandaan na ang ilang tagapagsalita ay gumagamit ng iba't ibang mga frequency. Gumamit ang aking speaker ng 16-bit 32kHz audio file. Kaya't kung ang iyong pagsasalita ay gumagawa ng isang uri ng ingay ngunit hindi nagpe-play ng iyong mga file pagkatapos subukang i-play ang iyong dalas.
Hakbang 4: Code
Ngayon ay i-a-upload namin ang code sa arduino. Kopyahin ang lahat ng ito at ipasa ito sa Arduino IDE at i-upload ito sa iyong Arduino.
// may kasamang library para sa SD card reader. # isama ang "Wtv020sd16p.h" // kasama ang library na kinakailangan para sa sonar sensor. #include // Itinatakda ang mga pin para sa Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Itinatakda ang mga pin para sa SD card library. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Itinatakda ang mga pin para sa Sonar sensor library. NewPing sonar (11, 10); // Itinatakda ang iba pang mga input at itinatakda ang bitrate ng programa. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Pangunahing bahagi ng programa. void loop () {// Itinatakda ang intergers int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Pagkaantala upang ang proyekto na ang proyekto ay walang humpay na panatilihin ang paggamit ng nagsasalita. pagkaantala (30000); // Mga serial na naka-print at naka-print na linya upang madali mong makita kung anong mga halaga ang kinuha ng mga module ng sensor. Serial.print ("Halaga ng Tunog:"); // Maramihang kung mga pahayag upang ang programa ay nagpe-play ng iba't ibang mga audio file depende sa mga halaga ay sinusukat ng mga module ng sensor. kung (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Distansya:"); kung (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Magaan na Halaga:"); kung (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Isa pang serial print upang maaari mong makita kung anong eksaktong audio file ang pinatugtog. Serial.println ("1 --------"); // Isa pang pagkaantala upang hayaang tumugtog ang audio file ay buong haba nito. pagkaantala (5000); } iba pa kung (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Magaan na Halaga:"); kung (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); pagkaantala (8000); } iba pa kung (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); pagkaantala (8000); } iba pa kung (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); pagkaantala (6000); } iba pa kung (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Magaan na Halaga:"); kung (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); pagkaantala (5000); } iba pa kung (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); pagkaantala (5000); }}}}
Hakbang 5: Ang Kaso
Dumarating ngayon ang aktwal na kumplikadong bahagi.
Ang paglapat sa lahat ng ito sa kaso ay maaaring maging medyo nakakalito depende ito sa kung paano mo nilagyan ang lahat sa iyong breadboard o kung paano mo magkakasama ang mga bagay. Ngunit kakailanganin mong gumawa ng isang pares ng mga butas para sa mga sensor na dumikit. Inilagay ko ang micorphone (kinakailangan ng 9mm drill) at sonar module (6mm drill na kailangan) sa likuran at ang LDR sa harap ng tanke ngunit maaari mong mailagay ang mga ito nang mabisa kung mayroon kang puwang.
Tiyaking gupitin ang isang butas sa katawan ng modelo upang maikonekta ang iyong arduino sa cable ng konektor.
Inirerekumenda kong ilagay ang nagsasalita sa toresilya. dahil dapat mayroong maraming puwang naiwan doon.
Ang kaliwang imahe sa itaas ay kung paano ko nilagyan ang arduino at ang print na aking na-solder sa loob ng modelo ng Leopard 2. Ang tamang imahe ay isa sa karamihan ng mga kable na nakakabit.
Ang maaari mong gawin ay mag-drill ng maliliit na butas sa ilalim ng modelo upang ma-secure ang Arduino sa mga kurbatang kurbatang.
Ngunit kung hindi ako nagkakamali, dapat ay tapos ka na ngayon.
Inirerekumendang:
Murang Acrylic Robot Tank Chassis para sa Arduino SN7300 Sinoning: 6 Hakbang
Murang Acrylic Robot Tank Chassis para sa Arduino SN7300 Sinoning: Murang Acrylic Tank Chassis para sa Arduino SN7000 Sinoningbuy mula sa: SINONING ROBOT TANK
WiFi Oil Tank Monitor: 6 na Hakbang (na may Mga Larawan)
WiFi Oil Tank Monitor: Mayroong maraming mga paraan upang suriin kung magkano ang natitirang gasolina sa tangke ng langis ng pag-init. Ang pinakasimpleng paraan ay ang paggamit ng isang dipstick, napaka tumpak ngunit hindi gaanong masaya sa isang malamig na araw ng taglamig. Ang ilang mga tanke ay nilagyan ng isang tube ng paningin, muling nagbibigay ng isang direktang pahiwatig o
Paano Bumuo ng SMARS Robot - Arduino Smart Robot Tank Bluetooth: 16 Hakbang (na may Mga Larawan)
Paano Bumuo ng SMARS Robot - Arduino Smart Robot Tank Bluetooth: Ang artikulong ito ay buong kapurihan na nai-sponsor ng PCBWAY. Ang PCBWAY ay gumawa ng mataas na kalidad na mga prototype ng PCB para sa mga tao sa buong mundo. Subukan ito para sa iyong sarili at makakuha ng 10 PCB para sa $ 5 lamang sa PCBWAY na may napakahusay na kalidad, Salamat PCBWAY. Ang Motor Shield para sa Arduino Uno
Remote Control Tank Drive Car: 3 Mga Hakbang
Remote Control Tank Drive Car: Ito ay isang gabay sa kung paano gumawa ng isang remote control tank drive car. Ang set na gagamitin ko upang gawin ang kotse ngayon ay isang simpleng tank drive car kit, na may ilaw na sensor upang sundin ang isang landas. Ang iyong sasakyan ay hindi nangangailangan ng light sensor, ngunit isang tank drive car ang kailangan
DIY Platform para sa Tank - ang Bluetooth Control + Motion sa Linya: 8 Hakbang
DIY Platform para sa Tank - ang Bluetooth Control + Motion on the Line: DIY tank platform para sa Arduino - Bluetooth Control (mobile app sa Android App Inventor 2) + offline mode-gumagalaw kasama ang linya sa mga layout para sa Robofest kumpetisyon