(Deutsch) Tag 7 (special): Hinweis für Arduino Neulinge – Teil 2

Sorry, this entry is only available in German.

16 Comments

  1. Calis

    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 :)

    Reply
    1. Calis

      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..

      Reply
  2. Konrad Duden

    Na wenn der Kurs nur scheinbar hilfreich war, dann hätten Sie sich die Arbeit auch sparen können.

    Reply
  3. Merlin S.

    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

    Reply
    1. Antonireykern

      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

      Reply
  4. Michael

    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 :)

    Reply
  5. werner

    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

    Reply
    1. Klaus

      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.

      Reply
  6. Leo

    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.

    Reply
  7. Skayo

    Welchen Port muss man benutzen??

    Reply
  8. Skayo

    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.

    Reply
  9. anonym

    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?

    Reply
    1. SmenTrick

      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.

      Reply
    2. Roman_2

      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

      }

      Reply
  10. Klaus

    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.

    Reply
  11. anonym

    Danke!!!

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.