- Cerințe:
- Descărcarea și instalarea software-urilor:
- Piesa hardware Arduino și schema de circuite:
- Partea software Arduino:
- Aplicație mobilă Android pentru radar cu ultrasunete:
- Explicație de lucru:
Acesta este un proiect interesant în care explorăm puterea unui Arduino și Android pentru a crea un dispozitiv de supraveghere care utilizează Arduino și Ultra Sonic Sensor pentru a transmite informațiile către o aplicație mobilă (Android) utilizând Bluetooth.
Siguranța și securitatea au fost preocuparea noastră principală de la vârste. Instalarea unei camere de securitate care are modul de noapte cu opțiunea de înclinare și panoramare va arde o gaură mare în buzunarele noastre. Prin urmare, permiteți-ne să facem un dispozitiv economic care face aproape același lucru, dar fără funcții video.
Acest dispozitiv detectează obiecte cu ajutorul senzorului cu ultrasunete și, prin urmare, poate funcționa chiar și în timpul nopții. De asemenea, montăm senzorul SUA (Ultra Sonic) peste un servomotor, acest servomotor poate fi setat să se rotească automat pentru a scana zona sau poate fi rotit manual folosind aplicația noastră mobilă, astfel încât să putem focaliza senzorul ultrasonic în direcția necesară și simțim obiectele prezente acolo. Toate informațiile detectate de senzorul SUA vor fi difuzate pe telefonul nostru inteligent utilizând modulul Bluetooth (HC-05). Deci, va funcționa ca un sonar sau un radar.
Interesant nu ??…. Să vedem ce am avea nevoie pentru a face acest proiect.
Cerințe:
Hardware:
- O sursă de alimentare de + 5V (folosesc placa Arduino (o altă) pentru alimentare)
- Arduino Mega (Puteți folosi orice, de la pro mini la Yun)
- Servomotor (orice rating)
- Modul Bluetooth (HC-05)
- Senzor ultra sonic (HC-SR04)
- Breadboard (nu este obligatoriu)
- Conectarea firelor
- Android mobil
- Calculator pentru programare
Software:
- Software Arduino
- SDK Android
- Procesarea Android (Pentru a crea o aplicație mobilă)
Odată ce suntem gata cu materialele noastre, permiteți-ne să începem să construim hardware-ul. Am împărțit acest tutorial în partea Arduino și partea de procesare pentru o înțelegere ușoară. Oamenii care sunt noi la procesare nu trebuie să se teamă prea mult, deoarece codul complet este dat la sfârșitul tutorialului, care poate fi folosit ca atare.
Descărcarea și instalarea software-urilor:
Arduino IDE poate fi instalat de aici. Descărcați software-ul în funcție de sistemul dvs. de operare și instalați-l. IDE-ul Arduino va necesita un driver pentru a comunica cu hardware-ul dvs. Arduino. Acest driver ar trebui instalat automat odată ce vă conectați placa la computer. Încercați să încărcați un program de clipire din exemple pentru a vă asigura că Arduino este în funcțiune.
Procesarea IDE poate fi instalat de aici. Procesarea este o aplicație excelentă open source care poate fi utilizată pentru multe lucruri, are diferite moduri. În „Mod Java” putem crea aplicații Windows pentru computer (fișiere.EXE) și în „Mod Android” putem crea aplicații mobile Android (fișiere.APK) are și alte moduri precum „Mod Python” în care vă puteți scrie programe Python. Acest tutorial nu va acoperi elementele de bază ale procesării, prin urmare, dacă doriți să învățați programarea sau procesarea java, accesați acest canal YouTube excelent aici.
Piesa hardware Arduino și schema de circuite:
Acest proiect implică o mulțime de componente precum Servomotorul, modulul Bluetooth, senzorul cu ultrasunete etc. Prin urmare, dacă sunteți un începător absolut, ar fi recomandat să începeți cu un tutorial de bază care implică aceste componente și apoi să reveniți aici. Consultați aici diferitele noastre proiecte privind servomotorul, modulul Bluetooth și senzorul cu ultrasunete.
Toate componentele nu sunt alimentate de Arduino în sine, deoarece servomotorul, modulul Bluetooth și senzorul SUA captează în totalitate mult curent pe care Arduino nu îl va putea sursa. Prin urmare, este strict recomandabil să utilizați orice sursă externă de + 5V. Dacă nu aveți la dispoziție o sursă externă de + 5V, puteți partaja componentele între două plăci Arduino așa cum am făcut. Am conectat șinele de alimentare Servos la o altă placă Arduino (culoare roșie) și am conectat modulul Bluetooth HC-05 și senzorul cu ultrasunete HC-SR04 la mega Arduino. ATENȚIE: Pornirea tuturor acestor module folosind o placă Arduino va prăji regulatorul de tensiune Arduino.
Schema de conexiune pentru acest proiect sonar bazat pe Arduino este prezentată mai jos:
După realizarea conexiunilor, montați senzorul SUA pe motorul Servo, așa cum se arată mai jos:
Pentru a monta senzorul, am folosit o mică bucată de plastic care era în coșul meu și o bandă dublă laterală Puteți veni cu propria idee pentru a face același lucru. Există, de asemenea, servo-suporturi disponibile pe piață, care pot fi utilizate în același scop.
Odată ce Servo-ul este montat și Conexiunile sunt date, ar trebui să arate cam așa.
Urmați schemele de mai sus dacă aveți conexiuni greșite. Acum, să începem să programăm Arduino Mega folosind Arduino IDE.
Partea software Arduino:
Trebuie să ne scriem codul, astfel încât să putem calcula distanța dintre un obiect și senzorul Ultra Sonic și să îl trimitem la aplicația noastră mobilă. De asemenea, trebuie să scriem cod pentru ca servomotorul nostru să măture și, de asemenea, să fie controlat din datele primite de modulul Bluetooth. Dar nu vă faceți griji, programul este mult mai simplu decât puteți imagina, datorită Arduino și bibliotecilor sale. Codul complet este dat mai jos în secțiunea cod.
Funcția de mai jos este utilizată pentru a face ca servomotorul să măture automat de la stânga la dreapta (170 la 10) și din nou de la dreapta la stânga (10 la 170). Cele două pentru bucle sunt utilizate pentru a obține același lucru. Funcția us () este numită în interiorul ambelor funcții pentru a calcula distanța dintre senzor și obiect și a o transmite către Bluetooth. O întârziere de 50 ms este dată pentru a face rotirea servo lentă. Cu cât motorul se rotește mai lent, cu atât citirile devin exacte.
// ** Funcție pentru servo pentru a mătura ** // void servofun () {Serial.println ("Sweeping"); // pentru depanare pentru (posc = 10; posc <= 170; posc ++) // Utilizarea de la 10 la 170 de grade este sigură de la 0 la 180, deoarece unele servo s-ar putea să nu fie operaționale la îngeri extremi {servo.write (posc); // setați poziția întârzierii servomotorului (50); ne(); // măsurați distanța obiectelor cântați senzorul SUA} pentru (posc = 170; posc> = 10; posc--) {servo.write (posc); întârziere (50); ne(); // măsurați distanța obiectelor cântați senzorul SUA} Serial.println ("Scan Complete"); // pentru debugging flag = 0; } // ** Funcția de sfârșit de servare ** //
După cum sa spus mai devreme, servomotorul poate fi controlat și manual de pe telefonul inteligent. Pur și simplu glisați spre dreapta pentru a face motorul să se deplaseze spre dreapta și glisați spre stânga pentru a face motorul să se deplaseze la stânga. Funcția de mai sus este utilizată pentru a obține același lucru. Îngerul servomotorului va fi recepționat direct de modulul Bluetooth și stocat în variabila BluetoothData , apoi servo-ul este poziționat în acel înger particular utilizând linia servo.write (BluetoothData).
// ** Funcție pentru a controla manual Servo ** // void manualservo () {us (); // Obțineți valoare de la utilizator și controlați servo-ul dacă (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println („Scris”); if (BluetoothData == 'p') {flag = 0; }}} // __ Sfârșitul funcției de control manual __ //
Distanța prezentă în fața obiectului va fi calculată prin funcția de mai jos. Funcționează cu o formulă simplă care Viteză = Distanță / timp. Deoarece știm viteza valului SUA și timpul luat, distanța poate fi calculată folosind formulele de mai sus.
// ** Funcția de măsurare a distanței ** // void us () {int durata, distanța; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); durata = pulseIn (echoPin, HIGH); distanță = (durata / 2) / 29,1; // Calculează distanța de la senzor dacă (distanță <200 && distanță> 0) Blueboy.write (distanță); } // __ Funcția de sfârșit de măsurare a distanței __ //
Dacă aveți nelămuriri în program, nu ezitați să utilizați secțiunea de comentarii pentru cerințele dvs. Deci, odată ce suntem pregătiți cu codul nostru, putem descărca imediat codul în hardware-ul nostru. Dar dispozitivul de supraveghere nu va începe să funcționeze până când nu este conectat la aplicația Android. De asemenea, verificați videoclipul de la sfârșit pentru o funcționare completă.
Aplicație mobilă Android pentru radar cu ultrasunete:
Dacă nu doriți să creați propria aplicație și doriți doar să instalați aceeași aplicație folosită în acest tutorial, puteți urma pașii de mai jos.
1. Puteți descărca direct fișierul APK de pe linkul de mai jos. Acest fișier APK este creat pentru versiunea Android 4.4.2 și versiunile ulterioare (Kitkat an above). Extrageți fișierul APK din fișierul zip.
Aplicație Android pentru radar cu ultrasunete
2. Transferați fișierul.Apk de pe computer pe telefonul mobil.
3. Activați instalarea aplicației din surse necunoscute în setările Android.
4. Instalați aplicația.
Dacă este instalat cu succes, veți găsi aplicația numită „Zelobt” instalată pe telefonul dvs., după cum se arată mai jos:
Dacă ați instalat acest APK, puteți sări peste partea de mai jos și să treceți la secțiunea următoare.
Programarea propriei aplicații folosind Procesare:
Fie puteți utiliza fișierul.APK dat mai sus, fie vă puteți crea propria aplicație folosind Procesare, așa cum este explicat aici. Cu puține cunoștințe despre programare, este, de asemenea, foarte ușor să scrieți propriul cod pentru aplicația dvs. Android. Cu toate acestea, dacă abia începeți, nu este recomandabil să începeți cu acest cod, deoarece este puțin mai mare decât nivelul pentru începători.
Acest program folosește două biblioteci și anume, „biblioteca Ketai” și „biblioteca ControlP5” . Biblioteca ketai este utilizată pentru a controla tot hardware-ul prezent în telefonul nostru mobil. Lucruri precum nivelul acumulatorului, valorile senzorului de proximitate, valorile senzorului accelerometrului, opțiunile de control Bluetooth etc. În acest program folosim această bibliotecă pentru a stabili o comunicație între telefoanele Bluetooth și Arduino Bluetooth (HC-05). „Biblioteca ControlP5“ este folosit pentru a graficelor de parcelă pentru sistemul nostru de radar.
Programul Android complet este atașat, îl puteți descărca de aici.
ATENȚIE: Nu uitați să instalați bibliotecile menționate mai sus și nu copiați lipiți singura partea de cod, deoarece codul importă imagini din folderul de date care este în totalitate prezentat în atașamentul de mai sus. Prin urmare, descărcați și utilizați numai asta.
După ce ați terminat cu partea de codificare și ați compilat-o cu succes, vă puteți conecta direct telefonul mobil la computer prin cablu de date și faceți clic pe butonul de redare pentru a rosti aplicația pe telefonul mobil. Verificați și celelalte proiecte de procesare: jocul Ping Pong folosind Arduino și radio FM controlat prin telefon inteligent folosind procesare.
Explicație de lucru:
Acum suntem pregătiți cu partea noastră hardware și software. Porniți hardware-ul și asociați telefonul mobil cu modulul Bluetooth. Odată împerecheat, deschideți aplicația „Zelobt” pe care tocmai am instalat-o și acum așteptați o secundă și ar trebui să observați modulul Bluetooth (HC-05) conectându -se automat la telefonul dvs. inteligent. Odată ce conexiunea este stabilită, veți obține următorul ecran:
Puteți observa că scrie conectat la: Numele dispozitivului (adresa hardware) în partea de sus a ecranului. De asemenea, afișează îngerul actual al servomotorului și distanța dintre senzorul SUA. Un grafic albastru este, de asemenea, trasat pe fundalul roșu pe baza distanței măsurate. Cu cât obiectul se apropie, cu atât zona albastră se înalță. Graficul măsurat atunci când unele obiecte sunt plasate în apropiere este prezentat și în a doua figură de mai sus.
După cum am spus mai devreme, puteți controla și servomotorul din aplicația mobilă. Pentru a face acest lucru, faceți clic pe butonul de oprire. Acest lucru va opri servo-ul dvs. de a mătura automat. De asemenea, puteți găsi o roată circulară în partea de jos a ecranului, care, atunci când este glisată, se va roti în sensul ceasului sau în sens antiorar. Glisând această roată, puteți face și servomotorul să se rotească în acea direcție specială. Roata și graficul actualizat la glisare sunt afișate în imaginea de mai jos.
Codul Arduino este dat mai jos, iar fișierul APK pentru aplicația Android este aici. Funcționarea proiectului complet este prezentată în videoclipul de mai jos. Sper că ai înțeles proiectul. Dacă aveți întrebări, utilizați cu amabilitate secțiunea de comentarii de mai jos.