«Arduino и Telegram» – Урок 8: контроллер RGB ленты

Восьмой урок из цикла «Arduino и Telegram». В нём мы научимся управлять цветами RGB светодиодной ленты при помощи telegram бота.
[vc_row][vc_column][vc_wp_text][intense_spacer type=»block» height=»30″]

Восьмой урок из цикла «Arduino и Telegram».  В нём мы научимся управлять цветами RGB светодиодной ленты при помощи telegram бота.[/vc_wp_text][/vc_column][/vc_row][vc_row id=»» color=»warning» font_color=»» hover_color=»» border_radius=»10px» box_shadow=»» block=»» close=»1″ close_memory=»2″ shadow=»0″ class=»» margin_top=»» margin_bottom=»» margin_left=»» margin_right=»» padding_top=»» padding_bottom=»» padding_left=»» padding_right=»» tab_984862461=»» tab_411412670=»» tab_1479978263=»» tab_1595777515=»» tab_1376433241=»» tab_928372326=»»][vc_column][intense_alert border_radius=»10px» close=»1″ close_memory=»2″ shadow=»0″ margin_bottom=»» tab_984862461=»» tab_411412670=»» tab_1479978263=»» tab_1595777515=»» tab_1376433241=»» tab_928372326=»» tab_900568950=»» tab_687746087=»»]Для прохождения данного урока необходимо настроить ArduinoIDE и подключить телеграм бота, как показано в первом уроке, а также уметь работать с мосфет транзисторами как во втором уроке. [/intense_alert][/vc_column][/vc_row][vc_row id=»» color=»warning» font_color=»» hover_color=»» border_radius=»10px» box_shadow=»» block=»» close=»1″ close_memory=»2″ shadow=»0″ class=»» margin_top=»» margin_bottom=»» margin_left=»» margin_right=»» padding_top=»» padding_bottom=»» padding_left=»» padding_right=»» tab_984862461=»» tab_411412670=»» tab_1479978263=»» tab_1595777515=»» tab_1376433241=»» tab_928372326=»»][vc_column][intense_alert color=»warning» border_radius=»10px» close=»1″ close_memory=»2″ shadow=»0″ margin_bottom=»» tab_984862461=»» tab_411412670=»» tab_1479978263=»» tab_1595777515=»» tab_1376433241=»» tab_928372326=»» tab_900568950=»» tab_687746087=»»]Не забывайте о технике безопасности при работе с электрическими устройствами![/intense_alert][/vc_column][/vc_row][vc_row][vc_column][vc_tta_tour][vc_tta_section title=»Компоненты» tab_id=»1532815193568-d33602e7-fe88″][vc_wp_text]Для выполнения урока понадобятся: плата nodemcu, breadboard, светодиодная лента, источник питания 12 В, соединительные провода, 3 мосфет транзистора irf3205 (для повторения урока его будет достаточно, но для больших нагрузок советую мосфет-транзистор AO3400 в корпусе sot-23. Напряжение открытия 2.5 В), 3 резистора на 100 Ом и 3 резистора на 10кОм.[/vc_wp_text][vc_gallery interval=»3″ images=»2993,2992,2991,2990,2938,2935,2915″ img_size=»full»][/vc_tta_section][vc_tta_section title=»Схема подключения» tab_id=»1532815193622-4b1eae5b-bf1c»][vc_wp_text]Схема, которую предстоит собрать, представлена на рисунке. Если не соединить землю источника питания светодиодной ленты и платы, то схема не будет исправно работать.

По даташиту irf3205 от 3.3 вольт открываться не должен, но в реальности на светодиодную ленту его хватает.

[/vc_wp_text][/vc_tta_section][vc_tta_section title=»Прошивка» tab_id=»1532815576443-34454999-53ef»][vc_wp_text]Перед тем, как вы загрузите прошивку, обратите внимание, что  настройки wifi сети и бота лежат в файле secrets.h.

Прошивку можно скачать на github.

 

//настройки пинов
#define red   5 //D1
#define green 4 //D2
#define blue  0 //D3
//имя сети, пароль, токен бота лежат в этом файле (должен находиться в одной папке)
#include "secrets.h"

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>

WiFiClientSecure net_ssl;
TelegramBot bot (BotToken, net_ssl);

void setup() {
  
  Serial.begin(9600);
  wifiConnect();
  bot.begin(); 

  //конфигурируем пины как цифровые выходы
  pinMode(red,   OUTPUT); 
  pinMode(green, OUTPUT); 
  pinMode(blue,  OUTPUT); 
}

void loop() {
  //получаем сообщение
  message m = bot.getUpdates(); 

  //включаем нужный цвет
  if (m.text.equals("Red")){  
    
    digitalWrite(red,    HIGH); 
    digitalWrite(green,  LOW); 
    digitalWrite(blue,   LOW); 
    bot.sendMessage(m.chat_id, "Red strip");  
    
  }else if (m.text.equals("Green")){  
    
    digitalWrite(red,    LOW); 
    digitalWrite(green,  HIGH); 
    digitalWrite(blue,   LOW); 
    bot.sendMessage(m.chat_id, "Green strip");  
     
  }else if (m.text.equals("Blue")){  
    
    digitalWrite(red,    LOW); 
    digitalWrite(green,  LOW); 
    digitalWrite(blue,   HIGH); 
    bot.sendMessage(m.chat_id, "Blue strip");  
     
  }else if (m.text.equals("Purple")){  
    
    digitalWrite(red,    HIGH); 
    digitalWrite(green,  LOW); 
    digitalWrite(blue,   HIGH); 
    bot.sendMessage(m.chat_id, "Purple strip");  
     
  }else if (m.text.equals("Off")){  
    
    digitalWrite(red,    LOW); 
    digitalWrite(green,  LOW); 
    digitalWrite(blue,   LOW); 
    bot.sendMessage(m.chat_id, "Strip off");  
     
  }
}

void wifiConnect(){
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
     delay(500);
     Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println(WiFi.localIP());
}
[/vc_wp_text][/vc_tta_section][vc_tta_section title=»Демонстрация работы» tab_id=»1532815691410-f7179d0c-113a»][vc_wp_text]Демонстрация работающего устройства.[/vc_wp_text][vc_video link=»https://www.youtube.com/watch?v=BSsOXbhcCI0″][/vc_tta_section][/vc_tta_tour][/vc_column][/vc_row][vc_row][vc_column][vc_wp_text]Если вы заметили какие-то ошибки или что-то показалось непонятным, буду очень рад если напишите об этом в комментариях. [/vc_wp_text][/vc_column][/vc_row]

Загрузка ...
The Robot
Adblock
detector