Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
La idea d’aquest projecte és crear un sensor de seguretat barat i fàcil de fabricar que es pugui utilitzar per alertar-lo quan algú l’hagi creuat. L’objectiu original era crear alguna cosa que em pogués avisar quan algú pujava les escales però també l’utilitzo com a sensor de seguretat per a la porta d’entrada. El programari subministrat en aquesta instrucció és compatible amb macOS. S’hauran de fer lleugers canvis perquè funcioni amb Windows. Per obtenir el codi font complet per a qualsevol d’aquests scripts, consulteu aquest repositori de GitHub.
Subministraments:
- Arduino Nano *
- Sensor d'ultrasons HC-SR04
- Mòdul Bluetooth HC-05
- Interruptor tàctil OMRON
- Resistència de 10k
- Kit de filferro de taulers de pa
- Taula de pa
- Power Bank
* L'uno o mega també es pot utilitzar en lloc del nano.
Pas 1: configuració del circuit
Seguiu l'esquema del circuit tal com es mostra a dalt. Quan pengeu l'esbós Arduino al nano, assegureu-vos de desconnectar els cables dels pins RX i TX del nano. S'ha comprovat que la càrrega a l'Arduino pot provocar errors si aquests pins estan connectats al mòdul bluetooth. Carregueu primer l’esbós i, a continuació, connecteu els pins al mòdul bluetooth.
Components principals
- Arduino Nano - Microcontrolador
- HC-SR04 - Sensor d'ultrasons
- Mòdul HC-05: mòdul Bluetooth
- Interruptor OMRON: botó utilitzat per activar / apagar el sensor
Pas 2: Configuració del programari: Arduino
- Baixeu el programari en sèrie a la vostra biblioteca Arduino
- Assegureu-vos de seleccionar el port i la placa que coincideixen amb el vostre Arduino
- Descarregueu el fitxer d'informació proporcionat i pengeu l'esbós un cop us assegureu que els pins RX / TX de l'Arduino estan desconnectats del mòdul bluetooth.
Pas 3: Configuració del programari: Python
Per avisar-vos amb èxit al vostre ordinador portàtil, haureu d'executar un script Python. Per obtenir ajuda per descarregar Python i les biblioteques necessàries, consulteu aquest útil instructiu de TalalKhalil.
L'escriptura readingValuesV2.py proporcionada llegeix els valors enviats pel mòdul bluetooth, determina si significa que algú ha creuat el sensor i crea una alerta al portàtil. També crea i emmagatzema una carpeta dins d’aquest directori amb totes les mesures que va llegir des que l’escriptura va començar amb una marca de temps.
Fer:
- Descarregueu Python i totes les dependències. (He utilitzat la instal·lació de pip)
- Assegureu-vos d’activar el Bluetooth al portàtil i connectar-vos a un dispositiu anomenat HC-06. L’hauríeu de trobar a la llista d’altres dispositius de la part bluetooth de la configuració del vostre sistema. La contrasenya del mòdul és '1234'.
- La variable anomenada distance_wall és la que determina quan s'apaga el sensor. Per tant, segons la ubicació del sensor, assegureu-vos de canviar aquest valor que es representa en cms al vostre entorn.
- Connecteu el pin RX / TX al mòdul bluetooth i ara executeu l’escriptura readingValuesV2. Us demanarà un número de gravació perquè pugui anomenar correctament el fitxer que genera.
És probable que hagueu de fer una gran quantitat de depuració, així que consulteu l'última secció d'aquest manual per obtenir més ajuda.
Pas 4: problemes probables de depuració
Arduino
1) avrdude: stk500_getsync (): no està sincronitzat: resp = 0x0: sovint passa quan s’intenta carregar un esbós a un Arduino.
- Assegureu-vos que s’ha escollit el port i la placa COM adequats
- Si actualment utilitzeu l'ATmega328P, proveu el "ATmega328P (Old Bootloader)"
- Assegureu-vos que el pin RX / TX de l’Arduino estigui desconnectat
2) Error de transport ocupat
Assegureu-vos que s’hagi escollit el port COM adequat. Com que esteu intentant penjar l'esbós a l'Arduino, assegureu-vos que l'script python no s'estigui executant
Python
1) [Errno 16] Recurs ocupat: '/dev/tty. HC-06-DevB': passa quan no heu connectat el portàtil al mòdul bluetooth
Per solucionar-ho, heu d'assegurar-vos que heu connectat correctament el mòdul HC al vostre ordinador portàtil. També heu d'assegurar-vos que aquest mòdul romangui connectat; es desconnectarà un cop hàgiu acabat d'executar l'script
2) ValueError: el mòdul Bluetooth no està connectat
Es tracta d’un error generat manualment si la connexió de port sèrie amb el mòdul Bluetooth no està connectada correctament
3) Error de dependències de paquets Python
He utilitzat pip install per descarregar els paquets necessaris per a Python. Consulteu el desbordament de la pila si hi ha errors que apareguin en aquest extrem
4) Errors a causa del sistema operatiu
Espero que apareguin alguns errors si el sistema operatiu que s’utilitza és Windows. Algunes àrees que poden resultar problemàtiques són el registre del sistema de gravació i notificació de dades al vostre ordinador portàtil
5) serial.serialutil. SerialException: el dispositiu informa que està preparat per llegir, però no ha retornat cap dada
De vegades això passa si l’alimentació està apagada. Això em va ocórrer quan vaig apagar el dispositiu amb l’interruptor
Maquinari
1) Assegureu-vos que l’interruptor estigui correctament situat entre el divisor de línia de la placa de control perquè les connexions no es barregin.
Pas 5: demostració del dispositiu completat
Si us plau, no dubteu a veure el vídeo per veure el dispositiu en acció mitjançant l'enllaç incrustat o aquest enllaç de YouTube: https://www.youtube.com/embed/Ab1wKr2ORbM. En general, això faig servir habitualment ara i he comprovat que no drenava la font d’alimentació massa ràpidament ni estressava el meu portàtil antic pel que fa a la potència de processament. Si teniu algun problema, no dubteu a crear una publicació de problemes al repositori GitHub associat per a aquest projecte.