- Követelmények:
- Szoftverek letöltése és telepítése:
- Arduino hardver rész és áramköri ábra:
- Arduino szoftverrész:
- Android mobil alkalmazás ultrahangos radarhoz:
- Munka magyarázat:
Ez egy érdekes projekt, amelynek során feltárjuk az Arduino és az Android erejét egy olyan felügyeleti eszköz létrehozására, amely Arduino és Ultra Sonic Sensor segítségével sugározza az információkat egy mobil alkalmazásba (Android) Bluetooth használatával.
A biztonság és a biztonság az életkorunk óta elsődleges gondunk. Éjszakai üzemmódú, biztonsági és dőlésszögű biztonsági kamera telepítése nagy lyukat éget a zsebünkön. Ezért készítsünk egy olyan gazdasági eszközt, amely majdnem ugyanezt csinálja, de mindenféle video funkció nélkül.
Ez az eszköz az ultrahangos érzékelő segítségével érzékeli a tárgyakat, így éjszaka is képes működni. Emellett az USA (Ultra Sonic) érzékelőjét egy szervomotor fölé helyezzük, ez a szervomotor beállítható úgy, hogy automatikusan forogjon a terület beolvasása érdekében, vagy manuálisan is forgatható a mobilalkalmazásunk segítségével, hogy az ultrahangos érzékelőt a szükséges irányunkat, és érzékeljük az ott jelenlévő tárgyakat. Az amerikai szenzor által érzékelt összes információt a Bluetooth modul (HC-05) segítségével továbbítjuk okos telefonunkra. Tehát úgy fog működni, mint egy szonár vagy egy radar.
Érdekes igaz ??…. Lássuk, mire lenne szükségünk a projekt megvalósításához.
Követelmények:
Hardver:
- A + 5 V tápegység (az Arduino (egy másik) táblámat használom tápellátáshoz)
- Arduino Mega (bármit használhat a pro minitől a Yunig)
- Szervomotor (bármilyen minősítéssel)
- Bluetooth modul (HC-05)
- Ultra Sonic Sensor (HC-SR04)
- Kenyérlemez (nem kötelező)
- Csatlakozó vezetékek
- Android mobil
- Számítógép a programozáshoz
Szoftver:
- Arduino szoftver
- Android SDK
- Android feldolgozása (mobilalkalmazás létrehozása)
Ha készen állunk az anyagainkkal, kezdjük el megépíteni a hardvert. A könnyű megértés érdekében ezt az oktatóanyagot Arduino részre és a feldolgozó részre osztottam. Azoknak az embereknek, akiknek újdonságai vannak a feldolgozásban, nem kell sokat félniük, mert a teljes kódot az oktatóanyag végén adják meg, amely ilyen formában használható.
Szoftverek letöltése és telepítése:
Az Arduino IDE innen telepíthető. Töltse le a szoftvert az operációs rendszerének megfelelően, és telepítse. Az Arduino IDE-hez illesztőprogramra lesz szükség az Arduino Hardverrel való kommunikációhoz. Ezt az illesztőprogramot automatikusan telepítenie kell, miután csatlakoztatta a táblát a számítógéphez. Próbáljon meg feltölteni egy pislogó programot a példákból, hogy megbizonyosodjon arról, hogy az Arduino működik-e.
A Processing IDE innen telepíthető. A feldolgozás kiváló nyílt forráskódú alkalmazás, amely sok mindenre használható, különféle módokkal rendelkezik. „Java módban” létrehozhatunk Windows számítógépes alkalmazásokat (.EXE fájlok), „Android módban” pedig Android mobil alkalmazásokat (.APK fájlok), más módjai is vannak, mint például „Python mód”, ahová python programokat írhat. Ez az oktatóanyag nem fedi le a feldolgozás alapjait, tehát ha meg akarja tanulni a java programozását vagy a feldolgozást, folytassa ezt a nagyszerű YouTube csatornát itt.
Arduino hardver rész és áramköri ábra:
Ez a projekt sok olyan elemet tartalmaz, mint a szervomotor, a Bluetooth modul, az ultrahangos szenzor stb. Ezért, ha teljesen kezdő vagy, akkor ajánlatos kezdeni néhány alapvető oktatóanyaggal, amely magában foglalja ezeket az összetevőket, majd visszatér ide. Itt tekintheti meg a szervo motor, a Bluetooth modul és az ultrahangos érzékelő különféle projektjeit.
Az összes alkatrészt nem maga az Arduino táplálja, mert a szervomotor, a Bluetooth modul és az amerikai szenzor összességében sok áramot vesz fel, amelyet az Arduino nem lesz képes előállítani. Ezért feltétlenül ajánlott bármilyen külső + 5 V-os tápellátást használni. Ha nincs elérhető + 5 V-os tápegysége, akkor megoszthatja az alkatrészeket két Arduino kártya között, ahogy én tettem. Csatlakoztattam a Servos tápvezetékeket egy másik Arduino táblához (piros színű), és csatlakoztattam a HC-05 Bluetooth modult és a HC-SR04 ultrahangos érzékelőt az Arduino megához. VIGYÁZAT: Mindezek a modulok egy Arduino kártyával történő bekapcsolásával megsül az Arduino feszültségszabályozó.
Az Arduino alapú szonárprojekt kapcsolási rajza az alábbiakban látható:
Miután a csatlakozás megtörtént, szerelje az amerikai érzékelőt a szervomotorjára az alábbiak szerint:
Az érzékelő felszereléséhez egy kis műanyag darabot használtam, amely a szemétemben volt, és egy dupla oldalsó szalagot. Előállhat saját ötlete, hogy ugyanezt tegye. A piacon vannak olyan szervo tartók is, amelyek ugyanarra a célra használhatók.
Miután a Servo fel van szerelve és a Connections meg van adva, valami ilyennek kell kinéznie.
Kövesse a fenti rajzokat, ha hibás a kapcsolat. Most kezdjük el az Arduino Mega programozását az Arduino IDE használatával.
Arduino szoftverrész:
Ki kell írnunk a kódunkat, hogy kiszámolhassuk az objektum és az Ultra Sonic érzékelő közötti távolságot, és elküldhessük mobilalkalmazásunknak. Kódot is kell írnunk ahhoz, hogy szervomotorunk söpörhessen, és a Bluetooth modul által kapott adatokból is vezérelhetővé váljon. De ne aggódjon, a program sokkal egyszerűbb, mint amit el tud képezni, köszönhetően az Arduino-nak és annak könyvtárainak. A teljes kódot alább, a kód részben adjuk meg.
Az alábbi funkcióval arra szolgál, hogy a szervomotor automatikusan balról jobbra (170–10) és ismét jobbról balra (10–170) söpörjön. A két for hurkokat használnak elérni ugyanazt. Az us () függvényt mindkét függvényben meghívjuk az érzékelő és az objektum közötti távolság kiszámításához és a Bluetooth-ra történő sugárzásához. 50 ms késleltetést kapunk, hogy a szervo lassan forogjon. Minél lassabban forog a motor, pontosabbá válik az olvasás.
// ** A szervo seprésének funkciója ** // void servofun () {Serial.println ("Sweeping"); // a (posc = 10; posc <= 170; posc ++) hibakereséséhez // A 10–170 fok használata biztonságos, mint 0–180, mert előfordulhat, hogy egyes szervók nem működnek szélsőséges angyaloknál {servo.write (posc); // állítsa be a szervomotor késleltetésének helyzetét (50); minket(); // mérje meg az objektumok távolságát az amerikai szenzor szerint (posc = 170; posc> = 10; posc--) {servo.write (posc); késés (50); minket(); // az objektumok távolságának mérése az amerikai érzékelő segítségével} Serial.println ("Scan Complete"); // a flag hibakereséséhez = 0; } // ** A szervo seprési funkciójának vége ** //
Mint korábban említettük, a szervomotort kézzel is vezérelhetjük okos telefonról. Egyszerűen csúsztat jobbra, hogy a motor jobbra mozogjon, és balra csúsztatva, hogy a motor balra mozogjon. A fenti funkciót használják ugyanez elérésére. Az angyal a szervomotor lesz közvetlenül kell érkeznie a Bluetooth modul és tárolja a változó BluetoothData , akkor a szervo helyzet, hogy az adott Angel segítségével a vonal servo.write (BluetoothData).
// ** A szervo kézi vezérlésének funkciója ** // void manualservo () {us (); // Értéket kap a felhasználótól, és irányíthatja a szervót, ha (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); szervo.write (BluetoothData); Serial.println ("Írott"); if (BluetoothData == 'p') {flag = 0; }}} // __ A kézi vezérlési funkció vége __ //
Az objektum előtti távolságot az alábbi függvény alapján számoljuk ki. Egyszerű képletekkel működik, amelyek sebessége = távolság / idő. Mivel tudjuk az amerikai hullám sebességét és a megtett időt, a fenti képletek segítségével kiszámítható.
// ** A távolság mérésére szolgáló funkció ** // void us () {int időtartam, távolság; digitalWrite (trigPin, HIGH); késleltetés mikroszekundum (1000); digitalWrite (trigPin, LOW); időtartam = pulseIn (echoPin, HIGH); távolság = (időtartam / 2) / 29,1; // Kiszámítja az érzékelő távolságát, ha (távolság <200 && távolság> 0) Blueboy.write (távolság); } // __ Távolságmérési funkció vége __ //
Ha kétségei vannak a programmal kapcsolatban, nyugodtan használja a megjegyzés részt a kívánságaihoz. Tehát, ha készen állunk a kódunkra, azonnal bedobhatjuk a kódot a hardverünkbe. De a felügyeleti eszköz csak akkor kezd működni, ha csatlakozik az Android alkalmazáshoz. Ellenőrizze a videó teljes működését is.
Android mobil alkalmazás ultrahangos radarhoz:
Ha nem akarja elkészíteni saját alkalmazását, és inkább csak ugyanazt az alkalmazást szeretné telepíteni, amelyet ebben az oktatóanyagban használt, akkor kövesse az alábbi lépéseket.
1. Az APK fájlt közvetlenül letöltheti az alábbi linkről. Ez az APK fájl az Android 4.4.2 és újabb verzióihoz készült (a Kitkat egy felett). Bontsa ki az APK fájlt a zip fájlból.
Android alkalmazás ultrahangos radar
2. Vigye az.Apk fájlt a számítógépről a mobiltelefonjára.
3. Engedélyezze az alkalmazás telepítését ismeretlen forrásokból az android beállításaiban.
4. Telepítse az alkalmazást.
Sikeres telepítés esetén megtalálja a telefonjára telepített „Zelobt” nevű alkalmazást az alábbiak szerint:
Ha telepítette ezt az APK-t, akkor kihagyhatja az alábbi részt, és ugorhat a következő szakaszra.
Saját alkalmazás programozása feldolgozással:
Vagy használhatja a fent megadott.APK fájlt, vagy elkészítheti saját alkalmazását a Processing használatával, az itt leírtak szerint. A programozás kevés ismerete mellett nagyon egyszerű saját kódot írni az androidos alkalmazásához. Ha azonban még csak most kezdődik, akkor nem tanácsos ezzel a kóddal kezdeni, mivel kissé magas, mint a kezdő szint.
Ez a program két könyvtárat használ, nevezetesen a „Ketai könyvtárat” és a „ControlP5 könyvtárat” . A ketai könyvtár a mobiltelefonunkon belül található összes hardver vezérlésére szolgál. Ilyen dolgok, mint például az akkumulátor töltöttségi szintje, a közelségérzékelő értékei, a gyorsulásmérő értékei, a Bluetooth vezérlési lehetőségei stb., Könnyen elérhetők ebből a könyvtárból. Ebben a programban ezt a könyvtárat használjuk a Bluetooth és az Arduino Bluetooth (HC-05) telefonok közötti kommunikáció létrehozására. A „ControlP5 könyvtár” a radarrendszerünk grafikonjainak ábrázolására szolgál.
A teljes android program csatolva van, innen letöltheti.
VIGYÁZAT: Ne felejtse el telepíteni a fent említett könyvtárakat, és ne másolja be egyedül a kódrészt, mert a kód képeket importál az adatmappából, amely a fenti mellékletben található. Ezért csak ezt töltse le és használja.
Miután elkészült a kódoló résszel és sikeresen összeállította azt, adatkábelen keresztül közvetlenül csatlakoztathatja mobiltelefonját a számítógépéhez, és a Play gombra kattintva elnémíthatja az alkalmazást a mobiltelefonjára. Ellenőrizze a többi feldolgozási projektünket is: Ping Pong Game Arduino használatával és Smart Phone Controlled FM Radio feldolgozással.
Munka magyarázat:
Most készen állunk a hardveres és a szoftveres részünkkel. Kapcsolja be a hardvert, és párosítsa mobilját a Bluetooth modulhoz. A párosítás után nyissa meg az imént telepített „Zelobt” alkalmazást, és várjon egy másodpercet, és észre kell vennie, hogy a Bluetooth modulja (HC-05) automatikusan csatlakozik okostelefonjához. A kapcsolat létrejötte után a következő képernyőt kapja:
Észreveheti, hogy a képernyő tetején fel van tüntetve: Eszköz neve (hardver címe). Megjeleníti a szervomotor aktuális angyalát és az amerikai érzékelő közötti távolságot is. A piros háttéren kék grafikon is ábrázolódik a mért távolság alapján. Minél közelebb kerül az objektum, annál magasabb lesz a kék terület. A grafikon, amelyet akkor mértünk, amikor egyes tárgyakat a közelébe helyezünk, a fenti második ábrán is látható.
Mint korábban említettük, a szervomotort a mobilalkalmazásból is vezérelheti. Ehhez egyszerűen kattintson a stop gombra. Ez megakadályozza a szervo automatikus seprését. A képernyő alján találhat egy kör alakú kereket is, amely elcsúsztatásával óramutató vagy óramutató járásával ellentétesen forog. Ennek a keréknek az elcsúsztatásával a szervomotor is az adott irányba fordulhat. A kerék és az ujjváltáskor frissített grafikon az alábbi képen látható.
Az Arduino Code alább található, és itt van az Android alkalmazás APK fájlja. A teljes projekt működését az alábbi videó mutatja. Remélem, megértette a projektet. Ha bármilyen igénye van, kérjük, használja az alábbi megjegyzések részt.