Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Bygg kretsen din:
- Trinn 2: Programmering av Arduino:
- Trinn 3: Programmering av Python til å tegne data fra Arduino:
- Trinn 4: Sluttprogram for å kontrollere lysets intensitet i et rom
- Trinn 5: Resultat:
Video: Plott av lysintensitet ved hjelp av Arduino og Pythons Arduino Master Library: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Arduino er et økonomisk, men svært effektivt og funksjonelt verktøy, og programmering av det i Embedded C gjør prosessen med å gjøre prosjekter kjedelig! Arduino_Master -modulen til Python forenkler dette og lar oss utføre beregninger, fjerne søppelverdier og plotte en graf for en visuell fremstilling av data.
Hvis du ikke vet om denne modulen ennå, kan du installere den ved hjelp av kommandoen pip install Arduino_Master
Ikke bekymre deg hvis du ikke vet hvordan du bruker denne modulen, besøk denne lenken => Arduino_Master
Koden for dette prosjektet vil imidlertid alltid være tilgjengelig i denne instruksjonsboken.
Rekvisita
For dette prosjektet trenger du følgende:
- En Arduino
- En lysavhengig motstand (LDR) og
- Python 3 installert på datamaskinen din.
Trinn 1: Bygg kretsen din:
Vi bruker pin A1 av Arduino for å få inndata. Du kan også bruke 5V- og GND -pinnene til Arduino i stedet for batteriet. Gjør tilkoblingen som følger:
- Koble den ene enden av LDR til den positive kontakten på et 5V batteri eller til 5V pinnen på Arduino.
- Koble den andre enden av LDR parallelt med pinne A1 og minuspolen på batteriet eller GND -pinnen til Arduino.
- Bruk en motstand for å sikre at all strømmen ikke strømmer til GND, noe som vil føre til at du ikke får et sterkt nok signal til å føle ved A1 -terminalen på Arduino. (Jeg bruker en motstand på 10k ohm).
Trinn 2: Programmering av Arduino:
Arduino_Master -modulen bruker Serial Monitor of Arduino til å sende og motta data. Fordelen med å bruke denne modulen er at når du har programmert Arduino, kan du endre python -programmet alene for forskjellige prosjekter siden programmering i python er relativt enklere!
Kode:
// LDR_1 -variabelen brukes til å betegne pin A1 på Arduino.
int LDR_1 = A1;
// Data mottatt fra A1 blir lagret i LDR_Value_1.
flyte LDR_Value_1;
String input;
ugyldig oppsett ()
{pinMode (LDR_1, INPUT); // LDR_1 er angitt som en INPUT -pin. Serial.begin (9600); // Kommunikasjons baudrate er satt til 9600.}
hulrom ()
{if (Serial.available ()> 0) // hvis noen inngang er tilgjengelig i den serielle skjermen, fortsett. {input = Serial.readString (); // Les inngangen som en streng. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) er konverteringsfaktoren for å få verdi i volt. Serial.println (LDR_Value_1); // Hvis inndata er lik "DATA", les deretter inndata fra LDR_1 og skriv den ut på seriell skjerm. } annet int i = 0; // hvis input ikke er lik "DATA", ikke gjør noe! }
}
Trinn 3: Programmering av Python til å tegne data fra Arduino:
Hver eneste LDR ville ha sine egne motstandsverdier, og vi må huske at nei til elektroniske komponenter noensinne er nøyaktig identiske i drift. Derfor må vi først finne spenningen ved forskjellige lysintensiteter.
Last opp følgende program til python IDE og kjør det:
Gjør dette for forskjellige lysstyrker, og bruk grafen til å trekke en konklusjon, for eksempel hvis intensiteten er mindre enn 1, er rommet for mørkt. For intensitet mellom 1 og 2 er rommet betraktelig mørkt. For intensitet større enn 2, slås lyset på.
# Importere Arduino_Master -modul
fra Arduino_Master import *
# samle data
data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 30), expect_type = 'num', limit = [0, 5])
# grensen er satt til 5 siden vi bruker et 5V batteri.
# Plotte verdiene
Graf (data, stl = 'dark_background', label = 'Light Intensity')
Trinn 4: Sluttprogram for å kontrollere lysets intensitet i et rom
Etter å ha kommet til en konklusjon fra dataene du fikk, last opp følgende program og sørg for å endre grensene i henhold til konklusjonen din.
# Importere Arduino_Master -modul
fra Arduino_Master import # innsamling av data data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), expected_type = 'num', limit = [0, 5]) #classifying data basert på konklusjon info = for i i området (len (data)): intensitet = data hvis intensitet 1 og intensitet = 2: info.append ('Light ON') # Plotting the Graph. compGraph (data, info, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
Trinn 5: Resultat:
Programmet vil ta et minutt eller to å kjøre siden du leser 50 øyeblikkelige verdier fra Arduino.
Hvis du vil fremskynde prosessen, kan du prøve å endre linjeparameteren for ardatafunksjonen. Men husk at jo mindre observasjonene er, desto mindre vil kvaliteten på dataene være.
Merk: Hvis hele grafen på bildet ovenfor ikke er synlig, kan du se grafen over introduksjonsdelen.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: 5 trinn
Måling av lysintensitet ved bruk av BH1715 og Raspberry Pi: I går jobbet vi med LCD -skjermer, og mens vi arbeidet med dem innså vi viktigheten av lysintensitetsberegning. Lysintensitet er ikke bare viktig i det fysiske området til denne verden, men den har sin veltalte rolle i biologien
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Beregning av lysintensitet ved hjelp av BH1715 og Arduino Nano: 5 trinn
Lysintensitetsberegning ved hjelp av BH1715 og Arduino Nano: I går jobbet vi med LCD -skjermer, og mens vi arbeidet med dem innså vi viktigheten av lysintensitetsberegning. Lysintensitet er ikke bare viktig i det fysiske området til denne verden, men den har sin veltalte rolle i biologien
Plott DHT11 -data ved hjelp av Raspberry Pi og Arduino UNO: 7 trinn
Plott DHT11 -data ved hjelp av Raspberry Pi og Arduino UNO: Denne instruktøren forklarer hvordan jeg plotter temperatursensor DHT11 -data ved hjelp av Arduino Uno og Raspberry Pi. I denne temperatursensoren er koblet til Arduino Uno og Arduino Uno er serielt forbundet med Raspberry Pi. På Raspberry Pi Side, matplotli