Умный дом

https://wiki.keyestudio.com/KS0085_Keyestudio_Smart_Home_Kit_for_Arduino

Умный дом — это тренд будущего. 
Представьте, что вы лежите на диване и управляете всем с помощью обычного мобильного телефона. 
Это невероятно! 
Шторы могут закрываться автоматически, температура воды может регулироваться, чтобы наполнить уютную ванну. 
Освещенность меняется в зависимости от сезона и времени суток или по другим заранее заданным правилам. 
Вам не терпится попробовать поуправлять таким домом? 
— Этот урок для вас!
В этом уроке мы соберём комплект для умного дома своими руками с помощью программного обеспечения Arduino. 
Do It Yourself!

Урок адаптирован для комплекта KS0085_Keyestudio_Smart_Home_Kit_for_Arduino.

Панель управления Keyestudio PLUS

Плата управления Keyestudio PLUS полностью совместима со средой разработки Arduino IDE. 
Она содержит все функции платы Arduino UNO 
+ некоторые улучшения,

Проект 1: мигание светодиода

Оборудование
Описание контактов
Схема подключения
/*
Комплект умного дома Keyestudio для Arduino

Проект 1
Blink
http://www.keyestudio.com
*/
void setup() {
  // инициализируем цифровой вывод 13 как выход
  pinMode(13, OUTPUT);
}
// функция цикла запускается снова и снова всегда
void loop() {
  digitalWrite(13, HIGH);   // включаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
}//

Проект 2: плавное изменение яркости светодиода

/ * 
Комплект умного дома Keyestudio для Arduino 
Project 2 
PWM 
http://www.keyestudio.com 
* / 
int ledPin = 5; // Определение вывода светодиода на D5 
void setup () { 
      pinMode (ledPin, OUTPUT); // инициализируем ledpin как выход. 
} 
void loop () { 
for (int value = 0; value<255; value = value + 1) {
     analogWrite (ledPin, value); // Светодиоды загораются постепенно 
     delay (5); // задержка 5 мс 
   } 
   for (int value = 255; value> 0; value = value-1) { 
     analogWrite (ledPin, value); // светодиод постепенно гаснет 
     delay (5); // задержка 5 мс
   }} 
//

Проект 3: пассивный зуммер

/ *
Комплект умного дома Keyestudio для Arduino
Проект 3.1
Зуммер
http://www.keyestudio.com
* /
int tonepin = 3; // Установите контакт зуммера на цифровой D3
     void setup ()
     {
       pinMode (tonepin, OUTPUT); // Устанавливаем режим вывода 
     }
     void loop ()
     {
       unsigned char i, j;        
       while (1)
       {
         for (i = 0; i <80; i ++) // вывод частотного звука
         {
           digitalWrite (tonepin, HIGH); // Звук
           delay (1); // Задержка 1 мс
           digitalWrite (tonepin, LOW); // Без звука
           delay (1); // Задержка 1 мс
         }
         for (i = 0; i <100; i ++) // вывод звука другой частоты
         {
           digitalWrite (tonepin, HIGH); // Звук
           delay (2); // задержка 2 мс
           digitalWrite (tonepin, LOW); // Без звука
           delay (2); // задержка 2 мс
         }}}
//

Ода радости

/*
Keyestudio smart home Kit for Arduino
Project 3.2
Buzzer music
http://www.keyestudio.com
*/
#define NTD0 -1
#define NTD1 294
#define NTD2 330
#define NTD3 350
#define NTD4 393
#define NTD5 441
#define NTD6 495
#define NTD7 556
 
#define NTDL1 147
#define NTDL2 165
#define NTDL3 175
#define NTDL4 196
#define NTDL5 221
#define NTDL6 248
#define NTDL7 278
 
#define NTDH1 589
#define NTDH2 661
#define NTDH3 700
#define NTDH4 786
#define NTDH5 882
#define NTDH6 990
#define NTDH7 112
// Список всех D-настроенных частот
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.25
#define SIXTEENTH 0.625
// List all beats
int tune [] = // Список каждой частоты в соответствии с обозначениями
{
  NTD3, NTD3, NTD4, NTD5,
  NTD5, NTD4, NTD3, NTD2,
  NTD1, NTD1, NTD2, NTD3,
  NTD3, NTD2, NTD2,
  NTD3, NTD3, NTD4, NTD5,
  NTD5, NTD4, NTD3, NTD2,
  NTD1, NTD1, NTD2, NTD3,
  NTD2, NTD1, NTD1,
  NTD2, NTD2, NTD3, NTD1,
  NTD2, NTD3, NTD4, NTD3, NTD1,
  NTD2, NTD3, NTD4, NTD3, NTD2,
  NTD1, NTD2, NTDL5, NTD0,
  NTD3, NTD3, NTD4, NTD5,
  NTD5, NTD4, NTD3, NTD4, NTD2,
  NTD1, NTD1, NTD2, NTD3,
  NTD2, NTD1, NTD1
};
float durt [] = // List the beats according to the notation
{
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1 + 0.5,0.5,1 + 1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1 + 0.5,0.5,1 + 1,
  1,1,1,1,
  1,0.5,0.5,1,1,
  1,0.5,0.5,1,1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,0.5,0.5,
  1,1,1,1,
  1 + 0.5,0.5,1 + 1,
};
int length;
int tonepin = 3; // Use interface 3
void setup ()
{
  pinMode (tonepin, OUTPUT);
  length = sizeof (tune) / sizeof (tune [0]); // Calculate length
}
void loop ()
{
  for (int x = 0; x <length; x ++)
  {
    tone (tonepin, tune [x]);
    delay (350* durt [x]); // Используется для настройки задержки в соответствии с ритмом, 350 можно настроить самостоятельно
    noTone (tonepin);
  }
  delay (2000); 
}
//

Проект 4 : Управление светодиодом с помощью кнопочного модуля

 Когда кнопка нажата, сигнал — низкий уровень (0); при отпускании сигнал датчика сохраняет высокий уровень (1).

/ *
Комплект умного дома Keyestudio для Arduino
Проект 4
Кнопка
http://www.keyestudio.com
* /
int ledpin = 5; // Определение светодиода в D5
int inpin = 4; // Определяем кнопку в D4
int val; // Определить переменную val
void setup ()
{
pinMode (ledpin, OUTPUT); // The LED light interface is defined as output pinMode (inpin, INPUT); // Define the button interface as input
}
void loop ()
{
val = digitalRead (inpin); // Считываем цифровое значение 4 уровня и присваиваем его val
if (val == LOW) // Независимо от того, нажата ли клавиша, при нажатии будет гореть свет
{digitalWrite (ledpin, HIGH);}
else
{digitalWrite (ledpin, LOW);}
}
//

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.