Мазмұны:

Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам
Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам

Бейне: Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам

Бейне: Arduino мен Python Arduino Master кітапханасын қолдану арқылы жарық қарқындылығын сызу: 5 қадам
Бейне: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Қараша
Anonim
Arduino мен Python Arduino Master кітапханасының көмегімен жарық қарқындылығының графигі
Arduino мен Python Arduino Master кітапханасының көмегімен жарық қарқындылығының графигі

Arduino үнемді, бірақ өте тиімді және функционалды құрал болғандықтан, оны Embedded C -де бағдарламалау жобаларды қиындатады! Python Arduino_Master модулі мұны жеңілдетеді және есептеулер жүргізуге, қоқыс мәндерін жоюға және деректерді визуалды түрде көрсету үшін график құруға мүмкіндік береді.

Егер сіз бұл модуль туралы әлі білмесеңіз, оны Arduino_Master орнату пәрмені арқылы орнатыңыз

Егер сіз бұл модульді қалай қолдануды білмесеңіз, алаңдамаңыз, мына сілтемеге кіріңіз => Arduino_Master

Дегенмен, бұл жобаның коды әрқашан осы нұсқаулықта болады.

Жабдықтар

Бұл жоба үшін сізге мыналар қажет:

  1. Ардуино
  2. Жарыққа тәуелді резистор (LDR) және
  3. Python 3 компьютерде орнатылған.

1 -қадам: Сіздің тізбекті құру:

Сіздің тізбекті құру
Сіздің тізбекті құру

Біз кіріс деректерін алу үшін Arduino A1 түйреуішін қолданамыз. Батареяның орнына Arduino 5V және GND түйреуіштерін пайдалануға болады. Қосылымды келесідей жасаңыз:

  1. LDR -дің бір ұшын 5В аккумулятордың оң терминалына немесе Arduino -ның 5В істігіне қосыңыз.
  2. LDR екінші ұшын A1 түйреуішіне және аккумулятордың теріс терминалына немесе Arduino GND түйреуішіне параллель жалғаңыз.
  3. Барлық ток 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 функциясының сызықтар параметрін өзгертуге тырысыңыз. Есіңізде болсын, бақылаулар неғұрлым аз болса, деректер сапасы соғұрлым төмен болады.

Ескерту: Егер жоғарыдағы суреттегі толық график көрінбесе, Кіріспе бөлімінің үстіндегі графикті қараңыз.

Ұсынылған: