Задание 1.
Задания для самостоятельного решения
1. Напишите управляющую программу так, чтобы светодиод циклично светился две секунды и оставался выключенным одну секунду.
2. Напишите управляющую программу так, чтобы светодиод однократно включался на пять секунд после запуска устройства, а затем мигал в режиме 2 секунды горит, а 2 секунды не горит.
// Мигание
// включает светодиод на 1 секунду, затем
// выключает на 1 секунду,
// функция вызывается циклически
int ledPin = 13; // светодиод подключен к выходу 13
void setup()
{
// устанавливаем 13 контакт в режим вывода:
pinMode(ledPin, OUTPUT);
}
// функция loop() вызывается циклически
// пока Arduino подключен к питанию
void loop()
{
digitalWrite(ledPin, HIGH); // включение светодиода
delay(2000); // задержка 2 сек
digitalWrite(ledPin, LOW); // выключение светодиода
delay(2000); // задержка 2 сек
}
Задание 1.1.
Задания для самостоятельного решения
1. Отключите питание, отключите светодиод от 9-го порта и подключите к 10-му. Измените программу так, чтобы схема снова заработала.
2. Измените код программы так, чтобы в течение секунды на светодиод последовательно подавалось усредненное напряжение 0, 1, 2, 3, 4, 5 В.
#include // подключаем библиотеку математики
int ledPin = 10;
float Val;
int led;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
for (int x=0; x<180; x++){ // в цикле перебираем числа
Val=sin(x*(3.1412/180));// вычисляем синус
led=int(Val*0); // преобразуем его к границам
led=int(Val*51); // преобразуем его к границам
led=int(Val*102); // преобразуем его к границам
led=int(Val*153); // преобразуем его к границам
led=int(Val*204); // преобразуем его к границам
led=int(Val*255); // преобразуем его к границам
analogWrite(ledPin, led); // выводим на ШИМ
delay(10); // задержка 10 мс.
}
}
Do'stlaringiz bilan baham: |