Cuprins:
- Provizii
- Pasul 1: Construirea circuitului dvs.:
- Pasul 2: Programarea Arduino:
- Pasul 3: Programarea Python pentru graficarea datelor de la Arduino:
- Pasul 4: Program final pentru verificarea intensității luminii într-o cameră
- Pasul 5: Rezultat:
Video: Plot de intensitate a luminii folosind Arduino și Python Arduino Master Library: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Arduino fiind un instrument economic, dar extrem de eficient și funcțional, programarea acestuia în Embedded C face procesul de realizare a proiectelor obositor! Modulul Arduino_Master al Python simplifică acest lucru și ne permite să efectuăm calcule, să eliminăm valorile gunoiului și să trasăm un grafic pentru o reprezentare vizuală a datelor.
Dacă nu știți încă despre acest modul, instalați-l folosind comanda pip install Arduino_Master
Nu vă faceți griji dacă nu știți cum să utilizați acest modul, vizitați acest link => Arduino_Master
Cu toate acestea, codul pentru acest proiect va fi întotdeauna disponibil în acest instructable.
Provizii
Pentru acest proiect, veți avea nevoie de următoarele:
- Un Arduino
- Un rezistor dependent de lumină (LDR) și
- Python 3 instalat pe computer.
Pasul 1: Construirea circuitului dvs.:
Vom folosi pinul A1 al Arduino pentru a obține date de intrare. De asemenea, puteți utiliza pinii 5V și GND ai Arduino în locul bateriei. Faceți conexiunea după cum urmează:
- Conectați un capăt al LDR la terminalul pozitiv al unei baterii de 5V sau la pinul de 5V al Arduino.
- Conectați celălalt capăt al LDR în paralel cu pinul A1 și borna negativă a bateriei sau pinul GND al Arduino.
- Folosiți un rezistor pentru a vă asigura că tot curentul nu curge către GND, ceea ce vă va determina să nu obțineți un semnal suficient de puternic pentru a detecta la terminalul A1 al Arduino. (Folosesc un rezistor de 10k ohmi).
Pasul 2: Programarea Arduino:
Modulul Arduino_Master utilizează Serial Monitor al Arduino pentru a trimite și primi date. Avantajul utilizării acestui modul este că, odată ce vă programați Arduino, puteți schimba singur programul Python pentru diferite proiecte, deoarece programarea în Python este relativ mai ușoară!
Cod:
// Variabila LDR_1 este utilizată pentru a indica pinul A1 al Arduino.
int LDR_1 = A1;
// Datele primite de la A1 vor fi stocate în LDR_Value_1.
float LDR_Value_1;
Intrare șir;
configurare nulă ()
{pinMode (LDR_1, INPUT); // LDR_1 este setat ca pin INPUT. Serial.begin (9600); // Debitul de comunicare este setat la 9600.}
bucla nulă ()
{if (Serial.available ()> 0) // dacă există o intrare disponibilă pe monitorul serial, continuați. {input = Serial.readString (); // Citiți intrarea ca un șir. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) este factorul de conversie pentru a obține valoare în volți. Serial.println (LDR_Value_1); // Dacă intrarea este egală cu „DATA”, atunci citiți intrarea din LDR_1 și imprimați-o pe monitorul serial. } else int i = 0; // dacă intrarea nu este egală cu „DATA”, nu faceți nimic! }
}
Pasul 3: Programarea Python pentru graficarea datelor de la Arduino:
Fiecare LDR ar avea propriile sale valori de rezistență și trebuie să ne amintim că nu la componentele electronice sunt întotdeauna exact identice în funcționare. Astfel, mai întâi trebuie să găsim tensiunea la diferite intensități de lumină.
Încărcați următorul program în IDE-ul dvs. python și rulați-l:
Faceți acest lucru pentru diferite intensități de lumină și, folosind graficul, trageți o concluzie, de exemplu, dacă intensitatea este mai mică de 1, camera este prea întunecată. Pentru intensitate între 1 și 2, camera este considerabil întunecată. Pentru intensitate mai mare de 2, lumina este pornită.
# Importul modulului Arduino_Master
din importul Arduino_Master *
# colectarea datelor
date = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 30), expected_type = 'num', limit = [0, 5])
# limita este setată la 5, deoarece utilizăm o baterie de 5V.
# Trasarea valorilor
Grafic (date, stl = 'întuneric_fundament', etichetă = 'Intensitate luminoasă')
Pasul 4: Program final pentru verificarea intensității luminii într-o cameră
După ce ați ajuns la o concluzie din datele obținute, încărcați următorul program și asigurați-vă că modificați limitele conform concluziei dvs.
# Importul modulului Arduino_Master
din Arduino_Master import # colectarea datelor = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), expected_type = 'num', limit = [0, 5]) #classifying data pe baza concluziei info = pentru i în interval (len (date)): intensitate = date dacă intensitatea 1 și intensitatea = 2: info.append („Lumina aprinsă”) # Plotarea graficului. compGraph (date, informații, stl = 'fundal_intunecat', etichetă1 = 'Intensitate luminoasă', etichetă2 = 'Stat')
Pasul 5: Rezultat:
Programul ar dura un minut sau două pentru a rula, deoarece citiți 50 de valori instantanee din Arduino.
Dacă doriți să accelerați procesul, încercați să modificați parametrul liniilor funcției ardata. Dar amintiți-vă că cu cât observațiile sunt mai mici, cu atât calitatea datelor ar fi mai mică.
Notă: Dacă graficul complet din imaginea de mai sus nu este vizibil, consultați graficul de deasupra secțiunii Introducere.
Recomandat:
Lampă de intensitate luminoasă Arduino: 3 pași
Lampă de intensitate luminoasă Arduino: acest circuit poate fi folosit ca lampă reală, proiect școlar și o provocare distractivă. Acest circuit este ușor de utilizat și ușor de realizat, dar dacă nu ați folosit tinker cad înainte de a vă putea dori să îl încercați mai întâi
Lampă de intensitate luminoasă Arduino: 6 pași
Lampă Arduino Light Intensity: Bine ați venit la tutorialul meu despre cum să construiți și să codificați o lampă Light Intensity cu un Arduino. Veți avea nevoie de aceste componente pentru a construi acest lucru. * LDR * Microcontroler Arduino * Bec * Releu * O sursă de alimentare * Panou de rezistență * rezistor de 1 k-ohm Sperăm că
Robotul SCARA: Aflați despre Foward și cinematica inversă !!! (Plot Twist Aflați cum să creați o interfață în timp real în ARDUINO folosind PROCESAREA !!!!): 5 pași (cu imagini)
Robotul SCARA: Aflați despre Foward și cinematica inversă !!! (Plot Twist Aflați cum să creați o interfață în timp real în ARDUINO folosind PROCESAREA !!!!): Un robot SCARA este o mașină foarte populară în lumea industriei. Numele înseamnă atât brațul robotului de asamblare conform cu selecție, fie brațul robot articulat conform cu selecție. Este practic un robot de trei grade de libertate, fiind primele două deplasări
Economisitor de energie de intensitate luminoasă folosind fotocelule și termistori: 6 pași
Economisitor de energie de intensitate luminoasă folosind fotocelule și termistori: Acest instructiv este conceput pentru a vă învăța cum să economisiți energie schimbând intensitatea luminii folosind fotocelule și termistori. Vă vom arăta cum să construiți circuitul și să codificați Arduino folosind MATLAB
Realizați un circuit de comutare automată a luminii de noapte folosind Mosfet: 6 pași (cu imagini)
Realizați un circuit de comutare automată a luminii de noapte folosind Mosfet: CUM SE FACE UN INTERRUPTOR AUTOMAT DE LUMINĂ DE NOAPTE CU MOSFET Bună ziua, prieteni din acest proiect, voi arăta o diagramă simplă a circuitului cu privire la modul de realizare a unui comutator automat activat de noapte folosind un Mosfet și câteva componente mici pe care am reușit să le salvare din ar