Мазмуну:

ARDUINO UNO R3 МЕНЕН АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ: 5 кадам
ARDUINO UNO R3 МЕНЕН АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ: 5 кадам

Video: ARDUINO UNO R3 МЕНЕН АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ: 5 кадам

Video: ARDUINO UNO R3 МЕНЕН АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ: 5 кадам
Video: Как получить дополнительные 5 В (или 3,3 В для плат 3,3 В) и вывод GND от Arduino 2024, Июль
Anonim
ARDUINO UNO R3 менен АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ
ARDUINO UNO R3 менен АВТОМАТТЫК ЖАРЫК БУЛАГЫН ТАРТУУ

Бул сабакта биз автоматтык түрдө көзөмөлдөөчү жарык булак системасын чогултуу үчүн сервоприводду, фоторезисторду жана ылдый каршылыкты колдонобуз.

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

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

- USB кабели * 1

- Серво мотору * 1

- фоторезистор * 1

- Резистор (10k) * 1

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

- секирүүчү зымдар

2 -кадам: Принцип

Серво мотору жана фоторезистор сканерлеп, 180 даражада жарык булагын издейт жана жарык булагынын жайгашкан жерин жазат. Сканерлөөнү аяктагандан кийин, servo мотор жана фоторезистор жарык булагынын багыты боюнча токтойт.

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

Принципиалдуу схема
Принципиалдуу схема

4 -кадам: Процедуралар

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

1 кадам:

Районду куруңуз.

2-кадам:

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

3 -кадам:

Эскизди Arduino Uno тактасына жүктөңүз

Кодду башкаруу тактасына жүктөө үчүн Жүктөө сөлөкөтүн басыңыз.

Терезенин ылдыйында "Жүктөө бүттү" пайда болсо, бул эскиз ийгиликтүү жүктөлгөнүн билдирет.

Эми, эгер сиз фонарикти фоторезисторду жаркыратуу үчүн колдонсоңуз, анда сервопривод менен фоторезистордун айланып турганын көрүп, акыры жарык булагынын багыты боюнча токтойсуз.

5 -кадам: Код

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

* аты:

Жарык булагын автоматтык түрдө көзөмөлдөө

* функциясы

: эгер сиз фоторезисторду жаркыратуу үчүн фонарь колдонсоңуз, * көрөсүң

servo мотор жана фоторезистор айланат, * жана акыры

жарык булагынын багытына токтогула.

***********************************************************************

/Электрондук почта: [email protected]

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

#кошуу

const int photocellPin = A0;

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

Servo myservo; // servo көзөмөлдөө үчүн servo объектисин түзүү

int outputValue = 0;

int бурчу = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0;

int maxPos = 0;

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

жараксыз орнотуу ()

{

Serial.begin (9600);

myservo.attach (9); // servo объектиге пин 9дагы сервону тиркейт

}

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

боштук цикл ()

{

үчүн (int i = 0;

i <19; мен ++)

{

myservo.write (бурч ); // бурчту servoго жазыңыз

outputValue

= analogRead (photocellPin); // A0 маанисин окуу

Serial.println (outputValue); // басып чыгарыңыз

if (outputValue> maxVal) // эгерде А0нун учурдагы мааниси мурункудан чоң болсо

{

maxVal = outputValue; // маанини жазыңыз

maxPos

= i; //

}

кечигүү (200);

}

myservo.write (бурч [maxPos]); // A0 эң чоң мааниге ээ болгон servo бурчун жазыңыз

while (1);

}

Сунушталууда: