Sadržaj:
- Supplies
- Korak 1: Izgradite svoj krug:
- Korak 2: Programiranje vašeg Arduina:
- Korak 3: Programiranje Pythona u grafičke podatke s Arduina:
- Korak 4: Završni program za provjeru intenziteta svjetlosti u prostoriji
- Korak 5: Rezultat:
Video: Iscrtavanje svjetlosnog intenziteta pomoću Arduina i Pythonove glavne biblioteke Arduino: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Budući da je Arduino ekonomičan, ali vrlo učinkovit i funkcionalan alat, njegovo programiranje u Embedded C -u čini proces zamornih procesa! Arduino_Master modul u Pythonu to pojednostavljuje i omogućuje nam izvršavanje proračuna, uklanjanje vrijednosti smeća i iscrtavanje grafikona za vizualnu prezentaciju podataka.
Ako još ne znate za ovaj modul, instalirajte ga pomoću naredbe pip install Arduino_Master
Ne brinite ako ne znate kako koristiti ovaj modul, posjetite ovu vezu => Arduino_Master
Međutim, kod za ovaj projekt će uvijek biti dostupan u ovom uputstvu.
Supplies
Za ovaj projekat trebat će vam sljedeće:
- Arduino
- Otpornik ovisan o svjetlu (LDR) i
- Python 3 instaliran na vašem računaru.
Korak 1: Izgradite svoj krug:
Za unos podataka koristit ćemo pin A1 Arduina. Također možete koristiti 5V i GND pinove Arduina umjesto baterije. Povežite se na sljedeći način:
- Spojite jedan kraj LDR -a na pozitivni terminal 5V baterije ili na 5V pin Arduina.
- Drugi kraj LDR -a spojite paralelno na pin A1 i negativni terminal baterije ili GND pin na Arduinu.
- Upotrijebite otpornik kako biste bili sigurni da sva struja ne teče do GND -a, što bi dovelo do toga da ne dobijete dovoljno jak signal da osjetite na A1 terminalu Arduina. (Koristim otpornik od 10 k ohma).
Korak 2: Programiranje vašeg Arduina:
Modul Arduino_Master koristi serijski monitor Arduina za slanje i primanje podataka. Prednost korištenja ovog modula je da, kada programirate svoj Arduino, možete promijeniti samo program python za različite projekte jer je programiranje u pythonu relativno lakše!
Šifra:
// LDR_1 varijabla se koristi za označavanje pina A1 Arduina.
int LDR_1 = A1;
// Podaci primljeni od A1 bit će pohranjeni u LDR_Value_1.
plovak LDR_Value_1;
String input;
void setup ()
{pinMode (LDR_1, INPUT); // LDR_1 je postavljen kao INPUT pin. Serial.begin (9600); // Brzina prijenosa komunikacije postavljena je na 9600.}
void loop ()
{if (Serial.available ()> 0) // ako je bilo koji ulaz dostupan u serijskom monitoru, nastavite. {input = Serial.readString (); // Čitanje unosa kao niza. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) je faktor konverzije za dobivanje vrijednosti u voltima. Serial.println (LDR_Value_1); // Ako je ulaz jednak "DATA", tada pročitajte ulaz sa LDR_1 i ispišite ga na serijskom monitoru. } else int i = 0; // ako ulaz nije jednak "DATA", nemojte ništa učiniti! }
}
Korak 3: Programiranje Pythona u grafičke podatke s Arduina:
Svaki LDR bi imao svoje vlastite vrijednosti otpora i moramo se sjetiti da su elektroničke komponente ne potpuno identične u radu. Stoga prvo moramo pronaći napon pri različitim intenzitetima svjetlosti.
Prenesite sljedeći program u svoj python IDE i pokrenite ga:
Učinite to za različite intenzitete svjetlosti i pomoću grafikona izvucite zaključak, recimo, ako je intenzitet manji od 1, soba je previše mračna. Za intenzitet između 1 i 2, soba je znatno mračna. Za intenzitet veći od 2, svjetlo se uključuje.
# Uvoz Arduino_Master modula
iz Arduino_Master uvoza *
# prikupljanje podataka
podaci = filter (ardata (8, stiskanje = Netačno, dinamičko = Tačno, poruka = "DATA", redovi = 30), očekivani_tip = 'broj', ograničenje = [0, 5])
# ograničenje je postavljeno na 5 jer koristimo bateriju od 5V.
# Iscrtavanje vrijednosti
Grafikon (podaci, stl = 'dark_background', label = 'Intenzitet svjetla')
Korak 4: Završni program za provjeru intenziteta svjetlosti u prostoriji
Nakon što zaključite iz podataka koje ste dobili, učitajte sljedeći program i svakako promijenite ograničenja prema svom zaključku.
# Uvoz Arduino_Master modula
iz Arduino_Master uvoza # prikupljanje podataka = filter (ardata (8, stiskanje = Netačno, dinamičko = Tačno, msg = "DATA", redovi = 50), očekivani_tip = 'broj', ograničenje = [0, 5]) # klasifikacija podataka na osnovu zaključaka info = za i u rasponu (len (podaci)): intenzitet = podaci ako je intenzitet 1 i intenzitet = 2: info.append ('Svjetlo UKLJUČENO') # Iscrtavanje grafikona. compGraph (podaci, informacije, stl = 'dark_background', label1 = 'Intenzitet svjetla', label2 = 'Stanje')
Korak 5: Rezultat:
Programu bi trebalo nekoliko minuta da se pokrene jer čitate 50 trenutnih vrijednosti iz Arduina.
Ako želite ubrzati proces, pokušajte promijeniti parametar linije funkcije ardata. Ali zapamtite da što je manje zapažanja, to će biti slabija kvaliteta podataka.
Napomena: Ako kompletan grafikon na gornjoj slici nije vidljiv, pogledajte grafikon iznad odjeljka Uvod.
Preporučuje se:
Slanje podataka s Arduina u Excel (i iscrtavanje): 3 koraka (sa slikama)
Slanje podataka s Arduina u Excel (i iscrtavanje istih): Opširno sam tražio način na koji mogu iscrtati očitavanje svog Arduino senzora u stvarnom vremenu. Ne samo iscrtati, već i prikazati i pohraniti podatke za daljnje eksperimentiranje i ispravke. Najjednostavnije rješenje koje sam pronašao bilo je korištenje programa Excel, ali s
Iscrtavanje grafikona u stvarnom vremenu na Androidu od Arduina do HC-05: 3 koraka
Iscrtavanje grafikona u stvarnom vremenu na Androidu s Arduina preko HC-05: Hej, evo vodiča kako iscrtati grafikon vrijednosti u stvarnom vremenu iz mikrokontrolera, poput Arduina, u aplikaciju. Koristi Bluetooth modul poput HC-05 da djeluje kao uređaj za razmjenu poruka za prijenos i primanje podataka između Ar
Uređaj za iscrtavanje jaja na bazi Arduina: 17 koraka (sa slikama)
Arduino ploter za pisanje jaja: ploter za jaja je umjetnički robot koji može crtati na objektima sfernog oblika, poput jaja. Ovu mašinu možete koristiti i za crtanje ping pong loptica i loptica za golf. Možete upotrijebiti maštu s dizajnom koji ste na njega stavili, na primjer, mogli biste napraviti
Programiranje Arduina pomoću drugog Arduina za prikaz teksta koji se pomiče bez biblioteke: 5 koraka
Programiranje Arduina pomoću drugog Arduina za prikaz pomicanja teksta bez biblioteke: Sony Spresense ili Arduino Uno nisu toliko skupi i ne zahtijevaju puno energije. Međutim, ako vaš projekt ima ograničenje snage, prostora ili čak proračuna, razmislite o upotrebi Arduino Pro Mini. Za razliku od Arduino Pro Micro, Arduino Pro Mi
Ušteda energije svjetlosnog intenziteta pomoću fotoćelija i termistora: 6 koraka
Ušteda energije svjetlosnog intenziteta pomoću fotoćelija i termistora: Ova instrukcija je dizajnirana da vas nauči kako uštedjeti energiju promjenom intenziteta svjetlosti pomoću fotoćelija i termistora. Pokazat ćemo vam kako konstruirati sklop i kodirati Arduino koristeći MATLAB