- Requisits:
- Descàrrega i instal·lació de programes:
- Part del maquinari Arduino i diagrama de circuits:
- Part del programari Arduino:
- Aplicació per a mòbils Android per a radars d'ultrasons:
- Explicació de treball:
Es tracta d’un interessant projecte en què explorem la potència d’un Arduino i Android per crear un dispositiu de vigilància que utilitza Arduino i Ultra Sonic Sensor per transmetre la informació a una aplicació mòbil (Android) mitjançant Bluetooth.
La seguretat és la nostra principal preocupació des de sempre. Instal·lar una càmera de seguretat que tingui el mode nocturn amb opció d’inclinació i panoràmica ens cremarà un gran forat a les butxaques. Per tant, fem un dispositiu econòmic que fa gairebé el mateix, però sense cap funció de vídeo.
Aquest dispositiu detecta objectes amb l'ajut del sensor d'ultrasons i, per tant, pot funcionar fins i tot durant la nit. També estem muntant el sensor dels EUA (Ultra Sonic) sobre un servomotor; aquest servomotor es pot configurar perquè giri automàticament per escanejar l'àrea o es pugui girar manualment mitjançant la nostra aplicació mòbil, de manera que puguem enfocar el sensor ultrasònic la nostra direcció i sentit necessaris dels objectes presents allà. Tota la informació detectada pel sensor dels EUA es transmetrà al nostre telèfon intel·ligent mitjançant el mòdul Bluetooth (HC-05). Per tant, funcionarà com un sonar o un radar.
Interessant oi ??…. Vegem què requeriríem per fer aquest projecte.
Requisits:
Maquinari:
- Una font d'alimentació de + 5 V (estic fent servir la meva placa Arduino (una altra) per a la font d'alimentació)
- Arduino Mega (Podeu utilitzar qualsevol cosa, des de pro mini fins a Yun)
- Servomotor (qualsevol valoració)
- Mòdul Bluetooth (HC-05)
- Sensor Ultra Sonic (HC-SR04)
- Tauler de pa (no obligatori)
- Connexió de cables
- Mòbil Android
- Ordinador per a la programació
Programari:
- Programari Arduino
- SDK d'Android
- S'està processant Android (per crear una aplicació mòbil)

Un cop estiguem preparats amb els nostres materials, comencem a construir el maquinari. He dividit aquest tutorial en la part Arduino i la part de processament per facilitar-ne la comprensió. Les persones que s’inicien en el processament no han de témer molt perquè el codi complet es dóna al final del tutorial que es pot utilitzar com a tal.
Descàrrega i instal·lació de programes:
L’ IDE Arduino es pot instal·lar des d’aquí. Baixeu-vos el programari segons el vostre sistema operatiu i instal·leu-lo. L’IDE d’Arduino requerirà un controlador per comunicar-se amb el maquinari Arduino. Aquest controlador s'hauria d'instal·lar automàticament un cop hàgiu connectat la placa amb l'ordinador. Proveu de penjar un programa de parpelleig d’exemples per assegurar-vos que Arduino està en funcionament.
L’ IDE de processament es pot instal·lar des d’aquí. El processament és una excel·lent aplicació de codi obert que es pot utilitzar per a moltes coses, té diversos modes. A "Mode Java" podem crear aplicacions informàtiques Windows (fitxers.EXE) i a "Mode Android" podem crear aplicacions mòbils Android (fitxers.APK) també té altres modes com "Mode Python" on podeu escriure programes Python. Aquest tutorial no cobrirà els conceptes bàsics de Processament, per tant, si voleu aprendre la programació o processament de Java dirigiu-vos a aquest fantàstic canal de YouTube aquí.
Part del maquinari Arduino i diagrama de circuits:
Aquest projecte inclou una gran quantitat de components com el servomotor, el mòdul Bluetooth, el sensor d'ultrasons, etc. Per tant, si sou un principiant absolut, es recomana començar amb algun tutorial bàsic que impliqui aquests components i tornar aquí. Consulteu aquí els nostres diversos projectes sobre servomotor, mòdul Bluetooth i sensor d'ultrasons.
Tots els components no són alimentats pel propi Arduino, ja que el servomotor, el mòdul Bluetooth i el sensor nord-americà extreuen una gran quantitat de corrent que l'Arduino no podrà obtenir. Per tant és estrictament aconsellable utilitzar qualsevol alimentació de +5 V externa. Si no teniu un subministrament extern de + 5V al vostre abast, podeu compartir els components entre dues plaques Arduino com he fet jo. He connectat els rails d'alimentació Servos a una altra placa Arduino (color vermell) i he connectat el mòdul Bluetooth HC-05 i el sensor d'ultrasons HC-SR04 a la mega Arduino. PRECAUCIÓ: L'encesa de tots aquests mòduls mitjançant una placa Arduino fregarà el regulador de voltatge Arduino.
A continuació es mostra el diagrama de connexió d’aquest projecte de sonar basat en Arduino:

