Oops, bevor sich Hr. Duden wieder meldet, in meinem obigen Beitrag hat sich auch ein Fehler eingeschlichen (kein “ie” ;)
Und noch was Konstruktives: Beim Rechenbeispiel koennte man noch anmerken, dass die Werte 3.3 V (Spannungsabfall) und 20 mA (erlaubter Strom) der Diode nicht vom Himmel fallen oder Naturkonstanten sind, sondern vom Hersteller im Datenblatt angegeben werden sollten..
Mich würde mal interessieren ob man mit dem NanoESP auch einen TeamSpeak3 Musikbot machen könnte (so wie SinusBot, Software läuft auf dem Board, steuern über den Computer). Es würde auch reichen wenn man ein Onlineradio wie von laut.fm damit abspielen könnte.
Freue mich auf Antworten
Denn der Atmega328 ist nur ein 8-Bit Prozessor und der maximale Datenstream von 19200 Baud für SoftwareSerial würden nicht ausreichen für einen Stream..
SoftwareSerial generiert Fehler bei hohen Baudraten wie 250000Baud
erstmal vielen Danke für diese tollen Anleitungen. Allerdings hat sich neben den bereits erwähnten fehlerhaften Pinbelegungen noch ein andere Fehler bei der Regelung über den Poti eingeschlichen:
Die Variable “helligkeit” ist vom Typ byte deren Wertebereich nur von 0 bis 255 reicht, weshalb die Division durch 4 nicht das gewünschte Ergebniss erzielt. Man erhält stattdessen beim hochdrehen des Potis insgesamt 3 mal einen Sprung auf 0 – nämlich beim Überlauf des Wertes.
Hallo,
passt bisher alles gut.
Klasse wäre noch im Stile der “Schnellstarttips”
ein paar Worte über UDP, Access Port, APN…
zu verlieren. Dann wären 10 Punkte drin!
Grüsse Leo.
Wen es bei jemanden beimm Poti knapp wird, mit dem USB-Kabel Anschluss, einfach den Mircrocontroller eine Reihe in Richtung GND bzw. in die Richtung des LEDs bewegen.
Beim Potentiometer verändert sich die Hellichkeit nicht konstand sondern ungefähr so: Schwach–>Hell–>noch_Heller–>am_Helsten–>Schwach–>Hell—>usw….
wie kann man programmieren dass sich die Hellichkeit konstand verändert?
Hast du den Poti einfach zwischen LED und Versorgung/Port? Den das klappt nur mit speziellen LEDs.
Um die LED zu Dimmen musst du PWM nutzen.
Machst du das eh schon, dann prüf ob dein Übergabewert möglicherweise hüpft (z.B. auf Grund deiner Division) oder nur selten geschrieben wird.
Hatte das selbe Problem…
Bei mir ging der Analogeingang im seriellen Monitor mehrmals von 0 auf 255 (wenn ich das poti von 0 auf Vollausschlag drehte)
Abhilfe: die “map” Funktion ein paar Zeilen darunter.
Sieht bei mir so aus:
void loop() {
helligkeit = map(analogRead(LDR), 0, 1023, 0, 255); //Helligkeit 10-bit (0 bis 1023) messen und auf 8-Bit (0-255) skalieren
Serial.print (“Helligkeit: “); //Schreibe “Text” auf serielle Schnittstelle
Serial.println(helligkeit); //Messergebnis an PC senden
analogWrite(led, helligkeit); //skalierte Helligkeit an LED ausgeben (0-255)
Finde ich super! So hatte ich mir das vorgestellt. Es gibt noch ein paar Fehler in der Anleitung:
“Die erste LED”:
digitalWrite(led,HIGH); //Pin0 auf HIGH setzen
muss heißen
digitalWrite(led,HIGH); //Pin9 auf HIGH setzen
“Schalter”:
digitalWrite(led,digitalRead(schalter)); //Pin0 auf den Wert von Pin6 setzen
muss heißen
digitalWrite(led,digitalRead(schalter)); //Pin9 auf den Wert von Pin6 setzen
digitalWrite(led,!digitalRead(schalter)); //Pin9 auf den Wert von Pin5 setzen
muss heißen
digitalWrite(led,!digitalRead(schalter)); //Pin9 auf den Wert von Pin6 setzen
“PWM”:
In dem nächsten Beispiel wird nicht mehr Pin0 sondern Pin3 benutzt, da sich Pin0 nicht mit PWM ansteuern lässt
kann entfallen, da die LED schon vorher an Pin 9 hing.
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptRead More
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Ein Fehler hat sich noch eingeschliechen:
unter “Die erste LED” passt der Widerstandscode nicht:
” In meinem Fall habe ich 1,0 kOhm (Farbringe: Braun, Schwarz, Schwarz) ”
sollte wohl Braun-Schwarz-Rot heissen :)
Oops, bevor sich Hr. Duden wieder meldet, in meinem obigen Beitrag hat sich auch ein Fehler eingeschlichen (kein “ie” ;)
Und noch was Konstruktives: Beim Rechenbeispiel koennte man noch anmerken, dass die Werte 3.3 V (Spannungsabfall) und 20 mA (erlaubter Strom) der Diode nicht vom Himmel fallen oder Naturkonstanten sind, sondern vom Hersteller im Datenblatt angegeben werden sollten..
Na wenn der Kurs nur scheinbar hilfreich war, dann hätten Sie sich die Arbeit auch sparen können.
Mich würde mal interessieren ob man mit dem NanoESP auch einen TeamSpeak3 Musikbot machen könnte (so wie SinusBot, Software läuft auf dem Board, steuern über den Computer). Es würde auch reichen wenn man ein Onlineradio wie von laut.fm damit abspielen könnte.
Freue mich auf Antworten
Mfg Merlin
Nein ich glaube das geht nicht.
Denn der Atmega328 ist nur ein 8-Bit Prozessor und der maximale Datenstream von 19200 Baud für SoftwareSerial würden nicht ausreichen für einen Stream..
SoftwareSerial generiert Fehler bei hohen Baudraten wie 250000Baud
Hallo,
erstmal vielen Danke für diese tollen Anleitungen. Allerdings hat sich neben den bereits erwähnten fehlerhaften Pinbelegungen noch ein andere Fehler bei der Regelung über den Poti eingeschlichen:
Die Variable “helligkeit” ist vom Typ byte deren Wertebereich nur von 0 bis 255 reicht, weshalb die Division durch 4 nicht das gewünschte Ergebniss erzielt. Man erhält stattdessen beim hochdrehen des Potis insgesamt 3 mal einen Sprung auf 0 – nämlich beim Überlauf des Wertes.
int helligkeit = 0;
sollte das Problem lösen :)
Ist der Controller kaputt ?!
AT
OK
AT+GMR
2.1.56
AT+RST
ERROR
Beispiel Programm laden:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
Hast Du irgendwas an der Firmware gespielt?
Normalerweise sieht das so aus:
AT+GMR
AT version:0.22.0.0(Mar 20 2015 10:04:26)
SDK version:1.0.0
compile time:Mar 20 2015 11:00:32
Angeblich sind alle Boards mit der gleichen Firmware. Die Ausgabe bei Dir ist aber definitiv eine andere Version.
Hallo,
passt bisher alles gut.
Klasse wäre noch im Stile der “Schnellstarttips”
ein paar Worte über UDP, Access Port, APN…
zu verlieren. Dann wären 10 Punkte drin!
Grüsse Leo.
Welchen Port muss man benutzen??
Wen es bei jemanden beimm Poti knapp wird, mit dem USB-Kabel Anschluss, einfach den Mircrocontroller eine Reihe in Richtung GND bzw. in die Richtung des LEDs bewegen.
Beim Potentiometer verändert sich die Hellichkeit nicht konstand sondern ungefähr so: Schwach–>Hell–>noch_Heller–>am_Helsten–>Schwach–>Hell—>usw….
wie kann man programmieren dass sich die Hellichkeit konstand verändert?
Hast du den Poti einfach zwischen LED und Versorgung/Port? Den das klappt nur mit speziellen LEDs.
Um die LED zu Dimmen musst du PWM nutzen.
Machst du das eh schon, dann prüf ob dein Übergabewert möglicherweise hüpft (z.B. auf Grund deiner Division) oder nur selten geschrieben wird.
Hatte das selbe Problem…
Bei mir ging der Analogeingang im seriellen Monitor mehrmals von 0 auf 255 (wenn ich das poti von 0 auf Vollausschlag drehte)
Abhilfe: die “map” Funktion ein paar Zeilen darunter.
Sieht bei mir so aus:
void loop() {
helligkeit = map(analogRead(LDR), 0, 1023, 0, 255); //Helligkeit 10-bit (0 bis 1023) messen und auf 8-Bit (0-255) skalieren
Serial.print (“Helligkeit: “); //Schreibe “Text” auf serielle Schnittstelle
Serial.println(helligkeit); //Messergebnis an PC senden
analogWrite(led, helligkeit); //skalierte Helligkeit an LED ausgeben (0-255)
delay(10); //Wartezeit
}
Finde ich super! So hatte ich mir das vorgestellt. Es gibt noch ein paar Fehler in der Anleitung:
“Die erste LED”:
digitalWrite(led,HIGH); //Pin0 auf HIGH setzen
muss heißen
digitalWrite(led,HIGH); //Pin9 auf HIGH setzen
“Schalter”:
digitalWrite(led,digitalRead(schalter)); //Pin0 auf den Wert von Pin6 setzen
muss heißen
digitalWrite(led,digitalRead(schalter)); //Pin9 auf den Wert von Pin6 setzen
digitalWrite(led,!digitalRead(schalter)); //Pin9 auf den Wert von Pin5 setzen
muss heißen
digitalWrite(led,!digitalRead(schalter)); //Pin9 auf den Wert von Pin6 setzen
“PWM”:
In dem nächsten Beispiel wird nicht mehr Pin0 sondern Pin3 benutzt, da sich Pin0 nicht mit PWM ansteuern lässt
kann entfallen, da die LED schon vorher an Pin 9 hing.
Danke!!!