প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রডাক্ট লিংক |
ESP8266 NodeMCU Lua WiFi with CP2102 | 1 | এখানে ক্লিক করুন |
Digital AC voltage dimmer | 1 | এখানে ক্লিক করুন |
AC Cable | 1 | এখানে ক্লিক করুন |
Light bulb | 1 | |
Bulb holder | 1 |
সার্কিটঃ
১) এসি ডিমারের Load চিহ্নিত কানেকটরে বাল্ব যুক্ত করুন।
২)এসি কেবলটিকে ডিমারের 220V AC চিহ্নিত কানেকটরে সংযুক্ত করুন।
৩)ESP8266 এবং ডিমারের মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।
ESP8266 NodeMCU Lua WiFi with CP2102 | Digital AC voltage dimmer |
3.3V | 5V |
GND | GND |
D6 | + |
D7 | – |
পুরো সেটআপটি ছিল এরকম।
কোডঃ যদি ESP8266 NodeMCU Lua WiFi with CP2102 এর জন্য আরডুইনো আইডিইতে এটিই আপনার প্রথম কোড হয় তাহলে প্রথমে এই টিউটোরিয়ালে প্রদর্শিত নিয়ম অনুযায়ী বোর্ড ইন্সটল এবং সিলেক্ট করুন।
যদি বোর্ড অলরেডি ইন্সটল করা থাকে তাহলে নিচের ছবিগুলো অনুযায়ী সিলেক্ট করুন।
এবার নিচের কোডটি কম্পাইল ও আপলোড করুন।
#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
const char* ssid = "Techshop 2.4G";//type your ssid
const char* password = "og-wl-2012";//type your password
int plus = 12;
int minus = 13;
WiFiServer server(80);//Service Port
void setup() {
Serial.begin(115200);
delay(10);
pinMode(plus, OUTPUT);
pinMode(minus, OUTPUT);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
Serial.println("");
Serial.println("************WiFi dimmer******************");
// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Match the request
if (request.indexOf("/speed=MAX") != -1) {
digitalWrite(plus,LOW);
digitalWrite(minus,HIGH);
delay(100);
// digitalWrite(plus,HIGH);
//digitalWrite(minus,LOW);
}
else if (request.indexOf("/speed=+") != -1) {
digitalWrite(plus,LOW);
digitalWrite(minus,HIGH);
delay(100);
digitalWrite(plus,HIGH);
}
else if (request.indexOf("/speed=-") != -1){
digitalWrite(plus,HIGH);
digitalWrite(minus,LOW);
delay(350);
digitalWrite(minus,HIGH);
}
else if (request.indexOf("/speed=OFF") != -1){
digitalWrite(plus,HIGH);
digitalWrite(minus,LOW);
delay(100);
// digitalWrite(minus,HIGH);
digitalWrite(plus,LOW);
}
//Set ledPin according to the request
//digitalWrite(ledPin, value);
// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<br><br>");
client.println("Click <a href=\"/speed=MAX\">here</a> for maximum speed <br>");
client.println("Click <a href=\"/speed=+\">here</a> to increase the speed/brightness <br>");
client.println("Click <a href=\"/speed=-\">here</a> to decrase the speed/brightness <br>");
client.println("Click <a href=\"/speed=OFF\">here</a> to OFF <br>");
client.println("</html>");
delay(1);
Serial.println("Client disconnected");
Serial.println("");
}
সিরিয়াল মনিটরে প্রদর্শিত আইপি অ্যাড্রেসটি আপনার ব্রাউজারের অ্যাড্রেস বারে কপি-পেস্ট করে Enter চাপুন।
নিচের উইন্ডোটি খুলবে।
এবার ক্লিকের মাধ্যমেই কমান বাড়ান বাল্বের উজ্জ্বলতা, একইভাবে ফ্যানের স্পিডও।
]]>