Оглавление:

Автоматическое отслеживание источника света: 5 шагов
Автоматическое отслеживание источника света: 5 шагов

Видео: Автоматическое отслеживание источника света: 5 шагов

Видео: Автоматическое отслеживание источника света: 5 шагов
Видео: Самые Удивительные Древние Технологии 2024, Ноябрь
Anonim
Автоматическое отслеживание источника света
Автоматическое отслеживание источника света

В этом уроке мы будем использовать серводвигатель, фоторезистор и понижающий резистор, чтобы собрать систему источника света с автоматическим отслеживанием.

Шаг 1: Компоненты:

- Плата Arduino Uno * 1

- USB-кабель * 1

- Серводвигатель * 1

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

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

- Макетная плата * 1

- перемычки

Шаг 2: Принцип

Серводвигатель и фоторезистор сканируют и ищут источник света под углом 180 градусов и записывают местоположение источника света. После завершения сканирования серводвигатель и фоторезистор останавливаются в направлении источника света.

Шаг 3: Процедуры:

Процедуры
Процедуры
Процедуры
Процедуры
Процедуры
Процедуры

Шаг 1:

Постройте схему.

Шаг 2:

Загрузите код с

Шаг 3:

Загрузите скетч на плату Arduino Uno

Щелкните значок «Загрузить», чтобы загрузить код на плату управления.

Если в нижней части окна отображается «Готово», это означает, что скетч был успешно загружен.

Теперь, если вы используете фонарик, чтобы осветить фоторезистор, вы увидите, как серводвигатель и фоторезистор вращаются и, наконец, останавливаются в направлении источника света.

Шаг 4: принципиальная схема

Схематическая диаграмма
Схематическая диаграмма

Шаг 5: Код

Код
Код
Код
Код
Код
Код

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

* имя:

Автоматическое отслеживание источника света

* функция

: если осветить фоторезистор фонариком, * ты увидишь

серводвигатель и фоторезистор вращаются, * и наконец

остановитесь в направлении источника света.

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

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

// Сайт: www.primerobotics.in

#включают

const int фотоэлементPin = A0;

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

Servo myservo; // создаем объект серво для управления сервоприводом

int outputValue = 0;

int angle = {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;

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

установка void ()

{

Serial.begin (9600);

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

}

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

пустой цикл ()

{

для (int i = 0;

я <19; я ++)

{

myservo.write (angle ); // записываем угол в сервопривод

outputValue

= analogRead (photocellPin); // считываем значение A0

Serial.println (outputValue); // распечатать

if (outputValue> maxVal) // если текущее значение A0 больше предыдущего

{

maxVal = outputValue; // записываем значение

maxPos

= i; //

}

задержка (200);

}

myservo.write (angle [maxPos]); // записываем в сервопривод угол, для которого A0 имеет наибольшее значение

в то время как (1);

}

Рекомендуемые: