Arduino plakan Wi-Fi modulua muntatu ondoren, aplikazio hau telefono mugikorrean funtzionatu telefono mugikorraren eta Arduinoren arteko Wi-Fi komunikazioa konektatzeko, telefono mugikorrean emandako 10 botoiak sakatuz botoia sakatzea ezagutzeko. Arduino nahi den eragiketa egiteko aukera ematen duen aplikazioa
- Botoi bakarra: 10
(Arduinora bidalitako datuak botoi bakoitza sakatzean)
1. botoia: '0' (30 hamaseitarra) 2. botoia: '1' (31 hamaseitarra)
3. botoia: '2' (32 hamaseitarra) 4. botoia: '3' (33 hamaseitarra)
5. botoia: '4' (34 hamaseitarra) 6. botoia: '5' (35 hamaseitarra)
7. botoia: ‘6’ (36 hamaseitarra) 8. botoia: ‘7’ (37 hamaseitarra)
9. botoia: '8' (38 hamaseitarra) 10. botoia: '9' (39 hamaseitarra)
(Arduinoko programaren adibidea)
Arduinoren 5. ataka digitalari konektatutako LED 1 botoia behin sakatzen denean pizten da eta berriro sakatzen denean itzaltzen da (Ekintza txandakatu)
///// LEDak Wi-Fi bidez kontrolatzea
Sartu SoftwareSerial.h lehen zatian.
SoftwareSerial esp8266(2,3);
hutsezko konfigurazioa ()
{
Serial.hasi(9600);
esp8266.begin(9600); // baud rate of esp
pinMode(5, IRTEERA);
digitalWrite(, LOW);
bidaliDatu("AT+RST\r\n",2000); // modulua berrezarri
sendData("AT+CWMODE=2\r\n",1000); // ezarri AP (sarbide puntua)
bidaliDatu("AT+CIFSR\r\n",1000); // IP helbidea lortu
bidaliDatu("AT+CIPMUX=1\r\n",1000); // hainbat konexio ezarri
bidaliDatu("AT+CIPSERVER=1,80\r\n",1000); // zerbitzaria 80 atakan
}
begizta hutsa ()
{
if(esp8266.available()) // esp-k mezu bat bidaltzen badu
{
if(esp8266.find("+IPD,"))
{
atzerapena(200); // serieko datu guztiak irakurri
int connectionId = esp8266.read();
esp8266.find("?");
int Zenbakia = esp8266.read();
bada(Zenbakia==0x30){
if(digitalRead(5)==ALTUA) digitalWrite(5, LOW);
else digitalWrite(5, HIGH);
}
// itxi komandoa
String closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // erantsi konexioaren id
closeCommand += "\r\n";
bidaliDatu(closeCommand,1000); // lotura estua
}
}
}
String sendData(String komandoa, const int denbora-muga)
{
String erantzuna = "";
esp8266.print(agindua); // irakurritako karakterea bidali esp8266ra
int denbora luzea = milis();
while( (denbora+denbora) > milis())
{
bitartean(esp8266.eskuragarri())
{
// ESP-n jasotako datuak badaude, bidali seriean
char c = esp8266.read(); // irakurri hurrengo karakterea
erantzuna+=c;
}
}
erantzuna itzuli;
}
Azken eguneratzea
2022(e)ko aza. 17(a)