Wpis z mikrobloga

Mirki, bawię się z najbardziej klasycznym układem wifi ESP8266+Arduino, wgrałem jakiś klasyczny przykład (do serial monitora wpisuje się komendy, Arduino przekazuje je dalej do układu, układ odpowiada, itd). Mój problem: występują krzaki które praktycznie uniemożliwiają odczyt czegokolwiek. Czy coś ustawiłem źle? Baund rate i koniec linii się zgadzają (z tego co wyczytałem na necie).

#elektronika #arduino #esp8266 #pomocy
mikson123 - Mirki, bawię się z najbardziej klasycznym układem wifi ESP8266+Arduino, w...

źródło: comment_DAoUmNqjfK5SsCyiDrFB4FPHdP6W7V9J.jpg

Pobierz
  • 20
@mikson123: Nie ma na schemacie jakiegoś pull-upa albo czegoś w tym stylu? Albo tak jak mówi przedmówca, coś z kablami. Jak na 57k nie zadziała to wydaje mi się że jeżeli coś odbierało na 115k to mimo wszystko szedł bym w tą stronę. Dziwne by przy niezgodnym baudrate odbierało cokolwiek czytelnego. Albo baudrate po obu stronach był ustawiony na 115k i dlatego cześć tekstu jest czytelna ale jedna ze stron nie
@mikson123: Sprawdź czy nie czytasz z innego portu niż myślisz :-), sprawdź bity parzystości czy się zgadzają, zrób sobie teścik z guzikiem: jak naciśniesz to wypisz coś na serialu, w ten sposób sprawdzisz czy to rzeczywiście reaguje na eventy czy czytasz jakieś śmieci z powietrza albo innego portu.

No i pokaż cały kod :) może jakiś babol jest niżej.
@TheDuck: 5V, z usb. Jakby coś też próbowałem podłączać te Tx i Rx przez konwerter na 3,3 ale wtedy w ogóle komunikacja nie działała, a i też w wielu źródłach w internecie wyczytałem, że te Tx i Rx można bez konwertera/stabilizatora.
@mikson123: A za każdym razem sprawdzasz opcje baudrate 57 i 115k? Masz ten dzielnik też zrobiony? Możesz jeszcze spróbować podciągnąć GPIO0 i GPIO2 do vcc rezystorami 10k. Albo ustawić ten baud na 115k gdzie coś tam Ci czytało, potem docisnąć cały czas wszystkie przewody sprawdzić czy coś się poprawiło.
@mikson123: esp8266 działa na 3.3v więc musisz użyć Arduino na 3.3v albo konwerter TTL 5v<->3.3v albo dzielnik jak napisał @TheDuck:

tak na pierwszy rzut oka, program na Arduino czyta to co wypluje esp8266 i przepisuje to na Serial, którego czytasz na 'serial monitorem', jeżeli Arduino przeczyta głupoty z portu na którym siedzi esp8266 to je potem przepisze na Twojego Seriala i tak go zobaczysz...

innymi słowy, esp8266.begin(XXX); musisz ustawić tak,
@mikson123: a i jeszcze jedno, w kodzie arduino wpisz sobie:
w setup():
pinMode(pushButton, 2);

a w loop():
if(digitalRead(pushButton)){
println("button!!!");
}

i do GPIO 2 podepnij przycisk jak tu: https://www.arduino.cc/en/Tutorial/DigitalReadSerial
wtedy jak go wciśniesz to konsola powinna rzygać komunikatem "button!!!", jeżeli tak robi i jest to czytelne to znaczy że komunikację pomiędzy arduino a PC masz dobrze skonfigurowaną a problem jest pomiędzy arduino a esp8266

a tak w ogóle to sprawdź też