Arduino ဘုတ်ပေါ်တွင် Wi-Fi module ကိုတပ်ဆင်ပြီးနောက်၊ မိုဘိုင်းဖုန်းနှင့် Arduino အကြား Wi-Fi ဆက်သွယ်မှုကိုချိတ်ဆက်ရန် မိုဘိုင်းလ်ဖုန်းပေါ်တွင် ဤအက်ပ်ကို လည်ပတ်ပြီး ခလုတ်နှိပ်ခြင်းကို အသိအမှတ်ပြုရန် မိုဘိုင်းလ်ဖုန်းပေါ်ရှိ ခလုတ် ၁၀ ခုကို နှိပ်ပါ၊ Arduino သည် အလိုရှိသော လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန် ခွင့်ပြုပေးသော app ဖြစ်သည်။
- ခလုတ်တစ်ခုတည်း- ၁၀
(ခလုတ်တစ်ခုစီကို နှိပ်လိုက်သောအခါတွင် Arduino သို့ Data ပို့သည်)
ခလုတ် 1- '0' ( hexadecimal 30) ခလုတ် 2- '1' ( hexadecimal 31)
ခလုတ် 3- '2' ( hexadecimal 32) ခလုတ် 4: '3' ( hexadecimal 33)
ခလုတ် 5- '4' ( hexadecimal 34) ခလုတ် 6: '5' ( hexadecimal 35)
ခလုတ် 7- '6' ( hexadecimal 36) ခလုတ် 8: '7' ( hexadecimal 37)
ခလုတ် 9- '8' ( hexadecimal 38) ခလုတ် 10: '9' (hexadecimal 39)
(ဥပမာ Arduino ရှိ ပရိုဂရမ်)
Arduino ၏ ဒစ်ဂျစ်တယ် အပေါက် 5 သို့ ချိတ်ဆက်ထားသော LED ခလုတ် 1 ကို တစ်ကြိမ် နှိပ်လိုက်သောအခါတွင် ဖွင့်ပြီး ထပ်မံ နှိပ်လိုက်သောအခါ ပိတ်သွားပါမည်။ (လုပ်ဆောင်ချက်ကို ခလုတ်နှိပ်ပါ)
///// Wi-Fi မှတစ်ဆင့် LED မီးများကို ထိန်းချုပ်ခြင်း။
SoftwareSerial.h ကို ပထမအပိုင်းတွင် ထည့်သွင်းပါ။
SoftwareSerial esp8266(2,3);
ထည့်သွင်းမှု ပျက်ပြယ်ခြင်း()
{
အမှတ်စဉ် (9600);
esp8266.begin(9600); // baud နှုန်း esp
pinMode(5၊ OUTPUT);
digitalWrite(၊ LOW);
sendData("AT+RST\r\n",2000); // module ကိုပြန်လည်သတ်မှတ်ပါ။
sendData("AT+CWMODE=2\r\n",1000); // AP (access point) အဖြစ် သတ်မှတ်သည်
sendData("AT+CIFSR\r\n",1000); // ip လိပ်စာကို ရယူပါ။
sendData("AT+CIPMUX=1\r\n",1000); // ချိတ်ဆက်မှုများစွာကို သတ်မှတ်ထားသည်။
sendData("AT+CIPSERVER=1,80\r\n",1000); // server တွင် port 80
}
void loop()
{
if(esp8266.available()) // အကယ်၍ esp သည် မက်ဆေ့ချ် ပေးပို့နေပါသည်။
{
if(esp8266.find("+IPD,"))
{
နှောင့်နှေး(200); // အမှတ်စဉ် အချက်အလက်အားလုံးကို ဖတ်ပါ။
int connectionId = esp8266.read();
esp8266.find("?");
int နံပါတ် = esp8266.read();
if(နံပါတ်==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5၊ LOW);
အခြား digitalWrite(5၊ HIGH);
}
// အပိတ်အမိန့်
စာတန်း closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // ဆက်သွယ်မှု ID ကို ပူးတွဲပါ။
closeCommand += "\r\n";
sendData(closeCommand၊1000); // အနီးကပ်ချိတ်ဆက်ပါ။
}
}
}
စာတန်း sendData(String command၊ const int timeout)
{
စာတန်းတုံ့ပြန်မှု = "";
esp8266.print(အမိန့်); // ဖတ်ရန်စာလုံးကို esp8266 သို့ ပို့ပါ။
long int time = millis();
while((အချိန်+အချိန်လွန်) > millis())
{
while(esp8266.available())
{
// လက်ခံရရှိထားသောဒေတာကို esp တွင်ရှိပါက နံပါတ်စဉ်အတိုင်းပေးပို့ပါ။
char c = esp8266.read(); // နောက်ဇာတ်ကောင်ကိုဖတ်ပါ။
တုံ့ပြန်မှု+=c;
}
}
တုန့်ပြန်မှု;
}
အပ်ဒိတ်လုပ်ခဲ့သည့်ရက်
၂၀၂၄ ဒီ ၅