Съдържание:
- Консумативи
- Стъпка 1: Изграждане на веригата:
- Стъпка 2: Програмиране на вашия Arduino:
- Стъпка 3: Програмиране на Python към графични данни от Arduino:
- Стъпка 4: Последна програма за проверка на интензитета на светлината в една стая
- Стъпка 5: Резултат:
Видео: Начертаване на интензитета на светлината с помощта на Arduino и основната библиотека на Arduino на Python: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Arduino като икономичен, но високоефективен и функционален инструмент, програмирането му във Embedded C прави процеса на правене на проекти досадни! Модулът Arduino_Master на Python опростява това и ни позволява да извършваме изчисления, да премахваме стойностите на боклука и да начертаваме графика за визуално представяне на данните.
Ако все още не знаете за този модул, инсталирайте го с помощта на командата pip install Arduino_Master
Не се притеснявайте, ако не знаете как да използвате този модул, посетете тази връзка => Arduino_Master
Кодът за този проект обаче винаги ще бъде достъпен в тази инструкция.
Консумативи
За този проект ще ви трябва следното:
- Ардуино
- Светлозависим резистор (LDR) и
- Python 3 е инсталиран на вашия компютър.
Стъпка 1: Изграждане на веригата:
Ще използваме щифт A1 на Arduino за получаване на входни данни. Можете също да използвате 5V и GND щифтове на Arduino вместо батерията. Направете връзката, както следва:
- Свържете единия край на LDR към положителния извод на 5V батерия или към 5V щифта на Arduino.
- Свържете другия край на LDR паралелно към щифт A1 и отрицателен извод на батерията или GND щифт на Arduino.
- Използвайте резистор, за да сте сигурни, че целият ток не тече към GND, което би довело до това да не получите достатъчно силен сигнал, който да усетите на терминал A1 на Arduino. (Използвам резистор от 10k ома).
Стъпка 2: Програмиране на вашия Arduino:
Модулът Arduino_Master използва сериен монитор на Arduino за изпращане и получаване на данни. Предимството на използването на този модул е, след като програмирате своя Arduino, можете да промените програмата python самостоятелно за различни проекти, тъй като програмирането в python е сравнително по -лесно!
Код:
// Променливата LDR_1 се използва за обозначаване на щифт A1 на Arduino.
int LDR_1 = A1;
// Данните, получени от A1, ще се съхраняват в LDR_Value_1.
поплавък LDR_Value_1;
Въвеждане на низ;
void setup ()
{pinMode (LDR_1, INPUT); // LDR_1 е зададен като INPUT щифт. Serial.begin (9600); // Комуникационната скорост е зададена на 9600.}
void loop ()
{if (Serial.available ()> 0) // ако има наличен вход в серийния монитор, продължете. {вход = Serial.readString (); // Прочетете входа като низ. if (вход == "ДАННИ") {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), очакван_тип = 'брой', ограничение = [0, 5])
# ограничението е зададено на 5, тъй като използваме 5V батерия.
# Начертаване на стойностите
Графика (данни, stl = 'dark_background', label = 'Light Intensity')
Стъпка 4: Последна програма за проверка на интензитета на светлината в една стая
След като стигнете до заключение от получените данни, качете следната програма и не забравяйте да промените ограниченията според вашето заключение.
# Импортиране на модул Arduino_Master
от Arduino_Master импортиране # събиране на данни = филтър (ardata (8, стискане = невярно, динамично = вярно, msg = "DATA", редове = 50), очаквани_тип = 'num', ограничение = [0, 5]) # класифициране на данни въз основа на заключение info = за i в обхват (len (данни)): интензивност = данни ако интензитет 1 и интензитет = 2: info.append ('Light ON') # Начертаване на графиката. compGraph (данни, информация, stl = 'dark_background', label1 = 'Интензивност на светлината', label2 = 'Състояние')
Стъпка 5: Резултат:
Изпълнението на програмата ще отнеме минута или две, тъй като четете 50 моментални стойности от Arduino.
Ако искате да ускорите процеса, опитайте да промените параметъра линии на функцията ardata. Но не забравяйте, че колкото по -малки са наблюденията, толкова по -малко ще бъде качеството на данните.
Забележка: Ако пълната графика на горната снимка не се вижда, вижте графиката над раздела Въведение.
Препоръчано:
Измерване на интензитета на светлината с помощта на BH1715 и Raspberry Pi: 5 стъпки
Измерване на интензитета на светлината с помощта на BH1715 и Raspberry Pi: Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензитетът на светлината е не само важен във физическата сфера на този свят, но има своята добре казана роля в биологията
Начертаване на живи данни на температурен сензор (TMP006) с помощта на MSP432 LaunchPad и Python: 9 стъпки
Начертаване на живи данни на температурен сензор (TMP006) с помощта на MSP432 LaunchPad и Python: TMP006 е температурен сензор, който измерва температурата на обект, без да е необходимо да влиза в контакт с обекта. В този урок ще начертаем данни за температурата на живо от BoosterPack (TI BOOSTXL-EDUMKII), използвайки Python
Изчисляване на интензитета на светлината с помощта на BH1715 и Arduino Nano: 5 стъпки
Изчисляване на интензитета на светлината с помощта на BH1715 и Arduino Nano: Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензитетът на светлината е не само важен във физическата сфера на този свят, но има своята добре казана роля в биологията
Изчисляване на интензитета на светлината с помощта на BH1715 и фотон от частици: 5 стъпки
Изчисляване на интензитета на светлината с помощта на BH1715 и частичен фотон: Вчера работихме върху LCD дисплеи и докато работихме над тях, осъзнахме важността на изчисляването на интензитета на светлината. Интензитетът на светлината е не само важен във физическата сфера на този свят, но има своята добре казана роля в биологията
Измервател на интензитета на светлината без програмиране .: 7 стъпки (със снимки)
Измервател на интензитета на светлината без програмиране .: Тази инструкция е свързана с направата на основен измервател на интензитета на светлината, без да се използва Arduino или друг микроконтролер или програмиране. Измервателят на интензитета на светлината показва различни нива на интензивност на светлината с различни цветове на светодиодите. Червеният светодиод