вторник, 8 мая 2018 г.

Схемотехника с Arduino

Этап 1. 
"Autodesk Circuits - собираем устройства онлайн"
Регистрация на сервисе, изучение его интерфейса, изучение информации - выполнено

Этап 2. Мини-проект "Радуга"
Часть 1.
Собрать схему с RGB-светодиодом и запрограммировать переключение семи цветов радуги в его работе 
Необходимые детали: 
  •         плата Arduino Uno ;
  •         беспаечная макетная плата Breadboard small;
  •         3 резистора на 220 Ом; 
  •         1 RGB-светодиод;
  •         соединительные провода "папа-папа"





Скетч:
#define red_led 11
#define blue_led 10
#define green_led 9

void setup()
{
pinMode (red_led, OUTPUT);
  pinMode (blue_led, OUTPUT);
  pinMode (green_led, OUTPUT);
}
void loop ()
{
analogWrite (red_led, 255);
analogWrite (blue_led, 0);
analogWrite (green_led, 0);//красный
delay (1000);
 analogWrite (red_led, 200);
  analogWrite (blue_led, 0);
  analogWrite (green_led, 55); 
  delay (1000);//оранжевый
  analogWrite (red_led, 255);
  analogWrite (blue_led, 0);
  analogWrite (green_led, 255);
  delay (1000);//желтый
  analogWrite (red_led, 0);
  analogWrite (blue_led, 0);
  analogWrite (green_led, 255); 
  delay (1000);//зеленый
  analogWrite (red_led, 0);
  analogWrite (blue_led, 255);
  analogWrite (green_led, 255);
  delay (1000);//голубой
  analogWrite (red_led, 0);
  analogWrite (blue_led, 255);
  analogWrite (green_led, 0); 
  delay (1000);//синий
  analogWrite (red_led, 120);
  analogWrite (blue_led, 255);
  analogWrite (green_led, 0);
  delay (1000);//фиолетовый
}

просмотреть задание по ссылке - Мини-проект "Радуга".Часть 1


Часть 2.
Добавить на схему еще один RGB-светодиод и запрограммировать работу всех светодиодов таким образом, чтобы они работали одновременно, но смена цветов шла с разницей в два цвета.

Необходимые детали:  

  •  плата Arduino Uno ;
  •  беспаечная макетная плата Breadboard small;
  • 3 резистора на 220 Ом; 
  • 1 RGB-светодиод;
  • соединительные провода "папа-папа"




Скетч:
#define red_led 11
#define blue_led 10
#define green_led 9
#define red_led1 6
#define blue_led1 5
#define green_led1 3
void setup ()
{
pinMode (red_led,OUTPUT);
pinMode (blue_led,OUTPUT);
pinMode (green_led,OUTPUT);
pinMode (red_led1,OUTPUT);
pinMode (blue_led1,OUTPUT);
pinMode (green_led1,OUTPUT);
}
void loop ()
{
analogWrite (red_led,255);
analogWrite (blue_led,0);
analogWrite (green_led,0); //красный
delay(1000);
analogWrite (red_led1,0);
analogWrite (blue_led1,255);
analogWrite (green_led1,0); //синий
delay(1000);
analogWrite (red_led,255);
analogWrite (blue_led,0);
analogWrite (green_led,55);//оранжевый
delay(1000);
analogWrite (red_led1,120);
analogWrite (blue_led1,255);
analogWrite (green_led1,0); //фиолетовый
delay(1000);
analogWrite (red_led,255);
analogWrite (blue_led,0);
analogWrite (green_led,255); //желтый
delay(1000);
analogWrite (red_led1,255);
analogWrite (blue_led1,0);
analogWrite (green_led1,0); //красный
delay(1000);
analogWrite (red_led,0);
analogWrite (blue_led,0);
analogWrite (green_led,255); //зеленый
delay(1000);
analogWrite (red_led1,200);
analogWrite (blue_led1,0);
analogWrite (green_led1,55); //оранжевый
delay(1000);
analogWrite (red_led,0);
analogWrite (blue_led,255);
analogWrite (green_led,55); //голубой
delay(1000);
analogWrite (red_led1,255);
analogWrite (blue_led1,0);
analogWrite (green_led1,255); //желтый
delay(1000);
analogWrite (red_led,0);
analogWrite (blue_led,255);
analogWrite (green_led,0); //синий
delay(1000);
analogWrite (red_led1,0);
analogWrite (blue_led1,0);
analogWrite (green_led1,255); //зеленый
delay(1000);
analogWrite (red_led,255);
analogWrite (blue_led,255);
analogWrite (green_led,0); //фиолетовый
delay(1000);
analogWrite (red_led1, 0);
analogWrite (blue_led1, 255);
analogWrite (green_led1, 255); //голубой
delay (1000);
}

просмотреть задание по ссылке - Мини-проект "Радуга".Часть 2

Этап 3. Мини-проект "НЕ Умный светильник"
Собрать схему "НЕ Умный светильник" по предложенной инструкции в теоретическом материале; изменить код программы таким образом, чтобы при ярком свете светодиод горел ровно, при среднем освещении - мигал, в темноте - не горел.

Необходимые детали:
  •         плата Arduino Uno; 
  •         беспаечная макетная плата Breadboard small; 
  •         1 резистор на 1 кОм; 
  •         1 резистор на 220 Ом; 
  •         1 светодиод; 
  •         1 фоторезистор; 
  •         соединительные провода "папа-папа"





Скетч:
#define LED_PIN 13//даём портам новые имена, чтобы
#define LDR_PIN A0//не запоминать их номера

void setup()
{ //говорим микроконтроллеру, что
pinMode(LED_PIN, OUTPUT);//порт LED_PIN, работает в режиме
} //вывода сигнала

void loop()
{
int val;//задаём целочисленную переменную
val=analogRead(LDR_PIN);//записываем в переменную значение
// с порта LDR_PIN
if(val<70)//проверяем условие
{
digitalWrite(LED_PIN,HIGH);//подаем сигнал HIGH на LED_PIN,
} //если условие выполняется
else if (val>256)
{
digitalWrite(LED_PIN,LOW);//иначе подаем сигнал LOW
}
else
{

digitalWrite(13, HIGH);

// задерживаем (англ. «delay») микроконтроллер в этом
// состоянии на 100 миллисекунд
delay(100);

// подаём на пин 13 «низкий сигнал» (англ. «low»), т.е.
// выдаём 0 вольт или, точнее, приравниваем пин 13 к земле.
// В результате светодиод погаснет
digitalWrite(13, LOW);

// замираем в этом состоянии на 900 миллисекунд
delay(900);
}
}

просмотреть задание по ссылке - Мини-проект "НЕ Умный светильник"

Комментариев нет:

Отправить комментарий