Wi-Fi модулун Arduino тактасына орноткондон кийин, уюлдук телефон менен Arduino ортосундагы Wi-Fi байланышын туташтыруу үчүн мобилдик телефондо бул колдонмону иштетиңиз, уюлдук телефондогу 10 баскычты басып, баскычтын басылганын таануу үчүн Arduino каалаган операцияны аткарууга мүмкүндүк берет
- Бир баскыч: 10
(Ар бир баскыч басылганда маалымат Arduino'го жөнөтүлөт)
1-баскыч: '0' (он алтылык 30) баскыч 2: '1' (он алтылык 31)
3-баскыч: '2' (он алтылык 32) баскыч 4: '3' (он алтылык 33)
5 баскыч: '4' (он алтылык 34) баскыч 6: '5' (он алтылык 35)
7 баскыч: '6' (он алтылык 36) баскыч 8: '7' (он алтылык 37)
9-баскыч: '8' (он алтылык 38) баскыч 10: '9' (он алтылык 39)
(Arduino программасынын мисалы)
Arduino'нун 5-санарип портуна туташтырылган LED 1 баскычы бир жолу басылганда күйөт жана кайра басылганда өчөт.
///// LEDди Wi-Fi аркылуу башкаруу
Биринчи бөлүккө SoftwareSerial.h киргизиңиз.
SoftwareSerial esp8266(2,3);
жараксыз орнотуу()
{
Serial. begin(9600);
esp8266.begin(9600); // esp
pinMode(5, OUTPUT);
digitalWrite(, LOW);
sendData("AT+RST\r\n",2000); // модулду калыбына келтирүү
sendData("AT+CWMODE=2\r\n",1000); // AP катары коюу (кирүү чекити)
sendData("AT+CIFSR\r\n",1000); // IP дарегин алуу
sendData("AT+CIPMUX=1\r\n",1000); // бир нече байланыштарды коюу
sendData("AT+CIPSERVER=1,80\r\n",1000); // 80 портундагы сервер
}
жараксыз цикл()
{
if(esp8266.available()) // if esp билдирүү жөнөтүп жатса
{
if(esp8266.find("+IPD,"))
{
delay(200); // бардык сериялык маалыматтарды окуу
int connectionId = esp8266.read();
esp8266.find("?");
int саны = esp8266.read();
эгерде(сан==0x30){
if(digitalRead(5)==HIGH) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// жабуу буйругу
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // байланыш идентификаторун тиркөө
closeCommand += "\r\n";
sendData(closeCommand,1000); // жабуу
}
}
}
String sendData(String буйругу, const int таймаут)
{
Сап жообу = "";
esp8266.print(буйрук); // окуу символун esp8266га жөнөтүңүз
long int time = millis();
while((убакыт+тайм-аут) > миллис())
{
while(esp8266.available())
{
// Эгерде espде алынган маалыматтар болсо, аны сериялык түрдө жөнөтүңүз
char c = esp8266.read(); // кийинки белгини оку
answer+=c;
}
}
жооп кайтаруу;
}
Качан жаңырды
2024-ж., 5-дек.