Skocz do zawartości

Moduł wifi 8266 ESP-12E yellow board, problem


MrShadow

Pomocna odpowiedź

Witam serdecznie !

Od kilku dni męczę się z podłączeniem do Arduino modułu wifi 8266 yellow board - Moduł . W przypadku połączenia UART bezpośrednio do laptopa za pomocą konwertera, moduł reaguje bez żadnego problemu na zadawane komendy w terminalu portu szeregowego np. "AT". Moduł zasilam z dołączonego koszyka - układ ma stabilizator, pomierzyłem napięcie i rzeczywiście wszystko działa poprawnie. Podłączając wykorzystuję jedynie 3 piny : TX, RX oraz GND z konwertera. Schody zaczynają się przy podłączaniu do Arduino. Kompletnie brak jakiejkolwiek odpowiedzi na zadawane komendy. Do testów wykorzystuję poniższy program:

void setup() 
{
 pinMode(13,OUTPUT);
 pinMode(8,OUTPUT);
 Serial.begin(115200);
}

// the loop function runs over and over again forever
void loop() 
{
 String odebraneDane;
 Serial.print("AT");
 if(Serial.available() > 0) 
 {  
  if(Serial.find("OK"))
  {
  digitalWrite(13,HIGH);
  delay(3000);
  digitalWrite(13,LOW);
  }
 }
else
{
  digitalWrite(8,HIGH);
  delay(3000);
  digitalWrite(8,LOW);
}


delay(3000);
}

W rezultacie, miga jedynie dioda podłączona do pinu 8. Przy transmisji nie zapalają się na płytce żadne diody związane z transmisją danych ( RX , TX ).

Co mogę robić nie tak? Czy ktoś orientuje się, w jaki sposób poprawnie podłączyć to pod Arduino?

Być może jest to sprawa niezaktualizowanego firmware, ale próbując wgrać najnowsze przez XTCOM_UTIL cały czas mam błąd połączenia.

Bardzo proszę o wszelkie rady, próbowałem już chyba wszystkiego. Być może dokonany jest jakiś błąd w napisanym programie, gdyż na co dzień nie programuję Arduino, lecz podejrzewam jednak problem z komunikacją Arduino - moduł.

Pozdrawiam serdecznie, MrShadow

Link do komentarza
Share on other sites

Próbowałem na Pro mini (klon). Płytka zasilana jest z USB za pomocą tego samego konwertera, którego użyłem do podłączania modułu do laptopa (5V) . Podłączałem następująco : TX->RX, RX->TX (na tej płytce to piny 0 - TX, 1-RX), GDN (płytki)-> GND (modułu) , GPIO15 -> GND (modułu).

Zastanawiam się, bo możne spróbować zasilić płytkę bezpośrednio z 3.3V napięciem obniżonym przez stabilizator?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ok, opiszę dokładniej połączenie Laptop - moduł wifi.

Konwerter wpięty jest do Laptopa ( USB ), tam w monitorze portu szeregowego w programie Arduino IDE mogę obserwować wysyłane komendy. Druga strona konwertera GND, RX, TX wpięta jest do płytki do odpowiednich pinów ( GND, TX, TX ). Z płytki z pinów (fizycznie inne niż te do których jest podpięty konwerter ) 0 (TX) oraz 1 (RX) - wyprowadzone są kabelki na moduł - RX, TX modułu wifi.

Link do komentarza
Share on other sites

Port szeregowy ma to do siebie, że łączy tylko dwa urządzenia. Ty masz połączone trzy — to ma prawo nie działać. To, że piny są fizycznie inne nie ma znaczenia, bo są połączone w środku.

Link do komentarza
Share on other sites

Dobrze, ale napisałeś, że moduł można podłączyć odłączając RX i TX od komputera. Jak w takim razie będzie przebiegała komunikacja z komputerem? W powyższym filmie pokazany jest Serial Monitor, więc Arduino połączone jest również z komputerem

Link do komentarza
Share on other sites

Czyli muszę zmodyfikować kod korzystając z biblioteki Software Serial. Mógłbyś rzucić okiem na ten kod? Dałem zmienną znak, aby wypisać na Serial Monitorze na komputerze chociaż pierwszą literę z danych odbieranych, na 9600 baud zero reakcji, na wyższych wartościach czasem x, czasem jakiś inny znaczek, nie wiem jak poprawnie dobrać te prędkości. I jeszcze jedno pytanie , czy deklaracja SoftwareSerial modul(2,3); jest poprawna? To znaczy, czy nie powinno być 0,1 jeżeli to piny 0 oraz 1? Znalazłem taki schemat pinoutów i tam jest podpisane 2,3 , lecz nie wiem do końca jak to interpretować.

Pinout

#include <SoftwareSerial.h> 
SoftwareSerial modul(2,3); 

void setup()
{
 pinMode(13,OUTPUT);
 pinMode(8,OUTPUT);  
 Serial.begin(9600); 
 modul.begin(115200); 
}

void loop()
{
 char znak;
 modul.print("AT");
 if(modul.available() > 0) 
 {  
  znak = modul.read();
  if(modul.find("OK"))
  {
  digitalWrite(13,HIGH);
  delay(3000);
  digitalWrite(13,LOW);
  }
 }
else
{
  digitalWrite(8,HIGH);
  delay(3000);
  digitalWrite(8,LOW);
}
Serial.print(znak);

delay(3000);

}
Link do komentarza
Share on other sites

Oczywiście software serial musi być na innych pinach, niż normalny i do tych pinów musisz podłączyć swój moduł. Polecam także użyć mniejszej szybkości — software serial za szybki nie jest. Ewentualnie możesz zrobić odwrotnie i software serial podłączyć do komputera, a normalny do swojego modułu.

Link do komentarza
Share on other sites

Ok, utworzyłem software seriala, po włożeniu baterii do koszyka otrzymuję następujący ciąg znaków :

"ó#àáP%Ð"°]ãF...". Odłączając piny RX TX i wkładając baterię takie znaki się nie pojawiają, więc oznacza to, że jakaś odpowiedź jest. Niestety nawet przy obu prędkościach ustawionych na 9600 baud otrzymuję takie znaczki. Masz pomysł jak to rozwiązać?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.