Мазмұны:
- Жабдықтар
- 1 -қадам: Сіздің тізбекті құру:
- 2 -қадам: Arduino бағдарламалау:
- 3 -қадам: Python -ды Arduino -дан деректерді графикалық түрде бағдарламалау:
- 4 -қадам: Бөлмедегі жарық интенсивтілігін тексерудің соңғы бағдарламасы
- 5 -қадам: Нәтиже:
Бейне: Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Arduino үнемді, бірақ өте тиімді және функционалды құрал болғандықтан, оны Embedded C -де бағдарламалау жобаларды қиындатады! Python Arduino_Master модулі мұны жеңілдетеді және есептеулер жүргізуге, қоқыс мәндерін жоюға және деректерді визуалды түрде көрсету үшін график құруға мүмкіндік береді.
Егер сіз бұл модуль туралы әлі білмесеңіз, оны Arduino_Master орнату пәрмені арқылы орнатыңыз
Егер сіз бұл модульді қалай қолдануды білмесеңіз, алаңдамаңыз, мына сілтемеге кіріңіз => Arduino_Master
Дегенмен, бұл жобаның коды әрқашан осы нұсқаулықта болады.
Жабдықтар
Бұл жоба үшін сізге мыналар қажет:
- Ардуино
- Жарыққа тәуелді резистор (LDR) және
- Python 3 компьютерде орнатылған.
1 -қадам: Сіздің тізбекті құру:
Біз кіріс деректерін алу үшін Arduino A1 түйреуішін қолданамыз. Батареяның орнына Arduino 5V және GND түйреуіштерін пайдалануға болады. Қосылымды келесідей жасаңыз:
- LDR -дің бір ұшын 5В аккумулятордың оң терминалына немесе Arduino -ның 5В істігіне қосыңыз.
- LDR екінші ұшын A1 түйреуішіне және аккумулятордың теріс терминалына немесе Arduino GND түйреуішіне параллель жалғаңыз.
- Барлық ток GND -ге түспейтініне көз жеткізу үшін резисторды қолданыңыз, бұл сізге Arduino A1 терминалында сезу үшін жеткілікті күшті сигнал алмауға әкеледі. (Мен 10 к Ом резисторды қолданамын).
2 -қадам: Arduino бағдарламалау:
Arduino_Master модулі деректерді жіберу және алу үшін Arduino сериялық мониторын қолданады. Бұл модульді қолданудың артықшылығы - Arduino -ны бағдарламалағаннан кейін, сіз python бағдарламалауын әр түрлі жобалар үшін ғана өзгерте аласыз, себебі python -да бағдарламалау салыстырмалы түрде оңай!
Код:
// LDR_1 айнымалысы Arduino A1 түйреуішін белгілеу үшін қолданылады.
int LDR_1 = A1;
// A1 -ден алынған деректер LDR_Value_1 ішінде сақталады.
қалқыма 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 импорттауынан *
# мәліметтер жинау
деректер = сүзгі (ardata (8, сығу = Жалған, динамикалық = Ақиқат, msg = «ДЕРЕКТЕР», сызықтар = 30), gözlənілген_түр = 'сан', шектеу = [0, 5])
# шегі 5 -ке орнатылды, себебі біз 5В батареяны қолданамыз.
# Мәндерді сызу
График (деректер, stl = 'dark_background', label = 'Жарықтың қарқындылығы')
4 -қадам: Бөлмедегі жарық интенсивтілігін тексерудің соңғы бағдарламасы
Алынған мәліметтерден қорытындыға келгеннен кейін, келесі бағдарламаны жүктеңіз және сіздің қорытындыға сәйкес шектеулерді өзгертіңіз.
# Arduino_Master модулін импорттау
Arduino_Master импортынан # деректерді жинау = сүзгі (ardata (8, сығу = Жалған, динамикалық = Ақиқат, msg = «ДЕРЕКТЕР», жолдар = 50), күтілетін_түрі '' сан ', шектеу = [0, 5]) # деректерді жіктеу қорытындыға негізделген ақпарат = i үшін диапазонда (len (деректер)): қарқындылық = деректер егер қарқындылық 1 және қарқындылық = 2 болса: info.append ('Light ON') # Графикті сызу. compGraph (деректер, ақпарат, stl = 'dark_background', label1 = 'Жарықтың қарқындылығы', label2 = 'Күй')
5 -қадам: Нәтиже:
Бағдарламаны іске қосу үшін бір -екі минут қажет болады, өйткені сіз Arduino -дан 50 лездік мәндерді оқисыз.
Егер сіз процесті жылдамдатқыңыз келсе, ardata функциясының сызықтар параметрін өзгертуге тырысыңыз. Есіңізде болсын, бақылаулар неғұрлым аз болса, деректер сапасы соғұрлым төмен болады.
Ескерту: Егер жоғарыдағы суреттегі толық график көрінбесе, Кіріспе бөлімінің үстіндегі графикті қараңыз.
Ұсынылған:
ISP Wifi модулін, ESP8266 флешер мен бағдарламашыны қолдану арқылы ESP8266 AT микробағдарламасын қалай жыпылықтауға немесе бағдарламалауға болады: 6 қадам
ESP8266 AT бағдарламалық жасақтамасын ESP8266 флешер мен бағдарламашы, IOT Wifi модулін қолдану арқылы қалай жыпылықтауға немесе бағдарламалауға болады: Сипаттама: Бұл модуль ESP-01 немесе ESP-01S түріндегі ESP8266 модульдеріне арналған USB адаптері /бағдарламашысы. Ол ESP01 қосуға арналған 2х4П 2,54мм әйел басымен ыңғайлы түрде орнатылған. Сондай-ақ, ол ESP-01-дің барлық түйреуіштерін 2x4P 2,54 мм ерлер арқылы ажыратады
Температура мен жарық қарқындылығын қалай тіркеуге болады - Proteus модельдеу - Қиындық - Liono Maker: 5 қадам
Температура мен жарық қарқындылығын қалай тіркеуге болады | Proteus модельдеу | Қиындық | Liono Maker: Сәлеметсіз бе, бұл Liono Maker, бұл менің ресми YouTube каналым. Бұл ашық YouTube Channel.here сілтемесі бар: Liono Maker YouTube Channel бейне бейне сілтемесі бар: Temp & жарық интенсивті тіркеу Бұл оқулықта біз темперамент жасауды үйренеміз
HW30A щеткасыз қозғалтқыштың жылдамдық реттегіші мен сервистік сынағышты қолдану арқылы дронсыз квадрокоптер щеткасыз тұрақты ток қозғалтқышын қалай іске қосу керек: 3 қадам
HW30A щеткасыз қозғалтқыштың жылдамдық реттегіші мен серво сынағышты қолдану арқылы дронсыз квадрокоптердің щеткасыз тұрақты ток қозғалтқышын қалай іске қосуға болады: Сипаттама: Бұл құрылғы серво қозғалтқышты сынаушы деп аталады, оны сервоприводты қосуға және оған электрмен жабдықтауға қосуға болады. Құрылғыны электр жылдамдығын реттегіш (ESC) үшін сигнал генераторы ретінде де қолдануға болады, содан кейін сіз
ITunes кітапханасын теледидар немесе авиционер арқылы қалай тыңдау керек: 5 қадам
ITunes кітапханасын теледидар немесе авиционер арқылы қалай тыңдау керек: Жарайды, мен бұл нұсқаулықты 10 минут ішінде жасадым. Бұл оңай болды! Ноутбук бұл үшін жақсы болар еді, бірақ теледидардың жанындағы жұмыс үстелі де жақсы. Егер сізде аэропорттық экспресс болса, мен сізге бір қадам қосамын. (Ескерту: менде әуежай экспрессі жоқ, сондықтан егер мен
ESP32 NodeMCU WiFi мен Bluetooth модулінің оқулығын қолдану арқылы жарық диодты жыпылықтаңыз: 5 қадам
ESP32 NodeMCU WiFi мен Bluetooth модулінің оқулығын қолдану арқылы жарық диодты жыпылықтаңыз: DescriptionNodeMCU - бұл ашық көзі IoT платформасы. Ол Lua сценарий тілінің көмегімен бағдарламаланған, платформа eLua ашық бастапқы коды жобаларына негізделген. Платформа lua-cjson, spiffs сияқты көптеген ашық бастапқы жобаларды қолданады. Бұл ESP32 NodeMc