Un cop realitzades les connexions, munteu el sensor dels EUA al motor servo com es mostra a continuació:

He utilitzat una petita peça de plàstic que hi havia a la brossa i una cinta lateral doble per muntar el sensor. Podeu fer la vostra pròpia idea per fer el mateix. També hi ha servoports disponibles al mercat que es poden utilitzar amb el mateix propòsit.
Quan el Servo estigui muntat i es donin les connexions, hauria de ser semblant a això.

Seguiu els esquemes que apareixen a la part superior si teniu connexions incorrectes. Ara comencem a programar l'Arduino Mega mitjançant l'IDE Arduino.
Part del programari Arduino:
Hem d’escriure el nostre codi per poder calcular la distància entre un objecte i el sensor Ultra Sonic i enviar-lo a la nostra aplicació mòbil. També hem d’escriure codi perquè el nostre servomotor pugui escombrar-lo i controlar-lo a partir de les dades rebudes pel mòdul Bluetooth. Però no us preocupeu, el programa és molt més senzill del que podeu imaginar, gràcies a Arduino i les seves biblioteques. A continuació es mostra el codi complet a la secció de codis.
La funció de sota s'utilitza per fer que el servomotor escorri automàticament d'esquerra a dreta (170 a 10) i de nou de dreta a esquerra (10 a 170). Els dos de bucles s'utilitzen per aconseguir el mateix. La funció us () s’anomena dins de les dues funcions per calcular la distància entre el sensor i l’objecte i transmetre-la al Bluetooth. Es dóna un retard de 50 ms perquè el servo giri lentament. Com més lent giri el motor, les lectures seran exactes.
// ** Funció per al servo per escombrar ** // void servofun () {Serial.println ("Sweeping"); // per a la depuració de (posc = 10; posc <= 170; posc ++) // L'ús de 10 a 170 graus és segur de 0 a 180 perquè és possible que alguns servos no estiguin operatius en àngels extrems {servo.write (posc); // Estableix la posició del retard del servomotor (50); nosaltres(); // mesurar la distància dels objectes cantar el sensor dels EUA} per (posc = 170; posc> = 10; posc--) {servo.write (posc); retard (50); nosaltres(); // mesurar la distància dels objectes cantar el sensor dels EUA} Serial.println ("Scan Complete"); // per a la depuració de bandera = 0; } // ** Funció d'escombrat de finalització de la servo ** //
Com s’ha dit anteriorment, el servomotor també es pot controlar manualment des del telèfon intel·ligent. Simplement feu lliscar cap a la dreta per fer que el motor es mogui cap a la dreta i cap a l’esquerra per fer que el motor es mogui cap a l’esquerra. La funció anterior s’utilitza per aconseguir el mateix. L’àngel del servomotor el rebrà directament el mòdul Bluetooth i s’emmagatzemarà a la variable BluetoothData ; aleshores, el servo es posicionarà en aquest àngel en particular mitjançant la línia servo.write (BluetoothData).
// ** Funció per controlar Servo manualment ** // void manualservo () {us (); // Obtingueu valor de l'usuari i controleu el servo si (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("escrit"); if (BluetoothData == 'p') {flag = 0; }}} // __ Fi de la funció de control manual __ //
La distància present abans de l'objecte es calcularà mitjançant la funció següent. Funciona amb fórmules senzilles que Velocitat = Distància / temps. Com que sabem la velocitat de l'ona nord-americana i el temps que es pren, la distància es pot calcular mitjançant les fórmules anteriors.
// ** Funció per mesurar la distància ** // void us () {int durada, distància; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); durada = pulseIn (echoPin, HIGH); distància = (durada / 2) / 29,1; // Calcula la distància del sensor si (distància <200 && distància> 0) Blueboy.write (distància); } // __ Funció de mesura de final de distància __ //
Si teniu dubtes al programa, no dubteu a utilitzar la secció de comentaris per a les vostres consultes. Per tant, un cop estiguem llestos amb el nostre codi, podem abocar-lo immediatament al nostre maquinari. Però el dispositiu de vigilància no començarà a funcionar fins que no estigui connectat a l'aplicació Android. Comproveu també el vídeo al final per funcionar completament.
Aplicació per a mòbils Android per a radars d'ultrasons:
Si no voleu crear la vostra pròpia aplicació i, en canvi, només voleu instal·lar la mateixa aplicació que s’utilitza en aquest tutorial, podeu seguir els passos següents.
1. Podeu baixar directament el fitxer APK des de l'enllaç següent. Aquest fitxer APK està dissenyat per a la versió d'Android 4.4.2 i posteriors (Kitkat an above). Extraieu el fitxer APK del fitxer zip.
Aplicació d'Android per radar d'ultrasons
2. Transferiu el fitxer.Apk des del vostre ordinador al vostre telèfon mòbil.
3. Activeu la instal·lació de l'aplicació de fonts desconegudes a la configuració d'Android.
4. Instal·leu l'aplicació.
Si s’instal·la correctament, trobareu l’aplicació anomenada “Zelobt” instal·lada al telèfon, tal com es mostra a continuació:

