Съдържание:

Контрол на светодиода чрез потенциометър с Arduino Uno R3: 6 стъпки
Контрол на светодиода чрез потенциометър с Arduino Uno R3: 6 стъпки

Видео: Контрол на светодиода чрез потенциометър с Arduino Uno R3: 6 стъпки

Видео: Контрол на светодиода чрез потенциометър с Arduino Uno R3: 6 стъпки
Видео: How to use 4 channel Relay to control AC load with Arduino code 2024, Юли
Anonim
Контрол на светодиода чрез потенциометър с Arduino Uno R3
Контрол на светодиода чрез потенциометър с Arduino Uno R3

Преди това използвахме Serial Monitor за изпращане на данни до контролната платка, което може да е просветляващо за познаването на нов софтуер. В този урок нека да видим как да променим яркостта на светодиода чрез потенциометър и да получим данните от потенциометъра в сериен монитор, за да видим промяната на стойността му.

Стъпка 1: Компоненти

- дъска Arduino Uno * 1

- USB кабел * 1

- Резистор (220Ω) * 1

- LED * 1

- Потенциометър * 1

- Платформа * 1

- Джъмперни проводници

Стъпка 2: Принцип

Линейният потенциометър е аналогов електронен компонент. И така, каква е разликата между аналогова стойност и цифрова? Просто казано, цифровото означава включване/изключване, високо/ниско ниво само с две състояния, т.е. 0 или 1. Но състоянието на данните на аналоговите сигнали е линейно, например от 1 до 1000; стойността на сигнала се променя с течение на времето, вместо да посочва точно число. Аналоговите сигнали включват тези със светлинен интензитет, влажност, температура и т.н.

Стъпка 3: Схематична диаграма

Схематичната диаграма
Схематичната диаграма

Стъпка 4: Процедури

Процедури
Процедури
Процедури
Процедури

В този експеримент потенциометърът се използва като

делител на напрежение, което означава свързване на устройства към всичките му три пина. Свържете средния щифт на потенциометъра към щифт A0 и другите два пина съответно към 5V и GND. Следователно напрежението на потенциометъра е 0-5V. Завъртете копчето на потенциометъра и напрежението на щифт A0 ще се промени. След това преобразувайте това напрежение в цифрова стойност (0-1024) с AD конвертора в контролната платка. Чрез програмиране можем да използваме преобразуваната цифрова стойност, за да контролираме яркостта на светодиода на контролната платка.

Етап 1:

Изградете веригата.

Стъпка 2:

Изтеглете кода от

Стъпка 3:

Качете скицата на дъската Arduino Uno

Щракнете върху иконата за качване, за да качите кода на контролната платка.

Ако в края на прозореца се появи „Готово качване“, това означава, че скицата е качена успешно.

Завъртете вала на потенциометъра и трябва да видите яркостта на светодиода.

Ако искате да проверите съответните промени на стойностите, отворете Serial Monitor и данните в прозореца ще се променят с въртенето на копчето на потенциометъра. Този експеримент също може да бъде променен на други, както желаете. Например, използвайте потенциометъра, за да контролирате интервала от време за мигане на светодиода.

Стъпка 5: Код

// Управление чрез потенциометър

// Завъртане

вала на потенциометъра и трябва да видите промяната на яркостта на светодиода.

// Уебсайт: www.primerobotics.in

/******************************************/

const

int analogPin = 0; // прикрепете аналоговия входен щифт към

const

int ledPin = 9; // светодиодът се прикрепя към

int

inputValue = 0; // променлива за съхраняване на стойността, идваща от сензора

int

outputValue = 0; // променлива за съхраняване на изходната стойност

/******************************************/

невалиден

настройвам()

{

Serial.begin (9600); // задаване на сериал

скорост на комуникация като 9600

}

/******************************************/

невалиден

цикъл ()

{

inputValue = analogRead (analogPin); // прочетете

стойност от потенциометъра

Serial.print ("Вход:"); // отпечатване

"Вход"

Serial.println (inputValue); // отпечатване

inputValue

outputValue = map (inputValue, 0, 1023, 0, 255); // Преобразуване от 0-1023 пропорционално на броя на числото от 0 до 255

Serial.print ("Изход:"); // отпечатване

"Изход"

Serial.println (outputValue); // отпечатване

outputValue

analogWrite (ledPin, outputValue); // завъртете

LED в зависимост от изходната стойност

забавяне (1000);

}

/*******************************************/

Препоръчано: