Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagbuo ng Iyong Circuit:
- Hakbang 2: Pag-program ng Iyong Arduino:
- Hakbang 3: Programing Python upang Mag-grap ng Data Mula sa Arduino:
- Hakbang 4: Pangwakas na Programa upang Suriin ang Lakas ng Liwanag sa isang Silid
- Hakbang 5: Resulta:
Video: Light Intensity Plotting Gamit ang Arduino at Python's Arduino Master Library: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang Arduino ay isang matipid ngunit lubos na mahusay at gumagana na tool, ang pag-program nito sa naka-embed na C ay gumagawa ng proseso ng paggawa ng mga proyekto na nakakapagod! Pinapasimple ito ng Arduino_Master module ng Python at hinahayaan kaming magsagawa ng mga kalkulasyon, alisin ang mga halaga ng basura, at magplano ng isang grap para sa isang visual na representasyon ng data.
Kung hindi mo pa alam ang tungkol sa modyul na ito, i-install ito gamit ang command pip install Arduino_Master
Huwag magalala kung hindi mo alam kung paano gamitin ang modyul na ito, bisitahin ang link na ito => Arduino_Master
Gayunpaman, ang code para sa proyektong ito ay laging magagamit sa itinuturo na ito.
Mga gamit
Para sa proyektong ito, kakailanganin mo ang sumusunod:
- Isang Arduino
- Isang Light Dependent Resistor (LDR) at
- Ang Python 3 na naka-install sa iyong computer.
Hakbang 1: Pagbuo ng Iyong Circuit:
Gagamitin namin ang pin A1 ng Arduino upang makakuha ng data ng pag-input. Maaari mo ring gamitin ang 5V at GND na mga pin ng Arduino sa halip na ang Baterya. Gawin ang koneksyon tulad ng sumusunod:
- Ikonekta ang isang dulo ng LDR sa positibong terminal ng isang 5V na baterya o sa 5V pin ng Arduino.
- Ikonekta ang kabilang dulo ng LDR kahanay sa pin A1 at negatibong terminal ng baterya o GND pin ng Arduino.
- Gumamit ng isang risistor upang matiyak na ang lahat ng kasalukuyang ay hindi dumadaloy sa GND na magreresulta sa iyo na hindi makakuha ng isang sapat na malakas na signal upang maunawaan sa A1 terminal ng Arduino. (Gumagamit ako ng isang risistor ng 10k ohms).
Hakbang 2: Pag-program ng Iyong Arduino:
Ang module ng Arduino_Master ay gumagamit ng Serial Monitor ng Arduino upang magpadala at tumanggap ng data. Ang bentahe ng paggamit ng modyul na ito ay, kapag na-program mo ang iyong Arduino, mababago mo nang mag-isa ang programa ng sawa para sa iba't ibang mga proyekto dahil ang programa sa sawa ay medyo madali!
Code:
// LDR_1 variable ay ginagamit upang ipahiwatig ang pin A1 ng Arduino.
int LDR_1 = A1;
// Ang natanggap na data mula sa A1 ay itatabi sa LDR_Value_1.
lumutang LDR_Value_1;
Pag-input ng string;
walang bisa ang pag-setup ()
{pinMode (LDR_1, INPUT); // LDR_1 ay itinakda bilang isang INPUT pin. Serial.begin (9600); // Ang baudrate ng komunikasyon ay nakatakda sa 9600.}
walang bisa loop ()
{if (Serial.available ()> 0) // kung mayroong anumang magagamit na input sa serial monitor pagkatapos ay magpatuloy. {input = Serial.readString (); // Basahin ang input bilang isang string. kung (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) ay ang factor ng conversion upang makakuha ng halaga sa Volts. Serial.println (LDR_Value_1); // Kung ang input ay katumbas ng "DATA", pagkatapos basahin ang input mula sa LDR_1 at i-print ito sa Serial Monitor. } iba int i = 0; // kung ang input ay hindi katumbas ng "DATA", huwag gumawa! }
}
Hakbang 3: Programing Python upang Mag-grap ng Data Mula sa Arduino:
Ang bawat LDR ay magkakaroon ng sariling mga halaga ng paglaban at dapat nating tandaan na hindi sa mga elektronikong sangkap ay eksaktong eksaktong magkapareho sa pagpapatakbo. Sa gayon muna kailangan nating hanapin ang boltahe sa iba't ibang mga intensidad ng ilaw.
I-upload ang sumusunod na programa sa iyong python IDE at patakbuhin ito:
Gawin ito para sa iba't ibang mga intensidad ng ilaw at paggamit ng grap na gumuhit ng isang konklusyon sabihin halimbawa kung ang kasidhian ay mas mababa sa 1, ang silid ay masyadong madilim. Para sa tindi sa pagitan ng 1 at 2, ang silid ay lubos na madilim. Para sa intensity na higit sa 2, ang ilaw ay nakabukas Sa.
# Pag-import ng module ng Arduino_Master
mula sa Arduino_Master import *
# nangongolekta ng datos
data = filter (ardata (8, pisil = Mali, pabago-bago = Totoo, msg = "DATA", mga linya = 30), inaasahang_type = 'num', limit = [0, 5])
Ang # limit ay nakatakda sa 5 dahil gumagamit kami ng isang 5V na baterya.
# Plotting ang mga halaga
Grap (data, stl = 'dark_background', label = 'Light Intensity')
Hakbang 4: Pangwakas na Programa upang Suriin ang Lakas ng Liwanag sa isang Silid
Pagkatapos makarating sa isang konklusyon mula sa data na nakuha mo, i-upload ang sumusunod na programa at tiyaking baguhin ang mga limitasyon ayon sa iyong konklusyon.
# Pag-import ng module ng Arduino_Master
mula sa Arduino_Master import # pagkolekta ng data ng data = filter (ardata (8, pisilin = Mali, pabago-bago = Totoo, msg = "DATA", mga linya = 50), inaasahang_type = 'num', limit = [0, 5]) #classifying data batay sa konklusyon info = para sa i in range (len (data)): intensity = data kung intensity 1 at intensity = 2: info.append ('Light ON') # Plotting the Graph. compGraph (data, impormasyon, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
Hakbang 5: Resulta:
Ang programa ay tatagal ng isang minuto o dalawa upang tumakbo dahil nagbabasa ka ng 50 mga agarang halaga mula sa Arduino.
Kung nais mong mapabilis ang proseso subukang baguhin ang mga parameter ng mga linya ng pagpapaandar ng ardata. Ngunit tandaan na mas kaunti ang mga obserbasyon, mas mababa ang magiging kalidad ng data.
Tandaan: Kung ang kumpletong grap sa larawan sa itaas ay hindi nakikita, tingnan ang graph sa itaas ng seksyon ng Panimula.
Inirerekumendang:
Plotting Live Data ng isang Temperature Sensor (TMP006) Gamit ang MSP432 LaunchPad at Python: 9 Hakbang
Plotting Live Data of a Temperature Sensor (TMP006) Gamit ang MSP432 LaunchPad at Python: Ang TMP006 ay isang sensor ng temperatura na sumusukat sa temperatura ng isang bagay nang hindi na kailangang makipag-ugnay sa bagay. Sa tutorial na ito maglalagay kami ng data ng live na temperatura mula sa BoosterPack (TI BOOSTXL-EDUMKII) gamit ang Python
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Senyas na Pagliko: 5 Hakbang (na may Mga Larawan)
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Sinyales na Pag-turn: Gustong-gusto kong sumakay ng bisikleta, karaniwang ginagamit ko ito upang makarating sa paaralan. Sa oras ng taglamig, madalas na madilim pa rin sa labas at mahirap para sa ibang mga sasakyan na makita ang mga signal ng aking kamay na lumiliko. Samakatuwid ito ay isang malaking panganib dahil maaaring hindi makita ng mga trak na nais kong
Simpleng Plotting ng Data ng Remote Gamit ang Android / Arduino / PfodApp: 6 na Hakbang
Simpleng Plotting ng Data ng Remote Gamit ang Android / Arduino / PfodApp: Para sa Plotting Data laban sa Petsa / Oras na gumagamit lamang ng millis ng Arduino () tingnan ang Petsa na ito ng Petsa / Oras na Plotting / Pag-log ng Paggamit ng Millis () at PfodAppAng Instructable na ito ay nagpapakita sa iyo kung paano i-plot ang data ng sensor ng Arduino sa iyong Android mobile at makuha ito para sa
Petsa ng Arduino / Oras na Plotting / Pag-log Gamit ang Millis () at PfodApp: 11 Mga Hakbang
Petsa ng Arduino / Oras ng Plotting / Pag-log Gamit ang Millis () at PfodApp: Walang kinakailangang programa ng Arduino o Android. Sinuportahan din ang mga module ng RTC at GPS. Awtomatikong pagwawasto para sa mga timezone, RTC naaanod at nawawalang mga segundo ng paglukso ng GPS ) timestamp upang magbalak ng data ag
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c