Si heu instal·lat aquest APK, podeu ometre la part següent i passar a la secció següent.
Programació de la vostra pròpia aplicació mitjançant Processament:
Podeu utilitzar el fitxer.APK indicat anteriorment o bé podeu crear la vostra pròpia aplicació mitjançant Processament, tal com s’explica aquí. Amb pocs coneixements sobre programació, també és molt fàcil escriure el vostre propi codi per a la vostra aplicació per a Android. Tanmateix, si tot just comenceu, no és recomanable començar amb aquest codi, ja que és una mica més alt que el nivell per a principiants.
Aquest programa utilitza dues biblioteques, és a dir, la "biblioteca Ketai" i la "biblioteca ControlP5" . La biblioteca ketai s’utilitza per controlar tot el maquinari present al nostre telèfon mòbil. Aquesta biblioteca pot accedir fàcilment a coses com el nivell de bateria dels vostres telèfons, els valors del sensor de proximitat, els valors del sensor acceleròmetre, les opcions de control Bluetooth, etc. En aquest programa utilitzem aquesta biblioteca per establir una comunicació entre els telèfons Bluetooth i l'Arduino Bluetooth (HC-05). La "biblioteca ControlP5" s'utilitza per representar gràfics del nostre sistema de radar.
El programa complet s'adjunta androide, pot descarregar des d'aquí.
PRECAUCIÓ: No oblideu instal·lar les biblioteques esmentades anteriorment i no copieu enganxeu la part del codi sola, ja que el codi importa imatges de la carpeta de dades que apareix en el fitxer adjunt anterior. Per tant, descarregueu i utilitzeu només això.
Un cop hàgiu acabat la part de codificació i l'heu compilat amb èxit, podeu connectar directament el vostre telèfon mòbil a l'ordinador mitjançant un cable de dades i fer clic al botó de reproducció per silenciar l'aplicació al vostre telèfon mòbil. Consulteu també els nostres altres projectes de processament: joc de Ping Pong amb Arduino i ràdio FM controlada per telèfon intel·ligent mitjançant processament.
Explicació de treball:
Ara estem preparats amb el nostre maquinari i la part de programari. Enceneu el maquinari i vinculeu el mòbil amb el mòdul Bluetooth. Un cop aparellat, obriu l'aplicació "Zelobt" que acabem d'instal·lar i ara espereu un segon i haureu de notar que el mòdul Bluetooth (HC-05) es connecta automàticament amb el vostre telèfon intel·ligent. Un cop establerta la connexió, obtindreu la pantalla següent:


Podeu notar que diu connectat a: Nom del dispositiu (adreça de maquinari) a la part superior de la pantalla. També mostra l’àngel actual del servomotor i la distància entre el sensor dels EUA. També es representa un gràfic blau sobre el fons vermell segons la distància mesurada. Com més s’acosta l’objecte, més alta és la zona blava. El gràfic mesurat quan es col·loquen alguns objectes també es mostra a la segona figura anterior.
Com s’ha dit anteriorment, també podeu controlar el servomotor des de la vostra aplicació mòbil. Per fer-ho, només cal que feu clic al botó Atura. D’aquesta manera, el servo no s’escombrarà automàticament. També podeu trobar una roda circular a la part inferior de la pantalla que, quan es llisca, girarà en sentit rellotge o anti rellotge. Fent lliscar aquesta roda també podeu fer girar el servomotor en aquesta direcció particular. La roda i el gràfic actualitzats en lliscar es mostren a la imatge següent.


A continuació es mostra el codi Arduino i el fitxer APK de l’aplicació per a Android. El funcionament del projecte complet es mostra al vídeo següent. Espero que hagueu entès el projecte. Si teniu cap dubte, utilitzeu la secció de comentaris a continuació.
