Baada ya kupachika moduli ya Wi-Fi kwenye ubao wa Arduino, ukitumia programu hii kwenye simu ya mkononi ili kuunganisha mawasiliano ya Wi-Fi kati ya simu ya mkononi na Arduino, kushinikiza vifungo 10 vilivyotolewa kwenye simu ya mkononi ili kutambua kushinikiza kifungo. Arduino kutekeleza operesheni inayotaka. programu ambayo inaruhusu
- Kitufe kimoja: 10
(Data iliyotumwa kwa Arduino wakati kila kitufe kimebonyezwa)
Kitufe cha 1: ‘0’ (hexadesimoli 30) Kitufe cha 2: ‘1’ (hexadesimoli 31)
Kitufe cha 3: ‘2’ (hexadecimal 32) Kitufe cha 4: ‘3’ (hexadesimoli 33)
Kitufe cha 5: ‘4’ (hexadecimal 34) Kitufe cha 6: ‘5’ (hexadesimoli 35)
Kitufe cha 7: ‘6’ (hexadecimal 36) Kitufe cha 8: ‘7’ (hexadecimal 37)
Kitufe cha 9: ‘8’ (hexadecimal 38) Kitufe cha 10: ‘9’ (hexadecimal 39)
(Mfano wa programu katika Arduino)
LED iliyounganishwa kwenye mlango wa dijiti wa 5 wa Arduino huwasha wakati kitufe cha 1 kinapobonyezwa mara moja, na huzima inapobonyezwa tena. (Geuza kitendo)
///// Kudhibiti LEDs kupitia Wi-Fi
Jumuisha SoftwareSerial.h katika sehemu ya kwanza.
SoftwareSerial esp8266(2,3);
usanidi utupu ()
{
Serial. start(9600);
esp8266.begin(9600); // kiwango cha baud cha esp
pinMode(5, OUTPUT);
digitalWrite(, CHINI);
sendData("AT+RST\r\n",2000); // kuweka upya moduli
sendData("AT+CWMODE=2\r\n",1000); // kuweka kama AP (mahali pa ufikiaji)
sendData("AT+CIFSR\r\n",1000); // pata anwani ya ip
sendData("AT+CIPMUX=1\r\n",1000); // weka miunganisho mingi
sendData("AT+CIPSERVER=1,80\r\n",1000); // seva kwenye bandari 80
}
kitanzi utupu()
{
if(esp8266.available()) // ikiwa esp inatuma ujumbe
{
if(esp8266.find("+IPD,"))
{
kuchelewa (200); // soma data zote za serial
int connectionId = esp8266.read();
esp8266.find("?");
int Number = esp8266.read();
ikiwa(Nambari==0x30){
ikiwa(digitalRead(5)==JUU) DijitaliAndika(5, CHINI);
mwingine digitalWrite(5, HIGH);
}
// amri ya kufunga
Kamba closeCommand = "AT+CIPCLOSE=";
closeCommand += connectionId; // ambatisha kitambulisho cha muunganisho
closeCommand += "\r\n";
sendData(closeCommand,1000); // muunganisho wa karibu
}
}
}
String sendData(Amri ya kamba, const int timeout)
{
Jibu la kamba = "";
esp8266.print(amri); // tuma herufi iliyosomwa kwa esp8266
muda mrefu int = millis ();
while((muda+timeout)> millis())
{
wakati(esp8266.inapatikana())
{
// Ikiwa kuna data iliyopokelewa katika esp, itume mfululizo
char c = esp8266.soma(); // soma mhusika anayefuata
majibu+=c;
}
}
majibu ya kurudi;
}
Ilisasishwa tarehe
5 Des 2024