- Mga Kinakailangan:
- Pag-download at Pag-install ng Mga Software:
- Bahagi ng Arduino Hardware at Circuit Diagram:
- Bahagi ng Arduino Software:
- Android Mobile Application para sa Ultrasonic Radar:
- Paggawa ng Paliwanag:
Ito ay isang kagiliw-giliw na proyekto kung saan tuklasin namin ang lakas ng isang Arduino at Android upang lumikha ng isang aparato ng Surveillance na gumagamit ng Arduino at Ultra Sonic Sensor upang i-broadcast ang impormasyon sa isang mobile application (Android) gamit ang Bluetooth.
Ang Kaligtasan at Seguridad ang aming pangunahing alalahanin mula pa noong edad. Ang pag-install ng isang security camera na may night mode na may ikiling at pagpipiliang pan ay masusunog ng isang malaking butas sa aming mga bulsa. Samakatuwid, gumawa tayo ng isang pang-ekonomiyang aparato na halos pareho ngunit walang anumang mga tampok sa video.
Ang aparato ay nakakaramdam ng mga bagay sa tulong ng Ultrasonic Sensor at kaya maaaring gumana kahit sa mga oras ng gabi. Gayundin inilalagay namin ang sensor ng US (Ultra Sonic) sa isang servo motor, ang servo motor na ito ay maaaring maitakda upang paikutin nang awtomatiko upang i-scan ang lugar o maaaring paikutin nang manu-mano gamit ang aming Mobile app, upang maituon namin ang sensor ng ultrasonic ang aming kinakailangang direksyon at pakiramdam ang mga bagay na naroroon doon. Ang lahat ng impormasyong na-sensor ng US sensor ay mai-broadcast sa aming Smart phone gamit ang Bluetooth Module (HC-05). Kaya gagana ito tulad ng isang Sonar o isang Radar.
Nakakainteres diba ??…. Tingnan natin kung ano ang kakailanganin nating gawin sa proyektong ito.
Mga Kinakailangan:
Hardware:
- Isang supply ng kuryente na + 5V (Gumagamit ako ng aking Arduino (isa pang) board para sa supply ng kuryente)
- Arduino Mega (Maaari kang gumamit ng kahit ano mula sa pro mini hanggang sa Yun)
- Servo Motor (anumang rating)
- Bluetooth Module (HC-05)
- Ultra Sonic Sensor (HC-SR04)
- Breadboard (hindi sapilitan)
- Mga kumokonekta na mga wire
- Android mobile
- Computer para sa programa
Software:
- Arduino Software
- Android SDK
- Pinoproseso ang Android (Upang lumikha ng mobile application)
Kapag handa na kami sa aming mga materyales, simulan na nating itayo ang hardware. Inihati ko ang tutorial na ito sa Bahaging Arduino at ang Bahagi ng Pagproseso para sa madaling pag-unawa. Ang mga taong bago sa pagproseso ay hindi dapat matakot ng sobra sapagkat ang kumpletong code ay ibinibigay sa pagtatapos ng tutorial na maaaring magamit tulad nito.
Pag-download at Pag-install ng Mga Software:
Maaaring mai-install ang Arduino IDE mula rito. I-download ang software alinsunod sa iyong OS at i-install ito. Ang Arduino IDE ay mangangailangan ng isang driver upang makipag-usap sa iyong Arduino Hardware. Ang driver na ito ay dapat na awtomatikong mai-install sa sandaling ikonekta mo ang iyong board sa iyong computer. Subukang mag-upload ng isang blink na programa mula sa mga halimbawa upang matiyak na ikaw ay Arduino ay nakabukas at tumatakbo.
Maaaring mai-install ang Processing IDE mula rito. Ang pagpoproseso ay isang mahusay na bukas na application ng mapagkukunan na maaaring magamit para sa maraming mga bagay, mayroon itong iba't ibang mga mode. Sa "Java Mode" maaari kaming lumikha ng mga application ng windows computer (.EXE files) at sa "Android mode" maaari kaming lumikha ng mga Android mobile Applications (.APK file) mayroon din itong iba pang mga mode tulad ng "Python mode" kung saan maaari kang magsulat sa iyo ng mga programang sawa. Ang tutorial na ito ay hindi sasakupin ang mga pangunahing kaalaman sa Pagproseso, kaya't kung nais mong malaman ang pag-program ng java o pagproseso ng ulo sa mahusay na channel sa YouTube dito.
Bahagi ng Arduino Hardware at Circuit Diagram:
Ang proyektong ito ay nagsasangkot ng maraming mga bahagi tulad ng Servo Motor, Bluetooth Module, Ultrasonic Sensor atbp Samakatuwid kung ikaw ay isang ganap na nagsisimula pagkatapos ay inirerekumenda na magsimula sa ilang pangunahing tutorial na nagsasangkot ng mga sangkap na ito at pagkatapos ay bumalik dito. Suriin ang aming iba't ibang mga proyekto sa Servo Motor, Bluetooth Module at Ultrasonic Sensor dito.
Ang lahat ng mga bahagi ay hindi pinalakas ng mismong Arduino sapagkat, ang servo motor, Bluetooth module at US sensor ay sama-sama na kumukuha ng maraming kasalukuyang kung saan hindi makakapagmulan ang Arduino. Samakatuwid mahigpit na ipinapayong gumamit ng anumang panlabas na + 5V supply. Kung wala kang isang panlabas na + 5V supply sa iyong maabot, maaari mong ibahagi ang mga bahagi sa pagitan ng dalawang mga board ng Arduino tulad ng nagawa ko. Ikinonekta ko ang mga riles ng kuryente ng Servos sa isa pang Arduino board (pulang kulay) at konektado ang module ng Bluetooth na HC-05 at sensor ng Ultrasonic HC-SR04 sa Arduino mega. PAG-INGAT: Ang pagpapatakbo ng lahat ng mga modyul na ito na gumagamit ng isang Arduino board ay iprito ang regulator ng boltahe ng Arduino.
Ang diagram ng koneksyon para sa Arduino Base Sonar Project na ito ay ibinibigay sa ibaba:
Kapag nagawa na ang mga koneksyon, i-mount ang sensor ng US sa iyong Servo motor tulad ng ipinakita sa ibaba:
Gumamit ako ng isang maliit na piraso ng plastik na nasa aking basura at isang dobleng tape sa gilid upang mai-mount ang sensor. Maaari kang magkaroon ng iyong sariling ideya upang gawin ang pareho. Mayroon ding mga may hawak na servo na magagamit sa merkado na maaaring magamit para sa parehong layunin.
Kapag na-mount na ang Servo at ibinigay ang mga Koneksyon, dapat itong magmukhang ganito.
Sundin ang mga iskema sa tuktok kung nagkamali ng anumang mga koneksyon. Ngayon simulan nating i-program ang Arduino Mega gamit ang Arduino IDE.
Bahagi ng Arduino Software:
Kailangan naming isulat ang aming code upang makalkula namin ang distansya sa pagitan ng isang object at Ultra Sonic sensor at ipadala ito sa aming mobile application. Kailangan din naming magsulat ng code para walisin ang aming servo motor at makontrol din mula sa data na natanggap ng Bluetooth module. Ngunit huwag mag-alala na ang programa ay mas simple kaysa sa maaari mong imahe, salamat sa Arduino at mga aklatan nito. Ang kumpletong code ay ibinibigay sa ibaba sa seksyon ng code.
Ginagamit ang pagpapaandar sa ibaba upang gawing awtomatikong walisin ang servo motor mula kaliwa hanggang kanan (170 hanggang 10) at muli mula sa kanan papuntang kaliwa (10 hanggang170). Ang dalawa para sa mga loop ay ginagamit upang makamit ang pareho. Ang pagpapaandar sa amin () ay tinawag sa loob ng parehong pag-andar upang makalkula ang distansya sa pagitan ng sensor at ng bagay at i-broadcast ito sa Bluetooth. Ibinibigay ang isang pagkaantala ng 50 ms upang mabagal ang pag-ikot ng servo. Mas mabagal ang pag-ikot ng motor ng tumpak na naging iyong mga pagbabasa.
// ** Function for servo to sweep ** // void servofun () {Serial.println ("Pagwawalis"); // para sa pag-debug para sa (posc = 10; posc <= 170; posc ++) // Ang paggamit ng 10 hanggang 170 degree ay ligtas kaysa 0 hanggang 180 dahil ang ilang servo ay maaaring hindi magamit sa matinding mga anghel {servo.write (posc); // itakda ang posisyon ng pagkaantala ng servo motor (50); kami (); // sukatin ang distansya ng mga bagay na kumakanta ng US sensor} para sa (posc = 170; posc> = 10; posc--) {servo.write (posc); antala (50); kami (); // sukatin ang distansya ng mga bagay na kumakanta ng sensor ng US} Serial.println ("Kumpleto ang Scan"); // for debugging flag = 0; } // ** Pagtatapos ng Servo sweeping function ** //
Tulad ng sinabi nang mas maaga ang servo motor ay maaari ring kontrolin nang manu-mano mula sa smart phone. Kailangan mo lang mag-swipe pakanan upang kumilos ang motor pakanan at mag-swipe pakaliwa upang makaliwa ang motor. Ang pagpapaandar sa itaas ay ginagamit upang makamit ang pareho. Ang anghel ng motor na servo ay direktang tatanggapin ng module ng Bluetooth at maiimbak sa variable na BluetoothData , pagkatapos ang servo ay posisyon sa partikular na anghel sa pamamagitan ng paggamit ng linya na servo.write (BluetoothData).
// ** Function upang makontrol ang Servo nang manu-mano ** // void manualservo () {us (); // Kumuha ng halaga mula sa gumagamit at kontrolin ang servo kung (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Nakasulat"); kung (BluetoothData == 'p') {flag = 0; }}} // __ Pagtatapos ng pagpapaandar ng manu-manong kontrol __ //
Ang distansya na naroroon bago ang bagay ay kakalkulahin ng pagpapaandar sa ibaba. Gumagana ito sa isang simpleng mga formula na Bilis = Distansya / oras. Dahil alam namin ang bilis ng alon ng US at ang oras na kinuha ang distansya ay maaaring kalkulahin gamit ang mga pormula sa itaas.
// ** Function upang masukat ang distansya ** // void us () {int tagal, distansya; digitalWrite (trigPin, MATAAS); delayMicroseconds (1000); digitalWrite (trigPin, LOW); tagal = pulseIn (echoPin, HIGH); distansya = (tagal / 2) / 29.1; // Kinakalkula ang distansya mula sa sensor kung (distansya <200 && distansya> 0) Blueboy.write (distansya); } // __ Pagtatapos ng pagpapaandar sa pagsukat ng distansya __ //
Kung mayroon kang anumang mga pagdududa sa programa, huwag mag-atubiling gamitin ang seksyon ng komento para sa iyong mga quires. Kaya, sa sandaling handa na kami sa aming code maaari naming agad na itapon ang code sa aming hardware. Ngunit ang aparato ng surveillance ay hindi magsisimulang gumana hanggang sa makakonekta ito sa Android Application. Suriin din ang Video sa dulo para sa kumpletong pagtatrabaho.
Android Mobile Application para sa Ultrasonic Radar:
Kung hindi mo nais na gumawa ng iyong sariling aplikasyon at sa halip ay nais mong mai-install ang parehong application na ginamit sa tutorial na ito maaari mong sundin ang mga hakbang sa ibaba.
1. Maaari mong direktang i- download ang APK file mula sa link sa ibaba. Ang file na APK na ito ay ginawa para sa Android bersyon 4.4.2 at mas bago (Kitkat sa itaas). I-extract ang APK file mula sa zip file.
Application ng Android para sa Ultrasonic Radar
2. Ilipat ang.Apk file mula sa iyong computer sa iyong mobile phone.
3. Paganahin ang pag-install ng application mula sa Hindi kilalang mga mapagkukunan sa iyong mga setting ng android.
4. I-install ang application.
Kung matagumpay na na-install, mahahanap mo ang application na pinangalanang "Zelobt" na naka- install sa iyong telepono tulad ng ipinakita sa ibaba:
Kung na-install mo ang APK na ito, maaari mong laktawan ang bahagi sa ibaba at tumalon sa susunod na seksyon.
Pag-program ng iyong sariling Application gamit ang Pagproseso:
Alinman maaari mong gamitin ang.APK file na ibinigay sa itaas o maaari kang bumuo ng iyong sariling app gamit ang Pagproseso tulad ng ipinaliwanag dito. Sa kaunting kaalaman sa pag-program ay napakadali ding magsulat ng iyong sariling code para sa iyong android application. Gayunpaman kung nagsisimula ka pa lamang pagkatapos ay hindi maipapayo na magsimula sa code na ito dahil medyo mataas ito kaysa sa antas ng nagsisimula.
Gumagamit ang program na ito ng dalawang aklatan katulad, ang "Ketai library" at ang "library ng ControlP5" . Ginagamit ang library ng ketai upang makontrol ang lahat ng hardware na naroroon sa loob ng aming mobile phone. Ang mga bagay tulad ng iyong telepono sa antas ng baterya, mga halaga ng sensor ng kalapitan, mga halaga ng accelerometer sensor, mga pagpipilian sa pagkontrol ng Bluetooth atbp ay madaling ma-access ng library na ito. Sa programang ito ginagamit namin ang library na ito upang makapagtatag ng isang komunikasyon sa pagitan ng mga teleponong Bluetooth at Arduino Bluetooth (HC-05). Ang "library ng ControlP5" ay ginagamit upang magplano ng mga grapiko para sa aming radar system.
Ang kumpletong programa ng android ay naka-attach, maaari mong i-download ito mula dito.
Pag-iingat: Huwag kalimutang i-install ang mga nabanggit na aklatan at huwag kopyahin ang i-paste ang bahagi ng code lamang, dahil ang code ay nag-i-import ng mga imahe mula sa folder ng data na kabuuan ay ibinigay sa itaas na kalakip. Samakatuwid i-download at gamitin lamang iyon.
Kapag tapos ka na sa bahagi ng pag-coding at matagumpay na naipon ito maaari mong direktang ikonekta ang iyong mobile phone sa iyong computer sa pamamagitan ng data cable at mag-click sa pindutan ng pag-play upang ma pipi ang application sa iyong mobile phone. Suriin din ang aming iba pang Mga Proyekto sa Pagproseso: Laro ng Ping Pong gamit ang Arduino at Smart Radio Controlled FM Radio gamit ang Pagproseso.
Paggawa ng Paliwanag:
Ngayon, handa na kami sa aming hardware at bahagi ng software. Palakasin ang iyong hardware at ipares ang iyong mobile sa module ng Bluetooth. Sa sandaling ipinares buksan ang iyong application na "Zelobt" na na-install lamang namin at maghintay para sa isang segundo at dapat mong mapansin ang iyong module ng Bluetooth (HC-05) na awtomatikong nakakakonekta sa iyong smart phone. Kapag naitatag ang koneksyon makakakuha ka ng sumusunod na screen:
Maaari mong mapansin na sinasabi nito na konektado sa: Pangalan ng aparato (address ng hardware) sa tuktok ng screen. Ipinapakita rin nito ang kasalukuyang anghel ng servo motor at ang distansya sa pagitan ng US sensor. Ang isang asul na grap ay naka-plot din sa pulang background batay sa sinusukat na distansya. Ang mas malapit na bagay ay nakakakuha ng mas mataas na ang asul na lugar ay nakakakuha. Ang sukat ng grap kapag ang ilang mga bagay ay inilalagay malapit ay ipinakita rin sa pangalawang pigura sa itaas.
Tulad ng sinabi kanina maaari mo ring makontrol ang iyong servo motor mula sa iyong mobile app. Upang magawa ang mga ito, mag-click lamang sa stop button. Ititigil nito ang iyong servo mula sa awtomatikong pagwawalis. Maaari ka ring makahanap ng isang pabilog na gulong sa ilalim ng screen kung saan kapag na-swipe ay paikutin sa orasan o kontra sa orasan na matalinong direksyon. Sa pamamagitan ng pag-swipe ng gulong ito maaari mo ring gawin ang iyong servo motor na lumiko sa partikular na direksyong iyon. Ang gulong at ang graph na na-update kapag na-swip ay ipinapakita sa larawan sa ibaba.
Ang Arduino Code ay ibinibigay sa ibaba at ang APK file para sa android Application ay narito. Ang pagtatrabaho ng kumpletong proyekto ay ipinapakita sa video sa ibaba. Sana naintindihan mo ang proyekto. Kung mayroon kang anumang mga quires, mangyaring gamitin ang seksyon ng komento sa ibaba.