Raabinator
Forum Replies Created
-
AuthorPosts
-
December 10, 2015 at 21:19 in reply to: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #789JonathanParticipant
Noch eine Frage: Sind denn hier http://fkainka.de/wlan-modul-esp8266-und-arduino/
keine Widerstände zur Spannungsteilung TX (Uno) –> RX (ESP8266) erforderlich?
StefanieMemberVielen 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) }
RaabinatorMemberHallo 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 ... }
- This reply was modified 9 years ago by Raabinator.
fkKeymasterHi,
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:
fkKeymasterHi,
warum möchtest du den Treiber kompilieren? Ist der Treiber nicht schon zur Installation bereit?fkKeymasterHi,
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 ;)”
December 11, 2015 at 11:56 in reply to: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #797KlausParticipantNoch 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.
schlorkMemberLiebe 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?
December 11, 2015 at 12:24 in reply to: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #799fkKeymasterHi,
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?
December 11, 2015 at 12:39 in reply to: Anfängerfragen, zB: Wassermelder über digitalen Eingang #800McElchMember@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!!! :)December 11, 2015 at 13:15 in reply to: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #801KlausParticipantDer 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.
December 11, 2015 at 13:38 in reply to: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #802schlorkMemberHallo,
ich habe zuhause noch einen Arduino Uno. Den habe ich gestern abend auch mal angeschlossen und der hat gefunzt.
December 11, 2015 at 15:12 in reply to: Problem: Projekte mit Arduino Uno R3 und ESP8266 ESP-01 nachbasteln #803JonathanParticipant1. 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.- This reply was modified 9 years ago by Jonathan.
JonathanParticipantHi, gleiches Problem(chen). Login-Daten kommen vom Browser!
December 11, 2015 at 16:13 in reply to: Kein Sketch-Upload mehr möglich: avrdude: stk500_recv() #806fkKeymasterOkay 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?
-
AuthorPosts