Satura rādītājs:
- Piegādes
- 1. darbība: ķēdes izveide:
- 2. solis: Arduino programmēšana:
- 3. darbība: Python programmēšana, lai grafikētu datus no Arduino:
- 4. solis: Noslēguma programma, lai pārbaudītu gaismas intensitāti telpā
- 5. darbība. Rezultāts:
Video: Gaismas intensitātes grafiks, izmantojot Arduino un Python Arduino galveno bibliotēku: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Tā kā Arduino ir ekonomisks, bet ļoti efektīvs un funkcionāls rīks, tā programmēšana iegultajā C padara projektu veidošanas procesu garlaicīgu! Python Arduino_Master modulis to vienkāršo un ļauj veikt aprēķinus, noņemt atkritumu vērtības un uzzīmēt diagrammu datu vizuālai attēlošanai.
Ja jūs vēl nezināt par šo moduli, instalējiet to, izmantojot komandu pip install Arduino_Master
Neuztraucieties, ja nezināt, kā izmantot šo moduli, apmeklējiet šo saiti => Arduino_Master
Tomēr šī projekta kods vienmēr būs pieejams šajā pamācībā.
Piegādes
Šim projektam jums būs nepieciešams:
- Arduino
- No gaismas atkarīgs rezistors (LDR) un
- Python 3 ir instalēts jūsu datorā.
1. darbība: ķēdes izveide:
Ievades datu iegūšanai mēs izmantosim Arduino tapu A1. Akumulatora vietā varat izmantot arī Arduino 5V un GND tapas. Izveidojiet savienojumu šādi:
- Pievienojiet vienu LDR galu 5V akumulatora pozitīvajam spailim vai Arduino 5V tapai.
- Pievienojiet otru LDR galu paralēli A1 tapai un akumulatora negatīvajam spailim vai Arduino GND tapai.
- Izmantojiet rezistoru, lai pārliecinātos, ka visa strāva neplūst GND, kā rezultātā jūs nesaņemat pietiekami spēcīgu signālu, lai uztvertu Arduino A1 termināli. (Es izmantoju 10k omu rezistoru).
2. solis: Arduino programmēšana:
Modulis Arduino_Master datu nosūtīšanai un saņemšanai izmanto Arduino sērijas monitoru. Šī moduļa izmantošanas priekšrocība ir tāda, ka, tiklīdz esat ieprogrammējis savu Arduino, jūs varat mainīt tikai python programmu dažādiem projektiem, jo programmēšana python ir salīdzinoši vienkāršāka!
Kods:
// LDR_1 mainīgais tiek izmantots, lai apzīmētu Arduino tapu A1.
int LDR_1 = A1;
// No A1 saņemtie dati tiks saglabāti LDR_Value_1.
pludiņš LDR_Value_1;
Stīgu ievade;
anulēts iestatījums ()
{pinMode (LDR_1, INPUT); // LDR_1 ir iestatīts kā INPUT pin. Sērijas sākums (9600); // Sakaru bitu pārraides ātrums ir iestatīts uz 9600.}
tukša cilpa ()
{if (Serial.available ()> 0) // ja sērijveida monitorā ir pieejama kāda ievade, tad turpiniet. {input = Serial.readString (); // Nolasiet ievadi kā virkni. ja (ievade == "DATI") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023,0); // (5/1023) ir konversijas koeficients, lai iegūtu vērtību voltos. Serial.println (LDR_Value_1); // Ja ievade ir vienāda ar "DATA", tad nolasiet ievadi no LDR_1 un izdrukājiet to seriālajā monitorā. } cits int i = 0; // ja ievade nav vienāda ar "DATA", nedariet neko! }
}
3. darbība: Python programmēšana, lai grafikētu datus no Arduino:
Katram LDR būtu savas pretestības vērtības, un mums jāatceras, ka nē elektroniskajiem komponentiem nekad nav pilnīgi identiski. Tādējādi vispirms mums jāatrod spriegums dažādās gaismas intensitātēs.
Augšupielādējiet šo programmu savā python IDE un palaidiet to:
Dariet to dažādām gaismas intensitātēm un, izmantojot grafiku, izdariet secinājumu, piemēram, ja intensitāte ir mazāka par 1, telpa ir pārāk tumša. Ja intensitāte ir no 1 līdz 2, telpa ir ievērojami tumša. Ja intensitāte ir lielāka par 2, gaisma tiek ieslēgta.
# Arduino_Master moduļa importēšana
no Arduino_Master importa *
# datu vākšana
dati = filtrs (ardata (8, saspiest = nepatiesa, dinamiska = patiesa, msg = "DATA", rindas = 30), paredzamais_tips = 'numurs', limits = [0, 5])
# ierobežojums ir iestatīts uz 5, jo mēs izmantojam 5V akumulatoru.
# Vērtību uzzīmēšana
Diagramma (dati, stl = 'dark_background', label = 'Light Intensity')
4. solis: Noslēguma programma, lai pārbaudītu gaismas intensitāti telpā
Kad esat secinājis no iegūtajiem datiem, augšupielādējiet šo programmu un noteikti mainiet ierobežojumus atbilstoši savam secinājumam.
# Arduino_Master moduļa importēšana
no Arduino_Master import # datu datu vākšana = filtrs (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), paredzamais_tips = 'numurs', limits = [0, 5]) # datu klasificēšana pamatojoties uz secinājumu info = i diapazonā (len (dati)): intensitāte = dati ja intensitāte 1 un intensitāte = 2: info.append ('Light ON') # Grafika uzzīmēšana. compGraph (dati, informācija, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
5. darbība. Rezultāts:
Programmas palaišana prasītu vienu vai divas minūtes, jo jūs lasāt 50 momentānās vērtības no Arduino.
Ja vēlaties paātrināt procesu, mēģiniet mainīt ardata funkcijas līniju parametru. Bet atcerieties, ka, jo mazāk novērojumu, jo zemāka būs datu kvalitāte.
Piezīme: Ja iepriekš redzamajā attēlā nav redzams viss grafiks, skatiet diagrammu virs sadaļas Ievads.
Ieteicams:
Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: 5 soļi
Gaismas intensitātes mērīšana, izmantojot BH1715 un Raspberry Pi: Vakar mēs strādājām pie LCD displejiem, un, strādājot pie tiem, mēs sapratām gaismas intensitātes aprēķina nozīmi. Gaismas intensitāte ir svarīga ne tikai šīs pasaules fiziskajā jomā, bet tai ir labi teikta loma bioloģiskajā
Temperatūras izmaiņu grafiks no klimata pārmaiņām Python: 6 soļi
Temperatūras izmaiņu grafiks no Python klimata pārmaiņām: Klimata pārmaiņas ir liela problēma. Un daudzi cilvēki tagad nezina, cik tas ir pieaudzis. Šajā pamācībā mēs grafiski attēlosim klimata temperatūras izmaiņas klimata pārmaiņu dēļ. Mīklas lapai varat skatīt zemāk esošo python failu
Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: 5 soļi
Gaismas intensitātes aprēķins, izmantojot BH1715 un Arduino Nano: Vakar mēs strādājām pie LCD displejiem, un, strādājot pie tiem, mēs sapratām gaismas intensitātes aprēķina nozīmi. Gaismas intensitāte ir svarīga ne tikai šīs pasaules fiziskajā jomā, bet tai ir labi teikta loma bioloģiskajā
Gaismas intensitātes aprēķins, izmantojot BH1715 un daļiņu fotonu: 5 soļi
Gaismas intensitātes aprēķins, izmantojot BH1715 un daļiņu fotonu: Vakar mēs strādājām pie LCD displejiem, un, strādājot pie tiem, mēs sapratām gaismas intensitātes aprēķina nozīmi. Gaismas intensitāte ir svarīga ne tikai šīs pasaules fiziskajā jomā, bet tai ir labi teikta loma bioloģiskajā
Gaismas intensitātes enerģijas taupīšana, izmantojot fotoelementus un termistorus: 6 soļi
Gaismas intensitātes enerģijas taupīšana, izmantojot fotoelementus un termistorus: šī pamācība ir izstrādāta, lai iemācītu jums ietaupīt enerģiju, mainot gaismas intensitāti, izmantojot fotoelementus un termistorus. Mēs parādīsim, kā izveidot ķēdi un kodēt Arduino, izmantojot MATLAB