Мазмұны:

Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару: 6 қадам
Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару: 6 қадам

Бейне: Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару: 6 қадам

Бейне: Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару: 6 қадам
Бейне: Using Digispark Attiny85 Mini Arduino boards: Lesson 108 2024, Шілде
Anonim
Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару
Arduino Uno R3 көмегімен потенциометр көмегімен жарықдиодты басқару

Бұрын біз деректерді басқару тақтасына жіберу үшін жаңа бағдарламалық қамтамасыз етуді білуге көмектесетін сериялық мониторды қолдандық. Бұл сабақта потенциометр көмегімен жарық диодты жарықтандыруды қалай өзгерту керектігін және оның мәнінің өзгеруін көру үшін потенциометрдің мәліметтерін сериялық монитордан алуды қарастырайық.

1 -қадам: компоненттер

- Arduino Uno тақтасы * 1

- USB кабелі * 1

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

- жарықдиодты * 1

- потенциометр * 1

- Нан тақтасы * 1

- Өткізгіш сымдар

2 -қадам: принцип

Сызықтық потенциометр - аналогты электронды компонент. Сонымен, аналогтық мән мен цифрлық мәннің айырмашылығы неде? Қарапайым сөзбен айтқанда, цифрлық қосылу/өшіру, жоғары/төмен деңгей, тек екі күйде, яғни 0 немесе 1. Бірақ аналогтық сигналдардың деректер күйі сызықты, мысалы, 1 -ден 1000 -ға дейін; сигналдың мәні нақты санды көрсетудің орнына уақыт бойынша өзгереді. Аналогтық сигналдарға жарық қарқындылығы, ылғалдылық, температура және т.б.

3 -қадам: Схемалық диаграмма

Схемалық диаграмма
Схемалық диаграмма

4 -қадам: процедуралар

Процедуралар
Процедуралар
Процедуралар
Процедуралар

Бұл тәжірибеде потенциометр ретінде қолданылады

кернеуді бөлгіш, яғни құрылғыларды оның барлық үш түйреуішіне қосады. Потенциометрдің ортаңғы түйреуішін A0 түйреуішіне, ал қалған екі істікті тиісінше 5В пен GND -ге қосыңыз. Сондықтан потенциометрдің кернеуі 0-5В. Потенциометрдің тұтқасын айналдырыңыз, сонда A0 түйреуішіндегі кернеу өзгереді. Содан кейін бұл кернеуді басқару тақтасындағы AD түрлендіргіші бар сандық мәнге (0-1024) түрлендіріңіз. Бағдарламалау арқылы біз басқару тақтасындағы жарықдиодты жарықтылықты басқару үшін түрлендірілген цифрлық мәнді қолдана аламыз.

1 -қадам:

Схеманы құрыңыз.

2 -қадам:

Кодты https://github.com/primerobotics/Arduino сайтынан жүктеп алыңыз

3 -қадам:

Эскизді Arduino Uno тақтасына жүктеңіз

Кодты басқару тақтасына жүктеу үшін Жүктеу белгішесін басыңыз.

Егер терезенің төменгі жағында «Дайын жүктеу» пайда болса, бұл эскиз сәтті жүктелгенін білдіреді.

Потенциометрдің білігін айналдырыңыз, сонда жарық диодты жарықтың өзгеруін көресіз.

Егер сіз сәйкес мәндегі өзгерістерді тексергіңіз келсе, сериялық мониторды ашыңыз, сонда потенциометрдің тұтқасының айналуымен терезеде деректер өзгереді. Бұл тәжірибені қалағаныңызша басқаларға өзгертуге болады. Мысалы, жарық диодты жыпылықтаудың уақыт аралығын басқару үшін потенциометрді қолданыңыз.

5 -қадам: код

// Потенциометрмен басқарылады

// Айналдыру

потенциометрдің білігі және сіз жарық диодтың жарықтығын көресіз.

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

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

конст

int analogPin = 0; // аналогтық кіріс түйіні бекітіледі

конст

int ledPin = 9; // LED бекітеді

int

inputValue = 0; // сенсордан келетін мәнді сақтау үшін айнымалы

int

outputValue = 0; // шығыс мәнін сақтау үшін айнымалы

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

жарамсыз

орнату()

{

Serial.begin (9600); // серияны орнатыңыз

Байланыс жылдамдығы 9600

}

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

жарамсыз

цикл ()

{

inputValue = analogRead (analogPin); // оқыңыз

потенциометрден алынған мән

Serial.print («Енгізу:»); // басып шығару

«Енгізу»

Serial.println (inputValue); // басып шығару

inputValue

outputValue = карта (inputValue, 0, 1023, 0, 255); // 0-1023-тен 0-ден 255-ке дейінгі санға пропорционалды түрлендіру

Serial.print («Шығу:»); // басып шығару

«Шығу»

Serial.println (outputValue); // басып шығару

outputValue

analogWrite (ledPin, outputValue); // бұрыңыз

Жарық диодты шығу мәніне байланысты

кешіктіру (1000);

}

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

Ұсынылған: