https://wiki.keyestudio.com/KS0085_Keyestudio_Smart_Home_Kit_for_Arduino
Умный дом — это тренд будущего.
Представьте, что вы лежите на диване и управляете всем с помощью обычного мобильного телефона.
Это невероятно!
Шторы могут закрываться автоматически, температура воды может регулироваться, чтобы наполнить уютную ванну.
Освещенность меняется в зависимости от сезона и времени суток или по другим заранее заданным правилам.
Вам не терпится попробовать поуправлять таким домом?
— Этот урок для вас!
В этом уроке мы соберём комплект для умного дома своими руками с помощью программного обеспечения Arduino.
Do It Yourself!
Урок адаптирован для комплекта KS0085_Keyestudio_Smart_Home_Kit_for_Arduino.
Панель управления Keyestudio PLUS
Проект 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);} } //