ardy
Verfasste Forenbeiträge
-
AutorBeiträge
-
Dezember 10, 2015 um 21:19 Uhr als Antwort auf: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #789JonathanTeilnehmer
Noch eine Frage: Sind denn hier http://fkainka.de/wlan-modul-esp8266-und-arduino/
keine Widerstände zur Spannungsteilung TX (Uno) –> RX (ESP8266) erforderlich?
StefanieMitgliedVielen Dank Raabinator,
habe es aufbauend auf deiner Idee so gelöst:
int led = 9; int schalter = 5; int buttonZuletzt = 0; int led_an = 0; void setup() { pinMode(led,OUTPUT); pinMode(schalter, INPUT_PULLUP); digitalWrite(schalter, HIGH); } void loop() { if((buttonZuletzt == 0) && (!digitalRead(schalter) == 1)) // ueberpruefe ob schalter gerade rising edge hat (betätigt wurde). { if(led_an == 1) { led_an = 0; } // toggle led_an else { led_an = 1; } } buttonZuletzt = !digitalRead(schalter); // speichere alten schalterzustand digitalWrite(led,led_an); // setze led entsprechend delay(30); // zum entprellen verzögern (einfache version) }
RaabinatorMitgliedHallo Stefanie,
Du wolltest also die LED mit dem Taster bei Druck Ein-/Ausschalten. Hab ich wohl falsch verstanden.
Eine Variable „toggeln“ geht auch einfacher:led_an = !led_an;
Das späte Speichern des Schalterzustandes birgt die Gefahr, dass sich der Zustand gerade zwischen deiner Abfrage und dem Speichern ändert. Dann bekommst du einen Tastendruck nicht mit.
Dasdelay()
am Ende in der Hauptschleife verzögert das gesamte Programm. Solange es nichts anderes machen soll ist das OK.
Besser ist es, sich nach der Tastenänderung die aktuelle Zeit zu merken (millis()
) und vor erneuter Taster-Prüfung nachzusehen, ob bereits genug Zeit vergangen ist.Beispiel:
unsigned long lastTime = 0L; // merkt sich die Zeit der letzten Änderung int buttonZuletzt = 0; // letzter Zustand des Tasters int led_an = 0; // Zustand der LED #define VERZOEGERUNG 30L loop() { // ... Mein übriges Programm, das gerne nicht verzögert wäre ... if((millis() - lastTime) >= VERZOEGERUNG) // Genügend Zeit seit der letzten Änderung vergangen? { // ... ja, Taste auf Änderung prüfen und reagieren int buttonJetzt = digitalRead(schalter); // einmal merken, ist sicherer if(buttonJetzt != buttonZuletzt) { // Zustand geändert buttonZuletzt = buttonJetzt; // neuen Zustand merken lastTime = millis(); // Zeit der Änderung merken // ... Reaktion auf die Änderung if(!buttonJetzt) { // Gedrückt! led_an = !led_an; // toggeln digitalWrite(led,led_an); // setze led entsprechend } } } // ... noch mehr Programm, das gerne nicht verzögert wäre ... }
- Diese Antwort wurde geändert vor 9 Jahren von Raabinator.
fkAdministratorHi,
da ich es gerade zeitlich nicht schaffe noch ein paar Informationen in einem Beitrag aufzuarbeiten hier mal ein Sammelsurium an Informationshäppchen.
PDFs:
– Schaltplan Arduino Nano (Original Rev 3)
– Pinout Arduino Nano (von pighixxx.com)
– Datenblatt CH340G (USB-to-Serial Chip)
– Datenblatt ESP8266 (WLAN-Modul)
– AT-Firmware InformationenAttachments:
fkAdministratorHi,
warum möchtest du den Treiber kompilieren? Ist der Treiber nicht schon zur Installation bereit?fkAdministratorHi,
vielen ist es bereits aufgefallen, dass das Board nach kurzer zeit recht warm wird.
Dies ist normal für diesen WLAN-Chip und wurde an mehreren Stellen schon in den Kommentaren diskutiert:
Zitate:
Hartmut – Dienstag, der 1. Dezember 2015 um 23:36
„Bei meinem Board wird der 3.3V Spannungsregler zwischen ATMega und ESP8266 auf der Unterseite des Bords ziemlich heiß. Da fallen ja 5V-3.3V=1.7V * 100mA = 170mW ab. Auf dieser kleinen Fläche ist das schon eine gewisse (Wärme-)Energie. Ohne den Spannungsregler zu kennen, vermute ich aber doch, dass er für diese Belastung ohne weitere Kühlung ausgelegt ist. Auch der WLAN Chip nimmt laut Datenblatt im Schnitt 80mA bei 3.3V = 1/4W auf, die ja im wesentlichen in Wärme verwandelt werden. Wenn er dabei heiß wird, so ist das wohl auslegungsgemäß.“Zitat: BravoSierra – Montag, der 7. Dezember 2015 um 17:16
„Servus
Das habe ich aus dem Datenblatt:
„Operating Temperature Range -40°~125°““Jan – Montag, der 7. Dezember 2015 um 19:35
„Servus,ich hab das gleiche Problem der Chip wird ziemlich warm (48C auf dem Chip 37 auf der Unterseite)
BravoSierra meint ja dass die Betriebstemperatur bis 125C reicht. Ich hab allerdings gleich nachdem ich das Modul ausprobiert, und die Temperaturen bemerkt hab einen Kühlkörper für Transistoren aufgeklebt zb. für TO-92 I Gehäuse.
Danach sind die Temperaturen bei mir auf 37C auf dem Kühlkörper und 35C auf der Unterseite zurückgegangen. (Raumtemperatur von 22C)Somit sollte der Arduino hoffentlich noch lange halten ;)“
Dezember 11, 2015 um 11:56 Uhr als Antwort auf: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #797KlausTeilnehmerNoch eine Frage: Sind denn hier http://fkainka.de/wlan-modul-esp8266-und-arduino/
keine Widerstände zur Spannungsteilung TX (Uno) –> RX (ESP8266) erforderlich?
Nein. Auf der Seite steht ja, dass das Arduino Nano mit 3,3V arbeitet. Das Adwentskalenderboard arbeitet mit 5V. Also aufpassen, wenn Du damit die Projekte nachbauen willst.
schlorkMitgliedLiebe Adventskalender-Freunde,
ich bekomme neuerdings die folgende Fehlermeldung, wenn ich einen Sketch hochlade.
avrdude: stk500_recv(): programmer is not responding
Es geschah am Tag 10, der Sketch hat perfekt funktioniert. Dann habe ich eine eigene Version erstellt, bei der ich die Stadt am Serial Monitor eingeben können wollte. Das Teil habe ich dann wegen dem Fehler nicht mehr hochladen können. Ich hoffe, der Code war nicht so schlecht, dass er gleich das ganze Board zerstört hat.
Ich habe schon mehrere Sachen inklusive CH340-Treiber-Reinstallation ausprobiert, mehrmals gebootet usw. Leider erfolglos. Heute habe ich das Board auf meinem Arbeitsrechner angeschlossen, Arduino-IDE installiert, gleiches Problem.
Es ist nichts an Pin0/1 angeschlossen. Das Board ist völlig nackt, hängt nur am USB-Kabel. Am Kabel liegt es auch nicht, ich habe ein anderes ausprobiert.
Tja, leider kann ich derzeit also nichts machen. Kann hier vielleicht jemand helfen?
Dezember 11, 2015 um 12:24 Uhr als Antwort auf: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #799fkAdministratorHi,
also die Meldung sagt aus, dass der Arduino Bootloader nicht erreicht werden kann. Das kann nun mehrere Ursachen haben.
– Der Bootloader vom Arduino ist zerschossen (selten aber kann vorkommen)
– Der Arduino Chip ist kaputt (z.B. durch kurze Überspannung)
– Der USB-to-Serial Chip ist kaputtFür eine bessere Fehlerdiagnose: hast du Zugang zu einem Programmer, einem USB-to-Serial Adapter oder einem anderen Arduino?
Dezember 11, 2015 um 12:39 Uhr als Antwort auf: Anfängerfragen, zB: Wassermelder über digitalen Eingang #800McElchMitglied@Klaus: Hmm, sollte ich den Eindruck vermittelt haben, mich mit Transistoren usw. auszukennen? :) Nee, da kauf ich lieber die fertigen Module, Zeit ist auch Geld… :)
@Raabinator: Danke, das war sehr hilfreich, und auch anfängerfreundlich beschrieben!!! :)Dezember 11, 2015 um 13:15 Uhr als Antwort auf: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #801KlausTeilnehmerDer Sketch hat einige Fehler. Ich habe ihn zwar soweit zum Laufen, dass er mir überhaupt mal die IP richtig sagt und ne Antwort sendet, aber der Browser zeigt mir den kompletten Quelltext an. Außerdem kommt im Browser AT+CIPSEND an, was da ja gar nicht hin gehört.
Dezember 11, 2015 um 13:38 Uhr als Antwort auf: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #802schlorkMitgliedHallo,
ich habe zuhause noch einen Arduino Uno. Den habe ich gestern abend auch mal angeschlossen und der hat gefunzt.
Dezember 11, 2015 um 15:12 Uhr als Antwort auf: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #803JonathanTeilnehmer1. Hi KLaus, Danke dass du dich meiner Problematik angenommen hast. Ich bin heute leider nicht an „Ort und Stelle“ so dass ich erst morgen wieder testen kann. Hast du der Sketch (Kochbuch) auf dem Pretzelboard (NanoESP) mit integriertem WLAN-Modul oder mit einem Uno laufen lassen?
2. Zu 5V und 3,3V. Aha da liefert der Nano 3,3V auf den digitalen Ausgängen. Okay jetzt schlauer!
3. Kannst du zu der erforderlichen Elko Kapazität etwas sagen. Ich hatte einen komischen Effekt. Der upload des Sketch ging meist nicht nach dem Kompelieren (Sync Fehler 1…10), dann habe ich mal vor dem Upload die 3,3V des ESP8266 WLAN Modules abgezogen, und schon klappte der Upload, dann wieder angesteckt, dann kam aber nicht viel mehr, eine Zeile im Monitor.- Diese Antwort wurde geändert vor 9 Jahren von Jonathan.
JonathanTeilnehmerHi, gleiches Problem(chen). Login-Daten kommen vom Browser!
Dezember 11, 2015 um 16:13 Uhr als Antwort auf: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #806fkAdministratorOkay das ist gut für die Fehlerdiagnose.
Mir fällt noch ein: kannst du sehen, dass das zuletzte rein geladenen Programm ausgeführt wird? Z.B. indem die blaue LED D3 auf dem Board nach kurze Zeit nach anstecken des Boards beginnt zu leuchten?
-
AutorBeiträge