Taula de continguts:
- Subministraments
- Pas 1: construir el vostre circuit:
- Pas 2: programació del vostre Arduino:
- Pas 3: Programació de Python per gràfic de dades des d'Arduino:
- Pas 4: programa final per comprovar la intensitat de la llum en una habitació
- Pas 5: Resultat:
Vídeo: Traçat d'intensitat de llum mitjançant la biblioteca principal Arduino d'Arduino i Python: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Com que Arduino és una eina econòmica però molt eficient i funcional, programar-lo a Embedded C fa que el procés de creació de projectes sigui tediós. El mòdul Arduino_Master de Python ho simplifica i ens permet realitzar càlculs, eliminar valors d’escombraries i traçar un gràfic per a una representació visual de les dades.
Si encara no coneixeu aquest mòdul, instal·leu-lo mitjançant l'ordre pip install Arduino_Master
No us preocupeu si no sabeu utilitzar aquest mòdul, visiteu aquest enllaç => Arduino_Master
Tanmateix, el codi d’aquest projecte sempre estarà disponible en aquesta instrucció.
Subministraments
Per a aquest projecte, necessitareu el següent:
- Un Arduino
- Una resistència dependent de la llum (LDR) i
- Python 3 instal·lat al vostre ordinador.
Pas 1: construir el vostre circuit:
Utilitzarem el pin A1 d’Arduino per obtenir dades d’entrada. També podeu utilitzar els pins 5V i GND d’Arduino en lloc de la bateria. Feu la connexió de la següent manera:
- Connecteu un extrem del LDR al terminal positiu d’una bateria de 5V o al pin de 5V de l’Arduino.
- Connecteu l'altre extrem del LDR en paral·lel al pin A1 i el terminal negatiu de la bateria o el pin GND d'Arduino.
- Utilitzeu una resistència per assegurar-vos que tot el corrent no flueix cap al GND, cosa que provocaria que no obtingueu un senyal prou fort com per detectar-lo al terminal A1 de l’Arduino. (Estic fent servir una resistència de 10k ohms).
Pas 2: programació del vostre Arduino:
El mòdul Arduino_Master utilitza el monitor sèrie d'Arduino per enviar i rebre dades. L’avantatge d’utilitzar aquest mòdul és que, un cop heu programat l’Arduino, podeu canviar el programa python sol per a diferents projectes, ja que la programació en python és relativament més senzilla.
Codi:
// La variable LDR_1 s’utilitza per indicar el pin A1 d’Arduino.
int LDR_1 = A1;
// Les dades rebudes d'A1 s'emmagatzemaran a LDR_Value_1.
flotació LDR_Value_1;
Entrada de cadena;
configuració nul·la ()
{pinMode (LDR_1, INPUT); // LDR_1 es defineix com a pin INPUT. Serial.begin (9600); // La velocitat de transmissió de comunicació s'estableix en 9600.}
bucle buit ()
{if (Serial.available ()> 0) // si hi ha alguna entrada disponible al monitor sèrie, procediu. {input = Serial.readString (); // Llegiu l'entrada com una cadena. if (entrada == "DADES") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) és el factor de conversió per obtenir valor en volts. Serial.println (LDR_Value_1); // Si l'entrada és igual a "DADES", llegiu l'entrada de LDR_1 i imprimiu-la al monitor sèrie. } else int i = 0; // si l'entrada no és igual a "DADES", no feu res! }
}
Pas 3: Programació de Python per gràfic de dades des d'Arduino:
Tots i cadascun dels LDR tindrien els seus propis valors de resistència i hem de recordar que el no als components electrònics sempre és exactament idèntic en funcionament. Per tant, primer hem de trobar el voltatge a diferents intensitats de llum.
Pengeu el programa següent al vostre IDE de python i executeu-lo:
Feu això per a diferents intensitats de llum i, mitjançant el gràfic, traieu una conclusió, per exemple, si la intensitat és inferior a 1, l'habitació és massa fosca. Per a intensitats entre 1 i 2, l'habitació és considerablement fosca. Per a intensitats superiors a 2, la llum està engegada.
# Important el mòdul Arduino_Master
des de la importació Arduino_Master *
# recopilació de dades
data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 30), expected_type = 'num', limit = [0, 5])
# Límit establert a 5, ja que estem utilitzant una bateria de 5 V.
# Representar els valors
Gràfic (dades, stl = 'dark_background', label = 'Intensitat de llum')
Pas 4: programa final per comprovar la intensitat de la llum en una habitació
Després d'arribar a una conclusió a partir de les dades que heu obtingut, pengeu el programa següent i assegureu-vos de canviar els límits segons la vostra conclusió.
# Importació del mòdul Arduino_Master
d'importació Arduino_Master # recopilació de dades = filtre (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), expected_type = 'num', limit = [0, 5]) #classifying data basat en la conclusió info = per a l’interval (len (dades)): intensitat = dades si intensitat 1 i intensitat = 2: info.append ("Llum encesa") # Representació del gràfic. compGraph (dades, informació, stl = 'dark_background', label1 = 'Intensitat de llum', label2 = 'Estat')
Pas 5: Resultat:
El programa trigaria un o dos minuts a executar-se ja que esteu llegint 50 valors instantanis d'Arduino.
Si voleu accelerar el procés, proveu de canviar el paràmetre de línies de la funció ardata. Però recordeu que, com menys observacions siguin, menor serà la qualitat de les dades.
Nota: Si el gràfic complet de la imatge anterior no és visible, consulteu el gràfic situat a sobre de la secció Introducció.
Recomanat:
Llum d'intensitat de llum Arduino: 3 passos
Llum d'intensitat de llum Arduino: aquest circuit es pot utilitzar com a llum real, projecte escolar i un repte divertit. Aquest circuit és fàcil d'utilitzar i fàcil de fer, però si no heu utilitzat tinker cad abans és possible que vulgueu provar-ho primer
Llum d'intensitat de llum Arduino: 6 passos
Llum Intensity Light Arduino: us donem la benvinguda al meu tutorial sobre com construir i codificar un llum Intensity Light amb un Arduino. Necessitareu aquests components per construir-lo. * LDR * Microcontrolador Arduino * Bombeta * Relé * Una font d’energia * Taula de pa * Resistència d’1 k-ohm Esperem que
Llum d'intensitat de llum amb Arduino: 3 passos
Llum d'intensitat de llum amb Arduino: en aquest projecte, exploro com utilitzar l'arduino per crear una làmpada que canviï segons l'hora del dia. A petició de l'usuari, la làmpada canviarà la seva brillantor quan quantifiqui o redueixi la resistència de la llum LDR que detecta res
Llum d'intensitat de llum Arduino: 5 passos
Llum Arduino Light Intensity: en aquest projecte aprendreu a encendre automàticament un llum quan estigui fosc
Llum d'intensitat de llum Arduino - Jasdeep: 6 passos
Llum Arduino Light Intensity - Jasdeep: Visió general: en aquest projecte, crearem un circuit senzill en què s’encendrà una bombeta si és fosc. Tanmateix, quan és brillant, la bombeta s’apagarà