- Zahteve:
- Prenos in namestitev programske opreme:
- Del strojne opreme Arduino in vezje:
- Del programske opreme Arduino:
- Mobilna aplikacija za Android za ultrazvočni radar:
- Delovna razlaga:
To je zanimiv projekt, v katerem raziskujemo moč Arduina in Androida, da bi ustvarili nadzorno napravo, ki uporablja Arduino in Ultra Sonic Sensor za oddajanje informacij v mobilno aplikacijo (Android) z uporabo Bluetootha.
Varnost je naša glavna skrb že od nekdaj. Če namestimo varnostno kamero, ki ima nočni način z možnostjo nagibanja in premikanja, nam bo požgala veliko luknjo v žepih. Zato naredimo ekonomično napravo, ki deluje skoraj enako, vendar brez kakršnih koli video funkcij.
Ta naprava zazna predmete s pomočjo ultrazvočnega senzorja in tako deluje tudi ponoči. Prav tako namestimo ameriški (Ultra Sonic) senzor na servo motor, ta servo motor lahko nastavimo tako, da se samodejno vrti za skeniranje območja, ali pa ga lahko ročno vrtimo z našo mobilno aplikacijo, tako da lahko ultrazvočni senzor usmerimo našo potrebno smer in zaznamo predmete, ki so tam prisotni. Vse informacije, ki jih zazna ameriški senzor, bodo posredovane na naš pametni telefon z modulom Bluetooth (HC-05). Torej bo delovalo kot sonar ali radar.
Zanimivo kajne ??…. Poglejmo, kaj bi potrebovali za ta projekt.
Zahteve:
Strojna oprema:
- Napajanje + 5V (za napajanje uporabljam svojo drugo Arduino ploščo)
- Arduino Mega (lahko uporabite karkoli, od pro mini do Yun)
- Servo motor (poljubna ocena)
- Modul Bluetooth (HC-05)
- Ultrazvočni senzor (HC-SR04)
- Breadboard (ni obvezen)
- Priključne žice
- Android za mobilne naprave
- Računalnik za programiranje
Programska oprema:
- Programska oprema Arduino
- Android SDK
- Obdelava Androida (za ustvarjanje mobilne aplikacije)
Ko smo pripravljeni z našimi materiali, začnimo z izdelavo strojne opreme. To vadnico sem razdelil na Arduino Part in Processing Part za lažje razumevanje. Ljudje, ki so novi v obdelavi, se ne bojijo veliko, ker je celotna koda podana na koncu vadnice, ki jo je mogoče uporabiti kot tako.
Prenos in namestitev programske opreme:
Arduino IDE lahko namestite tukaj. Prenesite programsko opremo v skladu s svojim operacijskim sistemom in jo namestite. Arduino IDE bo zahteval gonilnik za komunikacijo z vašo strojno opremo Arduino. Ta gonilnik se mora samodejno namestiti, ko ploščo povežete z računalnikom. Poskusite naložiti program za utripanje iz primerov, da se prepričate, da je Arduino pripravljen in deluje.
Obdelava IDE lahko namestite tukaj. Processing je odlična odprtokodna aplikacija, ki jo lahko uporabimo za marsikaj, ima različne načine. V "Java Mode" lahko ustvarimo računalniške aplikacije za Windows (datoteke.EXE), v "Android mode" pa lahko ustvarimo mobilne aplikacije za Android (datoteke.APK), na voljo pa so tudi drugi načini, kot je "Python mode", kjer lahko pišete programe python. Ta vadnica ne bo pokrivala osnov obdelave, zato, če se želite tukaj naučiti javaškega programiranja ali obdelave na tem odličnem kanalu YouTube.
Del strojne opreme Arduino in vezje:
Ta projekt vključuje veliko komponent, kot so servo motor, modul Bluetooth, ultrazvočni senzor itd. Če ste absolutni začetnik, bi bilo priporočljivo začeti z osnovno vadnico, ki vključuje te komponente, in se nato vrniti sem. Tukaj si oglejte naše različne projekte o servo motorju, modulu Bluetooth in ultrazvočnem senzorju.
Arduino ne napaja vseh komponent, ker servo motor, modul Bluetooth in ameriški senzor skupaj črpajo veliko toka, ki ga Arduino ne bo mogel pridobiti. Zato je strogo priporočljivo uporabljati kakršno koli zunanjo napajalno enoto + 5V. Če nimate zunanjega napajanja + 5 V na dosegu, lahko delite komponente med dvema ploščama Arduino, kot sem storil jaz. Servos napajalne tirnice sem priključil na drugo ploščo Arduino (rdeča barva), na Arduino mega pa modul Bluetooth HC-05 in ultrazvočni senzor HC-SR04. POZOR: Z vklopom vseh teh modulov z eno ploščo Arduino bo Arduino regulator napetosti prepražen.
Diagram povezave za ta Arnarjev projekt sonarja je podan spodaj:
Ko so povezave vzpostavljene, namestite ameriški senzor na vaš servo motor, kot je prikazano spodaj:
Za pritrditev senzorja sem uporabil majhen košček iz plastike, ki je bil v moji smeti, in dvojni stranski trak. Lahko storite svojo idejo, da storite enako. Na trgu so na voljo tudi držala servo servo, ki jih je mogoče uporabiti za isti namen.
Ko je Servo nameščen in so podane povezave, bi moral izgledati nekako takole.
Sledite shemam na vrhu, če pride do napačnih povezav. Zdaj pa začnimo s programiranjem Arduino Mega z uporabo Arduino IDE.
Del programske opreme Arduino:
Svojo kodo moramo napisati, da lahko izračunamo razdaljo med objektom in senzorjem Ultra Sonic ter jo pošljemo v mobilno aplikacijo. Napisati moramo tudi kodo za pomikanje našega servo motorja in tudi nadzor nad podatki, ki jih prejme modul Bluetooth. Ne skrbite, program je veliko preprostejši, kot si lahko predstavljate, zahvaljujoč Arduinu in njegovim knjižnicam. Popolna koda je navedena spodaj v odseku kode.
Spodnja funkcija se uporablja za samodejni pomik servo motorja od leve proti desni (170 do 10) in spet od desne proti levi (10 do 170). Dva za zanke se uporabljajo za dosego istega. Funkcija us () se imenuje znotraj obeh funkcij, da izračuna razdaljo med senzorjem in predmetom in jo odda v Bluetooth. Za zamik 50 ms se servo počasi vrti. Čim počasneje se motor vrti, natančneje postanejo vaši odčitki.
// ** Funkcija za pometanje servo sistema ** // void servofun () {Serial.println ("Pomet"); // za odpravljanje napak za (posc = 10; posc <= 170; posc ++) // Uporaba od 10 do 170 stopinj je varna kot od 0 do 180, ker nekateri servo morda ne bodo delovali pri ekstremnih angelih {servo.write (posc); // nastavimo položaj zakasnitve servo motorja (50); nas (); // izmerimo razdaljo predmetov, ki pojejo ameriški senzor} for (posc = 170; posc> = 10; posc--) {servo.write (posc); zamuda (50); nas (); // izmerimo razdaljo predmetov, zapojemo ameriški senzor} Serial.println ("Scan Complete"); // za zastavico za odpravljanje napak = 0; } // ** Konec funkcije servo pometanja ** //
Kot smo že omenili, lahko servo motor upravljate tudi ročno s pametnega telefona. Preprosto povlecite v desno, da se motor premakne v desno, in v levo, da se motor premakne v levo. Zgornja funkcija se uporablja za dosego istega. Modul Bluetooth bo angel servo motorja sprejel neposredno in ga shranil v spremenljivko BluetoothData , nato pa bo servo s pomočjo vrstice servo.write (BluetoothData) položaj v tem angelu .
// ** Funkcija za ročni nadzor servo sistema ** // void manualservo () {us (); // Pridobite vrednost od uporabnika in nadzorujte servo, če (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Pisno"); če (BluetoothData == 'p') {zastava = 0; }}} // __ Konec funkcije ročnega nadzora __ //
Prisotna razdaljo pred objekta se izračuna tako, pod funkcijo. Deluje s preprostimi formulami, da je hitrost = razdalja / čas. Ker poznamo hitrost ameriškega vala in potreben čas, lahko razdaljo izračunamo po zgornjih formulah.
// ** Funkcija za merjenje razdalje ** // void us () {int duration, distance; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); trajanje = pulseIn (echoPin, HIGH); razdalja = (trajanje / 2) / 29,1; // izračuna razdaljo od senzorja if (distance <200 && distance> 0) Blueboy.write (distance); } // __ Funkcija merjenja konca razdalje __ //
Če v programu dvomite, za svoje želje uporabite odsek s komentarji. Ko smo pripravljeni z našo kodo, jo lahko takoj damo v našo strojno opremo. Toda nadzorna naprava ne bo začela delovati, dokler ne bo povezana z aplikacijo Android. Na koncu tudi preverite, da videoposnetek popolnoma deluje.
Mobilna aplikacija za Android za ultrazvočni radar:
Če ne želite ustvariti lastne aplikacije in namesto tega želite namestiti isto aplikacijo, uporabljeno v tej vadnici, sledite spodnjim korakom.
1. Datoteko APK lahko neposredno prenesete s spodnje povezave. Ta datoteka APK je narejena za Android različice 4.4.2 in novejše (Kitkat zgoraj). Izvlecite datoteko APK iz datoteke zip.
Android aplikacija za ultrazvočni radar
2. Datoteko.Apk prenesite iz računalnika v mobilni telefon.
3. Omogočite namestitev aplikacije iz neznanih virov v nastavitvah androida.
4. Namestite aplikacijo.
Če boste uspešno namestili, boste v telefonu namestili aplikacijo z imenom »Zelobt«, kot je prikazano spodaj:
Če ste namestili ta APK, lahko preskočite spodnji del in skočite na naslednji razdelek.
Programiranje lastne aplikacije s pomočjo obdelave:
Lahko uporabite zgoraj navedeno datoteko.APK ali pa ustvarite svojo aplikacijo s pomočjo Obdelava, kot je razloženo tukaj. Z malo znanja o programiranju je tudi zelo enostavno napisati svojo kodo za svojo aplikacijo za Android. Če pa šele začenjate, ni priporočljivo začeti s to kodo, saj je nekoliko višja od začetniške.
Ta program uporablja dve knjižnici, in sicer "knjižnico Ketai" in "knjižnico ControlP5" . Knjižnica ketai se uporablja za nadzor celotne strojne opreme v našem mobilnem telefonu. Ta knjižnica lahko zlahka dostopa do stvari, kot ste telefoni, nivo baterije, vrednosti senzorja bližine, vrednosti senzorja pospeška, možnosti nadzora Bluetooth itd. V tem programu uporabljamo to knjižnico za vzpostavitev komunikacije med telefonoma Bluetooth in Arduino Bluetooth (HC-05). "ControlP5 knjižnica" se uporablja za plot grafov za naše radarskega sistema.
Priložen je celoten program za Android, ki ga lahko prenesete od tukaj.
POZOR: Ne pozabite namestiti zgoraj omenjenih knjižnic in ne kopirajte samo kodnega dela, ker koda uvozi slike iz podatkovne mape, ki je v celoti navedena v zgornji priponki. Zato prenesite in uporabite samo to.
Ko končate z delom za kodiranje in ste ga uspešno sestavili, lahko svoj mobilni telefon neposredno povežete z računalnikom prek podatkovnega kabla in kliknete gumb za predvajanje, da aplikacijo priklopite na svoj mobilni telefon. Oglejte si tudi druge naše procese obdelave: Ping Pong igra z uporabo Arduina in pametnega telefona, nadzorovanega FM radia z obdelavo.
Delovna razlaga:
Zdaj smo pripravljeni na naš del strojne in programske opreme. Vklopite strojno opremo in svoj mobilni telefon seznanite z modulom Bluetooth. Ko se seznanite, odprite svojo aplikacijo "Zelobt", ki smo jo pravkar namestili, zdaj počakajte sekundo in opazili boste, da se vaš modul Bluetooth (HC-05) samodejno poveže s pametnim telefonom. Ko je povezava vzpostavljena, se prikaže naslednji zaslon:
Opazite, da na vrhu zaslona piše, da je povezan z: Ime naprave (naslov strojne opreme). Prikaže tudi trenutni angel servo motorja in razdaljo med ameriškim senzorjem. Na rdeči podlagi je na podlagi izmerjene razdalje narisan tudi modri graf. Bolj ko se objekt približuje, višje je modro območje. Graf, izmerjen, ko so nekateri predmeti nameščeni v bližini, je prikazan tudi na drugi sliki zgoraj.
Kot že rečeno, lahko tudi servo motor upravljate iz mobilne aplikacije. Če želite to narediti, preprosto kliknite gumb Stop. To bo preprečilo samodejno pometanje vašega servo. Na dnu zaslona lahko najdete tudi krožno kolo, ki se ob povleku vrti v smeri ure ali v nasprotni smeri ure. S premikanjem tega kolesa lahko tudi servo motor zavrtite v to smer. Kolo in graf, ki se posodobijo s potezo, so prikazani na spodnji sliki.
Koda Arduino je navedena spodaj, APK datoteka za android aplikacijo pa tukaj. Delovanje celotnega projekta je prikazano v spodnjem videu. Upam, da ste razumeli projekt. Če vas zanima, prosimo, uporabite spodnji odsek za komentarje.