Բովանդակություն:
- Պարագաներ
- Քայլ 1: Կառուցեք ձեր շրջանը
- Քայլ 2: Ձեր Arduino- ի ծրագրավորում
- Քայլ 3. Python- ի ծրագրավորում Arduino- ի տվյալների գծագրման համար
- Քայլ 4. Սենյակում լույսի ինտենսիվությունը ստուգելու վերջնական ծրագիր:
- Քայլ 5: Արդյունք
Video: Լույսի ինտենսիվության գծագրում Arduino- ի և Python- ի Arduino վարպետ գրադարանի միջոցով. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Arduino- ն լինելով տնտեսապես միևնույն ժամանակ շատ արդյունավետ և ֆունկցիոնալ գործիք, այն ներկառուցված C- ով ծրագրավորելը ձանձրացնում է նախագծերը դարձնելու գործընթացը: Python- ի Arduino_Master մոդուլը հեշտացնում է դա և թույլ է տալիս մեզ կատարել հաշվարկներ, հեռացնել աղբի արժեքները և գծել գրաֆիկ տվյալների տեսողական ներկայացման համար:
Եթե դեռ չգիտեք այս մոդուլի մասին, տեղադրեք այն ՝ օգտագործելով հրամանի pip install Arduino_Master- ը
Մի անհանգստացեք, եթե չգիտեք, թե ինչպես օգտագործել այս մոդուլը, այցելեք այս հղումը => Arduino_Master
Այնուամենայնիվ, այս նախագծի ծածկագիրը միշտ հասանելի կլինի այս հրահանգում:
Պարագաներ
Այս նախագծի համար ձեզ հարկավոր է հետևյալը.
- Արդուինո
- Լույսից կախված դիմադրություն (LDR) և
- Python 3 -ը տեղադրված է ձեր համակարգչում:
Քայլ 1: Կառուցեք ձեր շրջանը
Մուտքային տվյալներ ստանալու համար մենք կօգտագործենք Arduino- ի A1 կապը: Մարտկոցի փոխարեն կարող եք օգտագործել Arduino- ի 5V և GND կապանքները: Կապը կատարեք հետևյալ կերպ.
- LDR- ի մի ծայրը միացրեք 5 Վ մարտկոցի դրական տերմինալին կամ Arduino- ի 5 Վ պինին:
- Միացրեք LDR- ի մյուս ծայրը զուգահեռ A1 կապին և մարտկոցի բացասական տերմինալին կամ Arduino- ի GND կապին:
- Օգտագործեք ռեզիստոր `համոզվելու համար, որ ամբողջ հոսանքը չի հոսում GND, ինչը կհանգեցնի նրան, որ դուք բավականաչափ ուժեղ ազդանշան չեք ստանալու Arduino- ի A1 տերմինալում զգալու համար: (Ես օգտագործում եմ 10k ohms ռեզիստոր):
Քայլ 2: Ձեր Arduino- ի ծրագրավորում
Arduino_Master մոդուլը օգտագործում է Arduino- ի Serial Monitor- ը ՝ տվյալներ ուղարկելու և ստանալու համար: Այս մոդուլն օգտագործելու առավելությունն այն է, որ ձեր Arduino- ն ծրագրավորելուց հետո կարող եք միայնակ փոխել Python ծրագիրը տարբեր նախագծերի համար, քանի որ Python- ում ծրագրավորումը համեմատաբար ավելի հեշտ է:
Կոդ:
// LDR_1 փոփոխականն օգտագործվում է Arduino- ի A1 կապը նշելու համար:
int LDR_1 = A1;
// A1- ից ստացված տվյալները կպահվեն LDR_Value_1- ում:
բոց LDR_Value_1;
Լարային մուտքագրում;
դատարկ կարգավորում ()
{pinMode (LDR_1, Մուտք); // LDR_1- ը սահմանվում է որպես INPUT քորոց: Serial.begin (9600); // Հաղորդակցության բաուդրատը սահմանվում է 9600:}
դատարկ շրջան ()
{if (Serial.available ()> 0) // եթե սերիական մոնիտորում առկա է որևէ մուտք, ապա շարունակեք: {մուտքագրում = Serial.readString (); // Մուտքը կարդա որպես տող: եթե (մուտքագրում == "ՏՎՅԱԼՆԵՐ") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) վոլտում արժեք ստանալու փոխակերպման գործոնն է: Serial.println (LDR_Value_1); // Եթե մուտքագրումը հավասար է «ՏՎՅԱԼՆԵՐԻ», ապա կարդացեք մուտքագրումը LDR_1- ից և տպեք այն Սերիայի մոնիտորի վրա: } else int i = 0; // եթե մուտքագրումը հավասար չէ «ՏՎՅԱԼՆԵՐԻ», ոչինչ մի արա: }
}
Քայլ 3. Python- ի ծրագրավորում Arduino- ի տվյալների գծագրման համար
Յուրաքանչյուր LDR- ն կունենա իր դիմադրողականության արժեքները, և մենք պետք է հիշենք, որ էլեկտրոնային բաղադրիչներից ոչ մեկը երբևէ ճշգրիտ նույնական չէ: Այսպիսով, առաջին հերթին մենք պետք է գտնենք լարման տարբեր ինտենսիվության լույսի ներքո:
Վերբեռնեք հետևյալ ծրագիրը ձեր python IDE- ում և գործարկեք այն.
Դա արեք լույսի տարբեր ինտենսիվությունների դեպքում և գրաֆիկի միջոցով եզրակացություն արեք, ասեք, օրինակ, եթե ինտենսիվությունը 1 -ից փոքր է, սենյակը չափազանց մութ է: 1 -ից 2 -ի ինտենսիվության դեպքում սենյակը զգալիորեն մութ է: 2 -ից մեծ ինտենսիվության դեպքում լույսը միացված է:
# Arduino_Master մոդուլի ներմուծում
Arduino_Master ներմուծումից *
# տվյալների հավաքում
տվյալներ = զտիչ (ardata (8, squeeze = False, dynamical = True, msg = "DATA", lines = 30), expect_type = 'num', limit = [0, 5])
# սահմանաչափը սահմանվել է 5, քանի որ մենք օգտագործում ենք 5 Վ մարտկոց:
# Արժեքների գծագրում
Գրաֆիկ (տվյալներ, stl = 'dark_background', label = 'Light Intensity')
Քայլ 4. Սենյակում լույսի ինտենսիվությունը ստուգելու վերջնական ծրագիր:
Ստացված տվյալներից եզրակացություն անելուց հետո վերբեռնեք հետևյալ ծրագիրը և համոզվեք, որ ձեր եզրակացության համաձայն փոխեք սահմանները:
# Arduino_Master մոդուլի ներմուծում
Arduino_Master- ից ներմուծում # տվյալների հավաքում = զտիչ (ardata (8, squeeze = False, dynamical = True, msg = "DATA", lines = 50), expect_type = 'num', limit = [0, 5]) # տվյալների դասակարգում հիմնված եզրակացության վրա info = i համար միջակայքում (len (տվյալներ)). ինտենսիվություն = տվյալներ եթե ինտենսիվությունը 1 և ինտենսիվությունը = 2: info.append ('Light ON') # Գրաֆիկի գծագրում: compGraph (տվյալներ, տեղեկություններ, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')
Քայլ 5: Արդյունք
Theրագիրը կտևի մեկ -երկու րոպե, քանի որ դուք կարդում եք 50 ակնթարթային արժեքներ Արդուինոյից:
Եթե ցանկանում եք արագացնել գործընթացը, փորձեք փոխել ardata գործառույթի տողերի պարամետրը: Բայց հիշեք, որ որքան փոքր լինեն դիտարկումները, այնքան փոքր կլինի տվյալների որակը:
Նշում. Եթե վերը նշված նկարի ամբողջական գրաֆիկը տեսանելի չէ, նշեք Ներածություն բաժնի վերևում գտնվող գրաֆիկը:
Խորհուրդ ենք տալիս:
Լույսի և ջերմաստիճանի տվիչների տվյալների ընթերցում և գծագրում ազնվամորի Pi- ով. 5 քայլ
Light and Temperature Sensor Data- ի ընթերցումը և գծագրումը Raspberry Pi- ով. Այս Ուսումնական ձեռնարկում դուք կսովորեք, թե ինչպես կարդալ ազնվամորի pi- ով և ADS1115 անալոգով թվային փոխարկիչով լույսի և ջերմաստիճանի ցուցիչ և գրաֆիկացնել այն matplotlib- ի միջոցով: Սկսենք անհրաժեշտ նյութերից
MSP432 LaunchPad- ի և Python- ի միջոցով ջերմաստիճանի տվիչի (TMP006) կենդանի տվյալների գծագրում. 9 քայլ
SPերմաստիճանի տվիչի կենդանի տվյալների գծագրում (TMP006) MSP432 LaunchPad- ի և Python- ի միջոցով. TMP006- ը ջերմաստիճանի տվիչ է, որը չափում է օբյեկտի ջերմաստիճանը ՝ առանց օբյեկտի հետ շփվելու անհրաժեշտության: Այս ձեռնարկում մենք պլանավորում ենք BoosterPack- ի (TI BOOSTXL-EDUMKII) ջերմաստիճանի կենդանի տվյալները Python- ի միջոցով
Լույսի ինտենսիվության լամպ W/ Arduino: 3 քայլ
Լույսի ինտենսիվության լամպ W/ Arduino. Այս նախագծում ես ուսումնասիրում եմ, թե ինչպես օգտագործել arduino- ն ՝ լամպ ստեղծելու համար, որը փոխվում է ՝ կախված օրվա ժամից: Օգտատիրոջ խնդրանքով, լամպը կփոխի իր պայծառությունը, երբ դրանք չափեն կամ նվազեցնեն LDR- լույսի հայտնաբերման ռեզիստորական դիմադրությունը
Լույսի ինտենսիվության հաշվարկ BH1715- ի և Arduino Nano- ի միջոցով. 5 քայլ
Լույսի ինտենսիվության հաշվարկ `օգտագործելով BH1715 և Arduino Nano: Երեկ մենք աշխատում էինք LCD էկրաններով, և դրանց վրա աշխատելիս մենք հասկացանք լույսի ինտենսիվության հաշվարկի կարևորությունը: Լույսի ինտենսիվությունը ոչ միայն կարևոր է այս աշխարհի ֆիզիկական տիրույթում, այլև իր լավ ասված դերն ունի կենսաբանության մեջ
Լույսի ինտենսիվության հաշվարկ BH1715- ի և մասնիկի ֆոտոնի միջոցով `5 քայլ
Լույսի ինտենսիվության հաշվարկ BH1715- ի և Particle Photon- ի միջոցով. Երեկ մենք աշխատում էինք LCD էկրաններով, և դրանց վրա աշխատելիս մենք հասկացանք լույսի ինտենսիվության հաշվարկի կարևորությունը: Լույսի ինտենսիվությունը ոչ միայն կարևոր է այս աշխարհի ֆիզիկական տիրույթում, այլև իր լավ ասված դերն ունի կենսաբանության մեջ