Мазмуну:
- Жабдуулар
- 1 -кадам: Сиздин микросхемаңызды куруу:
- 2 -кадам: Ардуинону программалоо:
- 3 -кадам: Python программасын Arduino маалыматын графикке түшүрүү үчүн:
- 4 -кадам: Бөлмөдөгү жарыктын интенсивдүүлүгүн текшерүү үчүн акыркы программа
- 5 -кадам: Жыйынтык:
Video: Жарык интенсивдүүлүгүн пландоо Arduino жана Python Arduino Master китепканасын колдонуу: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Arduino үнөмдүү, бирок өтө эффективдүү жана функционалдуу инструмент болгондуктан, аны Embedded Cде программалоо долбоорлорду түйшүктүү кылат! Pythonдун Arduino_Master модулу муну жөнөкөйлөтөт жана бизге эсептөөлөрдү жүргүзүүгө, таштандылардын баалуулугун алып салууга жана маалыматтарды визуалдык чагылдыруу үчүн график түзүүгө мүмкүнчүлүк берет.
Эгерде сиз бул модуль жөнүндө азырынча билбесеңиз, анда аны орнотуу буйругу менен орнотуңуз Arduino_Master
Бул модулду кантип колдонууну билбесеңиз, кабатыр болбоңуз, бул шилтемеге барыңыз => Arduino_Master
Бирок, бул долбоордун коду бул көрсөтмөдө дайыма жеткиликтүү болот.
Жабдуулар
Бул долбоор үчүн сизге төмөнкүлөр керек болот:
- An Arduino
- Жарыкка көз каранды резистор (LDR) жана
- Python 3 компьютериңизге орнотулган.
1 -кадам: Сиздин микросхемаңызды куруу:
Биз киргизүү маалыматын алуу үчүн Arduino пин A1 колдонобуз. Батарейканын ордуна Arduino 5V жана GND казыктарын колдонсоңуз болот. Байланышты төмөнкүдөй кылыңыз:
- LDRдин бир четин 5V батареясынын оң терминалына же Arduino 5V пинине туташтырыңыз.
- LDRдин башка учун A1 пинине жана батареянын терс терминалына же Arduino GND пинине туташтырыңыз.
- Бардык резистор GNDге келбешине ынануу үчүн, Ардуинонун A1 терминалында сезүү үчүн жетиштүү күчтүү сигналды албай каласыз. (Мен 10к Ом резистор колдонуп жатам).
2 -кадам: Ардуинону программалоо:
Arduino_Master модулу маалыматтарды жөнөтүү жана алуу үчүн Arduino сериялык мониторун колдонот. Бул модулду колдонуунун артыкчылыгы, сиз Arduino программаңыздан кийин, python программасын ар кандай долбоорлор үчүн жалгыз өзгөртө аласыз, анткени pythonдо программалоо салыштырмалуу жеңилирээк!
Код:
// LDR_1 өзгөрмөсү Arduino A1 пинин белгилөө үчүн колдонулат.
int LDR_1 = A1;
// A1ден алынган маалыматтар LDR_Value_1де сакталат.
float LDR_Value_1;
Стринг киргизүү;
жараксыз орнотуу ()
{pinMode (LDR_1, INPUT); // LDR_1 INPUT пини катары коюлган. Serial.begin (9600); // Байланыш радиациясы 9600гө коюлган.}
боштук цикл ()
{if (Serial.available ()> 0) // эгер сериялык монитордо кандайдыр бир киргизүү бар болсо, анда улантыңыз. {киргизүү = Serial.readString (); // Киргизүүнү сап катары окуу. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) - бул Вольтто маанини алуу үчүн конверсиялык фактор. Serial.println (LDR_Value_1); // Эгерде киргизүү "DATA" га барабар болсо, анда LDR_1ден кирүүнү окуп, аны Сериялык мониторго басып чыгарыңыз. } else int i = 0; // эгер киргизүү "DATA" га барабар болбосо, эч нерсе кылбаңыз! }
}
3 -кадам: Python программасын Arduino маалыматын графикке түшүрүү үчүн:
Ар бир LDR өзүнүн каршылык маанисине ээ болот жана эч качан электрондук компоненттер иштөөдө такыр окшош эмес экенин эстен чыгарбашыбыз керек. Ошентип, адегенде биз жарыктын ар кандай интенсивдүүлүгүндөгү чыңалууну табышыбыз керек.
Төмөнкү программаны python IDEге жүктөп, аны иштетиңиз:
Муну ар кандай жарык интенсивдүүлүгү үчүн жасаңыз жана графикти колдонуп, мисалы, эгерде интенсивдүүлүгү 1ден аз болсо, бөлмө өтө караңгы. 1ден 2ге чейинки интенсивдүүлүк үчүн бөлмө кыйла караңгы. 2ден ашык интенсивдүүлүк үчүн жарык күйгүзүлөт.
# Arduino_Master модулун импорттоо
Arduino_Master импортунан *
# маалыматтарды чогултуу
data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", сызыктар = 30), gözlənilir_type = 'num', чек = [0, 5])
# чеги 5ке коюлган, анткени биз 5В батареяны колдонуп жатабыз.
# Баалуулуктарды пландаштыруу
Графика (маалыматтар, stl = 'dark_background', label = 'Жарык интенсивдүүлүгү')
4 -кадам: Бөлмөдөгү жарыктын интенсивдүүлүгүн текшерүү үчүн акыркы программа
Сиз алган маалыматтардан бир жыйынтыкка келгенден кийин, төмөнкү программаны жүктөп бериңиз жана тыянакка ылайык лимиттерди өзгөртүүнү унутпаңыз.
# Arduino_Master модулун импорттоо
from Arduino_Master import # маалыматтарды чогултуу = фильтр (ardata (8, squeeze = False, dynamic = True, msg = "DATA", линиялар = 50), gözlənilir_type = 'num', limit = [0, 5]) # классификациялоочу маалыматтар корутундунун негизинде маалымат = i үчүн диапазондо (len (маалымат)): интенсивдүүлүк = маалымат эгерде интенсивдүүлүк 1 жана интенсивдүүлүк = 2: info.append ('Light ON') # Графикти плоттоо. compGraph (маалыматтар, маалымат, stl = 'dark_background', label1 = 'Жарык интенсивдүүлүгү', label2 = 'Мамлекет')
5 -кадам: Жыйынтык:
Программа бир же эки мүнөткө созулат, анткени сиз Arduinoдон 50 заматта баалуулуктарды окуп жатасыз.
Эгерде сиз процессти тездетүүнү кааласаңыз, ardata функциясынын линиялар параметрин өзгөртүп көрүңүз. Бирок эстен чыгарбаңыз, байкоо канчалык аз болсо, маалыматтын сапаты ошончолук төмөн болот.
Эскертүү: Эгерде жогорудагы сүрөттөгү толук график көрүнбөсө, анда киришүү бөлүмүнүн үстүндөгү графага кайрылыңыз.
Сунушталууда:
Температураны жана жарык интенсивдүүлүгүн кантип каттоо керек - Proteus Simulation - Fritzing - Liono Maker: 5 кадам
Температураны жана жарык интенсивдүүлүгүн кантип каттоо керек | Proteus Simulation | Fritzing | Liono Maker: Саламатсызбы бул Liono Maker, бул менин расмий YouTube каналым. Бул ачык булак YouTube Channel.here шилтемеси бар: Liono Maker YouTube Channel бул жерде видео шилтеме: Temp & Жарык интенсивдүүлүгүн каттоо Бул үйрөткүчтө биз Темперди кантип жасоону үйрөнөбүз
BH1715 жана Raspberry Pi колдонуу менен жарык интенсивдүүлүгүн өлчөө: 5 кадам
BH1715 жана Raspberry Pi менен жарыктын интенсивдүүлүгүн өлчөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар
BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: 5 кадам
BH1715 жана Arduino Nano аркылуу жарык интенсивдүүлүгүн эсептөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар
Жарык интенсивдүүлүгүн эсептөө BH1715 жана бөлүкчө фотонун колдонуу: 5 кадам
BH1715 жана Particle Photon аркылуу жарык интенсивдүүлүгүн эсептөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар
Жарык диоддор менен ACны колдонуу (2 -бөлүк) - жана бул колдо эсептегичти жарык кылыңыз.: 9 кадам
Жарык диоддор менен ACны колдонуу (2 -бөлүк) - жана бул колдо эсептегичти жарык кылыңыз. LEDди AC менен колдонуу (1 -бөлүк), биз AC тармагына туташкан трансформатору бар светодиоддорду иштетүүнүн жөнөкөй жолун карадык. биздин светодиоддор трансформаторсуз иштейт жана кеңейтүү тилкесине бириктирилген жөнөкөй жарыкты курат. ЭСКЕРТҮҮ