- Prasības:
- Programmatūru lejupielāde un instalēšana:
- Arduino aparatūras daļa un shēmas diagramma:
- Arduino programmatūras daļa:
- Android mobilā lietojumprogramma ultraskaņas radaram:
- Darba skaidrojums:
Šis ir interesants projekts, kurā mēs izpētām Arduino un Android spēku, lai izveidotu uzraudzības ierīci, kas izmanto Arduino un Ultra Sonic Sensor, lai pārraidītu informāciju uz mobilo lietojumprogrammu (Android), izmantojot Bluetooth.
Drošība un drošība ir mūsu primārās rūpes kopš vecuma. Uzstādot drošības kameru, kurai ir nakts režīms ar noliekšanas un pagriešanas iespēju, mūsu kabatās tiks sadedzināta liela bedre. Tāpēc ļaujiet mums izveidot ekonomisku ierīci, kas darbojas gandrīz tāpat, bet bez video funkcijām.
Šī ierīce uztver objektus ar ultraskaņas sensora palīdzību un tādējādi var darboties pat nakts laikā. Mēs arī uzstādām ASV (Ultra Sonic) sensoru virs servomotora. Šo servomotoru var iestatīt vai nu automātiski pagriezt, lai skenētu apgabalu, vai arī to var pagriezt manuāli, izmantojot mūsu mobilo lietotni, lai mēs varētu fokusēt ultraskaņas sensoru mūsu vajadzīgo virzienu un nojaušam tur esošos objektus. Visa informācija, ko uztver ASV sensors, tiks pārraidīta uz mūsu viedtālruni, izmantojot Bluetooth moduli (HC-05). Tātad tas darbosies kā sonārs vai radars.
Interesanti labi ??…. Apskatīsim, kas mums būtu vajadzīgs šī projekta veikšanai.
Prasības:
Aparatūra:
- A + 5 V barošanas avots (barošanai izmantoju savu Arduino (citu) plāksni)
- Arduino Mega (Jūs varat izmantot visu, sākot no pro mini līdz Yun)
- Servomotors (jebkurš vērtējums)
- Bluetooth modulis (HC-05)
- Īpaši skaņas sensors (HC-SR04)
- Maizes dēlis (nav obligāts)
- Savienojošie vadi
- Android mobilais
- Dators programmēšanai
Programmatūra:
- Arduino programmatūra
- Android SDK
- Notiek Android apstrāde (lai izveidotu mobilo lietojumprogrammu)
Kad esam gatavi izmantot savus materiālus, sāksim būvēt aparatūru. Es viegli sadalīju šo apmācību Arduino daļā un apstrādes daļā. Cilvēkiem, kuri ir jauni apstrādē, nav daudz jābaidās, jo apmācības beigās tiek norādīts pilns kods, ko var izmantot kā tādu.
Programmatūru lejupielāde un instalēšana:
Arduino IDE var uzstādīt no šejienes. Lejupielādējiet programmatūru atbilstoši savai OS un instalējiet to. Arduino IDE būs nepieciešams draiveris, lai sazinātos ar jūsu Arduino aparatūru. Šis draiveris jāinstalē automātiski, tiklīdz jūs pievienojat savu datoru un datoru. Mēģiniet augšupielādēt mirkšķināšanas programmu no piemēriem, lai pārliecinātos, ka Arduino darbojas un darbojas.
Apstrāde IDE var uzstādīt no šejienes. Apstrāde ir lieliska atvērtā koda lietojumprogramma, kuru var izmantot daudzām lietām, tai ir dažādi režīmi. “Java režīmā” mēs varam izveidot Windows datora lietojumprogrammas (.EXE failus), bet “Android režīmā” - Android mobilās lietojumprogrammas (. APK failus). Tam ir arī citi režīmi, piemēram, “Python mode”, kur varat rakstīt jums python programmas. Šajā apmācībā netiks aplūkoti apstrādes pamati, tādēļ, ja vēlaties uzzināt java programmēšanu vai apstrādes procesu, skatiet šo lielisko YouTube kanālu šeit.
Arduino aparatūras daļa un shēmas diagramma:
Šis projekts ietver daudz komponentu, piemēram, servomotoru, Bluetooth moduli, ultraskaņas sensoru utt. Tāpēc, ja esat absolūts iesācējs, ieteicams sākt ar kādu pamata apmācību, kas ietver šos komponentus, un pēc tam atgriezties šeit. Apskatiet mūsu dažādos servomotora, Bluetooth moduļa un ultraskaņas sensora projektus šeit.
Visus komponentus nedarbina pats Arduino, jo servomotors, Bluetooth modulis un ASV sensors kopumā piesaista daudz strāvas, ko Arduino nevarēs iegūt. Tāpēc ir stingri ieteicams izmantot jebkuru ārēju + 5 V barošanas avotu. Ja jūsu rīcībā nav ārēja + 5 V barošanas avota, jūs varat koplietot komponentus starp divām Arduino plāksnēm, kā es to darīju. Esmu savienojis Servos barošanas sliedes ar citu Arduino dēli (sarkanā krāsā) un pievienojis Bluetooth moduli HC-05 un Ultraskaņas sensoru HC-SR04 pie Arduino mega. UZMANĪBU: Ieslēdzot visus šos moduļus, izmantojot vienu Arduino dēli, tiks sasildīts Arduino sprieguma regulators.
Šī Arduino balstītā sonāra projekta savienojuma shēma ir sniegta zemāk:
Kad savienojumi ir izveidoti, uzstādiet ASV sensoru uz servomotora, kā parādīts zemāk:
Sensora uzstādīšanai esmu izmantojis nelielu plastmasas gabalu, kas atradās manā atkritumā, un dubultu sānu lenti. Jūs varat nākt klajā ar savu ideju darīt to pašu. Tirgū ir pieejami arī servo turētāji, kurus var izmantot tam pašam mērķim.
Kad servo ir uzstādīts un savienojumi ir doti, tam vajadzētu izskatīties apmēram šādi.
Izpildiet augšpusē esošās shēmas, ja rodas nepareizi savienojumi. Tagad sāksim programmēt Arduino Mega, izmantojot Arduino IDE.
Arduino programmatūras daļa:
Mums ir jāraksta kods, lai mēs varētu aprēķināt attālumu starp objektu un Ultra Sonic sensoru un nosūtīt to uz mūsu mobilo lietojumprogrammu. Mums arī ir jāraksta kods mūsu servomotoram, lai tas varētu slaucīt un arī kontrolēt datus no Bluetooth moduļa saņemtajiem datiem. Bet neuztraucieties, ka programma ir daudz vienkāršāka, nekā jūs varat attēlot, pateicoties Arduino un tā bibliotēkām. Pilns kods ir norādīts zemāk sadaļā Kods.
Zemāk esošo funkciju izmanto, lai servomotors automātiski slaucītos no kreisās uz labo (no 170 līdz 10) un atkal no labās uz kreiso (no 10 līdz 170). Abas uz cilpas tiek izmantoti, lai sasniegtu to pašu. Funkcija us () tiek saukta abās funkcijās, lai aprēķinātu attālumu starp sensoru un objektu un raidītu to uz Bluetooth. Tiek dota 50 ms kavēšanās, lai servo lēnām grieztos. Lēnāk motors griežas, lai iegūtu precīzus rādījumus.
// ** Servo slaucīšanas funkcija ** // void servofun () {Serial.println ("Sweeping"); // atkļūdošanai par (posc = 10; posc <= 170; posc ++) // 10 līdz 170 grādu izmantošana ir droša nekā 0 līdz 180, jo daži servo serveri var nedarboties galējos eņģeļos {servo.write (posc); // iestatiet servomotora aiztures pozīciju (50); mums (); // izmērīt objektu attālumu, izmantojot ASV sensoru} (posc = 170; posc> = 10; posc--) {servo.write (posc); kavēšanās (50); mums (); // izmērīt objektu attālumu, izmantojot ASV sensoru} Serial.println ("Scan Complete"); // atkļūdošanas karodziņam = 0; } // ** Servo slaucīšanas funkcijas beigas ** //
Kā minēts iepriekš, servomotoru var manuāli vadīt arī no viedtālruņa. Jūs vienkārši velciet pa labi, lai motors kustētos pa labi, un velciet pa kreisi, lai motors pārvietotos pa kreisi. Iepriekš minēto funkciju izmanto, lai sasniegtu to pašu. Servomotora eņģelis tiks tieši uztverts ar Bluetooth moduli un saglabāts mainīgajā BluetoothData , pēc tam servo atrodas konkrētajā eņģelī , izmantojot līniju servo.write (BluetoothData).
// ** Funkcija, lai manuāli kontrolētu servo ** // void manualservo () {us (); // Iegūstiet vērtību no lietotāja un kontrolējiet servo, ja (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Rakstīts"); ja (BluetoothData == 'p') {karogs = 0; }}} // __ Manuālās vadības funkcijas beigas __ //
Attālums pastāvēja pirms objekta tiks aprēķināts pēc zemāk funkciju. Tas darbojas ar vienkāršām formulām, kuru ātrums = attālums / laiks. Tā kā mēs zinām ASV viļņa ātrumu un veikto laiku, attālumu var aprēķināt, izmantojot iepriekš minētās formulas.
// ** Funkcija attāluma mērīšanai ** // void us () {int ilgums, attālums; digitalWrite (trigPin, HIGH); aizkaveMikrosekundes (1000); digitalWrite (trigPin, LOW); ilgums = pulseIn (echoPin, HIGH); attālums = (ilgums / 2) / 29,1; // Aprēķina attālumu no sensora if (distance <200 && distance> 0) Blueboy.write (distance); } // __ attāluma mērīšanas funkcijas beigas __ //
Ja jums ir kādas šaubas par programmu, nekautrējieties izmantot komentāru sadaļu. Tātad, kad mēs esam gatavi ar savu kodu, mēs varam uzreiz izmest kodu savā aparatūrā. Bet novērošanas ierīce nesāks darboties, kamēr tā nebūs savienota ar Android lietojumprogrammu. Pilnībā strādājiet arī videoklipa beigās.
Android mobilā lietojumprogramma ultraskaņas radaram:
Ja nevēlaties izveidot savu lietojumprogrammu un tā vietā vēlaties instalēt to pašu lietojumprogrammu, kas izmantota šajā apmācībā, varat veikt tālāk norādītās darbības.
1. Apakšējā saitē varat tieši lejupielādēt APK failu. Šis APK fails ir paredzēts Android 4.4.2 un jaunākām versijām (Kitkat un augstāk). Izvelciet APK failu no zip faila.
Android lietojumprogramma ultraskaņas radaram
2. Pārsūtiet.Apk failu no sava datora uz mobilo tālruni.
3. Android iestatījumos iespējojiet lietojumprogrammas instalēšanu no nezināmiem avotiem.
4. Instalējiet lietojumprogrammu.
Ja tas ir veiksmīgi instalēts, tālrunī atradīsit instalētu lietojumprogrammu ar nosaukumu “Zelobt”, kā parādīts zemāk:
Ja esat instalējis šo APK, varat izlaist zemāk esošo daļu un pāriet uz nākamo sadaļu.
Paša lietojumprogrammas programmēšana, izmantojot apstrādi:
Vai nu jūs varat izmantot iepriekš doto.APK failu, vai arī varat izveidot savu lietotni, izmantojot Apstrāde, kā paskaidrots šeit. Ar nelielām zināšanām par programmēšanu ir arī ļoti viegli uzrakstīt savu kodu savai android lietojumprogrammai. Tomēr, ja jūs vēl tikai sākat, nav ieteicams sākt ar šo kodu, jo tas ir nedaudz augsts nekā iesācēja līmenis.
Šajā programmā tiek izmantotas divas bibliotēkas, proti, “Ketai library” un “ControlP5 library” . Ketai bibliotēku izmanto, lai kontrolētu visu aparatūru, kas atrodas mūsu mobilajā tālrunī. Šajā bibliotēkā var viegli piekļūt tādām lietām kā jūs, piemēram, tālruņa akumulatora līmenis, tuvuma sensora vērtības, akselerometra sensora vērtības, Bluetooth vadības iespējas utt. Šajā programmā mēs izmantojam šo bibliotēku, lai izveidotu sakarus starp tālruņiem Bluetooth un Arduino Bluetooth (HC-05). "ControlP5 bibliotēka" tiek izmantots, lai gabals diagrammas mūsu radaru sistēmu.
Pilnīga android programma ir pievienota, jūs varat lejupielādēt to no šeit.
UZMANĪBU! Neaizmirstiet instalēt iepriekš minētās bibliotēkas un nekopējiet kodu tikai atsevišķi, jo kods importē attēlus no datu mapes, kas kopumā ir norādīts iepriekš pievienotajā pielikumā. Tādējādi lejupielādējiet un izmantojiet tikai to.
Kad esat pabeidzis kodēšanas daļu un veiksmīgi to sastādījis, varat tieši savienot mobilo tālruni ar datoru, izmantojot datu kabeli, un noklikšķiniet uz atskaņošanas pogas, lai aplikētu lietojumprogrammu savā mobilajā tālrunī. Pārbaudiet arī citus mūsu apstrādes projektus: galda tenisa spēli, izmantojot Arduino, un viedtālruņa kontrolētu FM radio, izmantojot apstrādi.
Darba skaidrojums:
Tagad mēs esam gatavi ar savu aparatūru un programmatūras daļu. Ieslēdziet aparatūru un savienojiet pārī mobilo ar Bluetooth moduli. Kad esat savienots pārī, atveriet tikko instalēto lietojumprogrammu “Zelobt” un tagad gaidiet sekundi, un jums vajadzētu pamanīt, ka jūsu Bluetooth modulis (HC-05) automātiski tiek savienots ar viedtālruni. Kad savienojums būs izveidots, tiks parādīts šāds ekrāns:
Varat pamanīt, ka ekrāna augšdaļā ir teikts, ka savienojums ar: ierīces nosaukums (aparatūras adrese). Tas arī parāda pašreizējo servomotora eņģeli un attālumu starp ASV sensoru. Balstoties uz izmērīto attālumu, uz sarkanā fona ir uzzīmēts arī zils grafiks. Jo tuvāk objekts kļūst, jo augstāks kļūst zilais laukums. Grafiks, kas izmērīts, kad daži objekti atrodas tuvu, ir parādīts arī otrajā attēlā iepriekš.
Kā minēts iepriekš, servomotoru var vadīt arī no mobilās lietotnes. Lai to izdarītu, vienkārši noklikšķiniet uz pogas Apturēt. Tas apturēs jūsu servo automātisko slaucīšanu. Ekrāna apakšdaļā varat atrast arī apļveida riteni, kas, velkot, pagriezīsies pulksteņa vai pret pulksteņa virzienā. Pārvelkot šo riteni, jūs varat arī likt servomotoram pagriezties tieši šajā virzienā. Ritenis un diagramma, kas atjaunināta, pārvelkot, ir parādīti zemāk esošajā attēlā.
Arduino kods ir norādīts zemāk, un šeit ir pieejams Android lietojumprogrammas APK fails. Pilna projekta darbība ir parādīta zemāk esošajā video. Ceru, ka sapratāt projektu. Ja jums ir kādi jautājumi, lūdzu, izmantojiet zemāk esošo komentāru sadaļu.