- Vaatimukset:
- Ohjelmistojen lataaminen ja asentaminen:
- Arduino-laitteisto-osa ja piirikaavio:
- Arduino-ohjelmisto-osa:
- Android-mobiilisovellus ultraäänitutkaa varten:
- Työselitys:
Tämä on mielenkiintoinen projekti, jossa tutkitaan Arduinon ja Androidin voimaa luoda valvontalaite, joka käyttää Arduinoa ja Ultra Sonic Sensoria lähettämään tietoja mobiilisovellukseen (Android) Bluetoothin kautta.
Turvallisuus on ollut ensisijainen huolemme iästä lähtien. Turvakameran asentaminen, jossa on yötila kallistuksella ja pannulla, polttaa suuren reiän taskuissamme. Tehkäämme siis taloudellinen laite, joka tekee melkein saman, mutta ilman video-ominaisuuksia.
Tämä laite tunnistaa esineitä ultraäänianturin avulla ja voi siten toimia myös yöllä. Asennamme myös Yhdysvaltain (Ultra Sonic) anturin servomoottorin päälle, tämä servomoottori voidaan asettaa joko pyörimään automaattisesti alueen skannaamiseksi tai sitä voidaan kääntää manuaalisesti mobiilisovelluksellamme, jotta voimme tarkentaa ultraäänianturin sisään vaadittu suunta ja aistia siellä olevat esineet. Kaikki Yhdysvaltain anturin havaitsemat tiedot lähetetään älypuhelimeemme Bluetooth-moduulin (HC-05) avulla. Joten se toimii kuin kaikuluotain tai tutka.
Mielenkiintoista? Katsotaanpa, mitä vaadimme tämän projektin tekemiseksi.
Vaatimukset:
Laitteisto:
- + 5 V: n virtalähde (käytän virtalähteenä Arduino (toista) -korttia)
- Arduino Mega (Voit käyttää mitä tahansa pro ministä Yuniin)
- Servomoottori (mikä tahansa luokitus)
- Bluetooth-moduuli (HC-05)
- Ultraääninen anturi (HC-SR04)
- Leipälauta (ei pakollinen)
- Johtojen liittäminen
- Android-matkapuhelin
- Tietokone ohjelmointia varten
Ohjelmisto:
- Arduino-ohjelmisto
- Android SDK
- Androidin käsittely (mobiilisovelluksen luominen)
Kun olemme valmiit materiaaliemme kanssa, aloitetaan laitteistojen rakentaminen. Olen jakanut tämän opetusohjelman Arduino-osaksi ja käsittelyosaksi helpon ymmärtämisen vuoksi. Ihmiset, jotka ovat uusia käsittelyssä, eivät tarvitse pelätä paljon, koska koko koodi annetaan opetusohjelman lopussa, jota voidaan käyttää sellaisenaan.
Ohjelmistojen lataaminen ja asentaminen:
Arduino IDE voidaan asentaa täältä. Lataa ohjelmisto käyttöjärjestelmän mukaan ja asenna se. Arduino IDE vaatii ohjaimen kommunikoimaan Arduino-laitteistosi kanssa. Tämän ohjaimen pitäisi asentaa automaattisesti, kun liität kortin tietokoneeseen. Yritä ladata vilkkuva ohjelma esimerkkeistä varmistaaksesi, että Arduino on käynnissä.
Processing IDE voidaan asentaa täältä. Käsittely on erinomainen avoimen lähdekoodin sovellus, jota voidaan käyttää moniin asioihin, sillä on erilaisia tiloja. "Java-tilassa" voimme luoda Windows-tietokonesovelluksia (.EXE-tiedostoja) ja "Android-tilassa" voimme luoda Android-mobiilisovelluksia (.APK-tiedostoja), sillä on myös muita tiloja, kuten "Python-tila", johon voit kirjoittaa sinulle python-ohjelmia. Tämä opetusohjelma ei kata käsittelyn perusteita, joten jos haluat oppia Java-ohjelmoinnin tai prosessoinnin tälle tälle upealle YouTube-kanavalle.
Arduino-laitteisto-osa ja piirikaavio:
Tämä projekti sisältää monia komponentteja, kuten servomoottorin, Bluetooth-moduulin, ultraäänianturin jne. Jos siis olet aivan aloittelija, on suositeltavaa aloittaa joillakin perusoppailla, joihin nämä komponentit kuuluvat, ja palata sitten tänne. Tutustu erilaisiin servomoottoreita, Bluetooth-moduuleja ja ultraääniantureita koskeviin projekteihimme täällä.
Kaikkia komponentteja ei virtaa itse Arduino, koska servomoottori, Bluetooth-moduuli ja yhdysvaltalainen anturi vetävät yhteensä paljon virtaa, jota Arduino ei pysty tuottamaan. Siksi on ehdottomasti suositeltavaa käyttää mitä tahansa ulkoista + 5 V: n virtalähdettä. Jos sinulla ei ole ulkoinen + 5 V: n virtalähdettä ulottuvillasi, voit jakaa komponentit kahden Arduino-kortin välillä, kuten olen tehnyt. Olen liittänyt Servos-virtakiskot toiseen Arduino-korttiin (punainen) ja liittänyt Bluetooth-moduulin HC-05 ja ultraäänianturin HC-SR04 Arduino-megaan. VAROITUS: Kaikkien näiden moduulien virran kytkeminen yhdellä Arduino-kortilla paistaa Arduino-jännitesäätimen.
Tämän Arduino-pohjaisen luotainhankkeen kytkentäkaavio on annettu alla:
Kun liitännät on tehty, asenna USA-anturi servomoottoriin alla olevan kuvan mukaisesti:
Anturin asentamiseen olen käyttänyt pientä muovikappaletta, joka oli roskassani, ja kaksoissivunauhaa. Voit keksiä oman idean tehdä sama. Markkinoilla on myös servopidikkeitä, joita voidaan käyttää samaan tarkoitukseen.
Kun servo on asennettu ja yhteydet on annettu, sen pitäisi näyttää tältä.
Noudata yläreunan kaavioita, jos liitännät ovat väärässä. Aloitetaan nyt Arduino Mega -ohjelmointi Arduino IDE: n avulla.
Arduino-ohjelmisto-osa:
Meidän on kirjoitettava koodimme, jotta voimme laskea etäisyyden kohteen ja Ultra Sonic -anturin välillä ja lähettää sen mobiilisovelluksellemme. Meidän on myös kirjoitettava koodi servomoottorillemme pyyhkäisemään ja hallitsemaan myös Bluetooth-moduulin vastaanottamista tiedoista. Mutta älä huoli, että ohjelma on paljon yksinkertaisempi kuin voit kuvata Arduinon ja sen kirjastojen ansiosta. Koko koodi on annettu alla koodi-osassa.
Alla -toiminnon avulla servomoottori pyyhkäisee automaattisesti vasemmalta oikealle (170-10) ja jälleen oikealta vasemmalle (10-170). Kaksi varten käytetään silmukoita saavuttaa sama. Toimintoa us () kutsutaan molempien toimintojen sisälle anturin ja kohteen välisen etäisyyden laskemiseksi ja lähettämiseksi Bluetoothille. Annetaan 50 ms viive, jotta servo pyörii hitaasti. Hitaammin moottori pyörii tarkkoja lukemiasi.
// ** Servo-toiminnon pyyhkäisy ** // void servofun () {Serial.println ("Sweeping"); // virheenkorjausta varten (posc = 10; posc <= 170; posc ++) // 10-170 asteen käyttö on turvallista kuin 0-180, koska jotkut servot eivät välttämättä toimi äärimmäisissä enkeleissä {servo.write (posc); // aseta servomoottorin viiveen (50) asento; meille(); // mittaa kohteiden etäisyys laulaa Yhdysvaltain anturi} (posc = 170; posc> = 10; posc--) {servo.write (posc); viive (50); meille(); // mittaa kohteiden etäisyys laulaa Yhdysvaltain anturi} Serial.println ("Skannaus valmis"); // virheenkorjauslippu = 0; } // ** Servo-lakaisutoiminnon loppu ** //
Kuten aiemmin mainittiin, servomoottoria voidaan ohjata myös manuaalisesti älypuhelimesta. Pyyhkäise vain oikealle, jotta moottori liikkuu oikealle, ja pyyhkäise vasemmalle, jotta moottori liikkuu vasemmalle. Yllä olevaa toimintoa käytetään saman saavuttamiseksi. Servomoottorin enkeli otetaan suoraan vastaan Bluetooth-moduulilla ja tallennetaan muuttujaan BluetoothData , ja sitten servo on paikalla kyseisessä enkelissä käyttämällä linjaa servo.write (BluetoothData).
// ** Toiminto ohjata Servoa manuaalisesti ** // void manualservo () {us (); // Hanki arvo käyttäjältä ja hallitse servoa, jos (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("kirjoitettu"); jos (BluetoothData == 'p') {lippu = 0; }}} // __ manuaalisen ohjaustoiminnon loppu __ //
Kohteen edessä oleva etäisyys lasketaan alla olevan toiminnon avulla. Se toimii yksinkertaisilla kaavoilla, jotka Speed = Distance / time. Koska tiedämme Yhdysvaltain aallon nopeuden ja kuluneen ajan, etäisyys voidaan laskea käyttämällä yllä olevia kaavoja.
// ** Etäisyyden mittaustoiminto ** // void us () {int kesto, etäisyys; digitalWrite (trigPin, HIGH); viive mikrosekuntia (1000); digitalWrite (trigPin, LOW); kesto = pulssi (echoPin, HIGH); etäisyys = (kesto / 2) / 29,1; // Laskee etäisyyden anturista, jos (etäisyys <200 && etäisyys> 0) Blueboy.write (etäisyys); } // __ Etäisyyden mittaustoiminnon loppu __ //
Jos sinulla on epäilyksiä ohjelmassa, voit käyttää kommenttiosaa kyselyihisi. Joten, kun olemme valmiita koodillamme, voimme heti viedä koodin laitteistoon. Valvontalaite ei kuitenkaan ala toimia, ennen kuin se on yhdistetty Android-sovellukseen. Tarkista myös lopussa oleva video, että se toimii täydellisesti.
Android-mobiilisovellus ultraäänitutkaa varten:
Jos et halua tehdä omaa sovellustasi ja haluat vain asentaa saman sovelluksen kuin tässä opetusohjelmassa, voit seurata alla olevia ohjeita.
1. Voit ladata APK-tiedoston suoraan alla olevasta linkistä. Tämä APK-tiedosto on tarkoitettu Android-versiolle 4.4.2 ja uudemmille (Kitkat ja uudemmat). Pura APK-tiedosto zip-tiedostosta.
Android-sovellus ultraäänitutkalle
2. Siirrä.Apk-tiedosto tietokoneeltasi matkapuhelimeesi.
3. Ota sovelluksen asentaminen tuntemattomista lähteistä Android-asetuksiin.
4. Asenna sovellus.
Jos asennus onnistuu, löydät sovelluksen nimeltä Zelobt puhelimeesi asennettuna alla olevan kuvan mukaisesti:
Jos olet asentanut tämän APK: n, voit ohittaa alla olevan osan ja siirtyä seuraavaan osioon.
Oman sovelluksen ohjelmointi prosessoinnin avulla:
Voit joko käyttää yllä annettua.APK-tiedostoa tai voit rakentaa oman sovelluksesi käsittelyn avulla, kuten tässä on selitetty. Ohjelmoinnin vähäisestä tuntemuksesta on myös helppo kirjoittaa oma koodi Android-sovelluksellesi. Kuitenkin, jos olet vasta aloittamassa, ei ole suositeltavaa aloittaa tällä koodilla, koska se on vähän korkea kuin aloittelijan taso.
Tämä ohjelma käyttää kahta kirjastoa, nimittäin "Ketai-kirjasto" ja "ControlP5-kirjasto" . Ketai-kirjastoa käytetään kaiken matkapuhelimessamme olevan laitteiston hallintaan. Tähän kirjastoon pääsee helposti esimerkiksi puhelimesi akun varaustasoon, läheisyysanturin arvoihin, kiihtyvyysanturin arvoihin, Bluetooth-ohjausasetuksiin jne. Tässä ohjelmassa käytämme tätä kirjastoa yhteyden muodostamiseen puhelimien Bluetooth ja Arduino Bluetooth (HC-05) välillä. ”ControlP5 kirjasto” käytetään tontti kaavioita meidän tutkajärjestelmä.
Täydellinen android Ohjelma on liitetty, voit ladata sen täältä.
VAROITUS: Älä unohda asentaa yllä mainittuja kirjastoja äläkä kopioi liittää koodiosaa yksin, koska koodi tuo kuvia datakansiosta, joka on annettu kokonaisuudessaan yllä olevassa liitetiedostossa. Siksi lataa ja käytä vain sitä.
Kun koodausosa on valmis ja se on onnistuneesti koottu, voit liittää matkapuhelimesi suoraan tietokoneeseen datakaapelin kautta ja napsauttaa toistopainiketta mykistääksesi sovelluksen matkapuhelimeesi. Tarkista myös muut käsittelyprojektimme: Ping Pong -peli Arduinoa käyttäen ja älypuhelimella ohjattu FM-radio prosessointia käyttämällä.
Työselitys:
Nyt olemme valmiita laitteisto- ja ohjelmisto-osamme kanssa. Käynnistä laitteisto ja yhdistä matkapuhelin Bluetooth-moduuliin. Kun olet muodostanut pariliitoksen, avaa juuri asentamasi "Zelobt" -sovellus ja odota hetki. Huomaa, että Bluetooth-moduuli (HC-05) muodostaa automaattisesti yhteyden älypuhelimeesi. Kun yhteys on muodostettu, saat seuraavan näytön:
Voit huomata, että näytön yläosassa lukee: laitteen nimi (laitteiston osoite). Se näyttää myös servomoottorin nykyisen enkelin ja Yhdysvaltain anturin välisen etäisyyden. Punaiselle taustalle on piirretty myös sininen kaavio mitatun etäisyyden perusteella. Mitä lähempänä esine tulee, sitä korkeampi sininen alue tulee. Kaavio, joka mitataan, kun jotkut esineet sijoitetaan lähelle, näkyy myös yllä olevassa toisessa kuvassa.
Kuten aiemmin mainittiin, voit ohjata servomoottoriasi myös mobiilisovelluksella. Voit tehdä nämä napsauttamalla pysäytyspainiketta. Tämä estää servosi lakaisemasta automaattisesti. Näytön alaosasta löytyy myös pyöreä pyörä, joka pyyhkäisemällä pyörii kelloon tai vastapäivään. Pyyhkäisemällä tätä pyörää voit myös saada servomoottorin kääntymään kyseiseen suuntaan. Pyörä ja pyyhkäisyllä päivitetty kaavio on esitetty alla olevassa kuvassa.
Arduino-koodi on annettu alla ja Android-sovelluksen APK-tiedosto on täällä. Koko projektin toiminta on esitetty alla olevassa videossa. Toivottavasti ymmärrät projektin. Jos sinulla on kysyttävää, käytä alla olevaa kommenttiosaa.