This forum is archived, go to the new forum!

This is the old fritzing discussion forum. Search it for valuable information from 2009 to 2015.

Fehler

Andreas Kollmann 5 years, 7 months ago

Andreas Kollmann

Das Creator Kit gefällt mir sehr gut und es macht viel Spaß damit herumzuspielen. Auf Seite 70 (Nachtlicht) hat sich aber anscheinend ein kleiner Fehler eingeschlichen. In der Aufbauskizze ist dort ein Potentiometer eingezeichnet, das im Code gar nicht abgefragt wird. Im Buch wird das Potentiometer auch erst auf Seite 80 erklärt.

Und gerade ist mir noch eingefallen, dass im Programmtext auf Seite 58 die Variablen die falschen Werte zugewiesen bekommen. Im Code selbst ist es allerdings richtig.

 

Viele Grüße, 

Andreas

Ratilius 5 years, 7 months ago

Beim Nachtlicht habe ich mich auch gewundert.

Für das Potentiometer gibt es noch eine andere Möglichkeit als auf Seite 80 beschreiben. Statt die drei Beinchen ("oben") um 90 Grad abzuwinkeln, kann man es auch so platzieren, dass die 2 Beinchen (links und rechts) in die Rile des Breadboards (zwischen Buchstabe e und f) schlüpfen.

Wenn die 3 Beinchen in die Reihe g gesteckt werden passen die 3 Plastikfüße in die Reihe e und die beiden Metallfüße in die Rille zwischen e und f.

Vielleicht kann man den Thread-Title ändern?

Ratilius 5 years, 7 months ago

Das Potentiometer ist aber auch fix im code nachgerüstet...

{code} /* Nachtlicht blendet Farben durch

Dieses Beispiel aus dem Fritzing Creator Kit: www.fritzing.org/creator-kit. */

int LEDGreen=9; // LEDGreen Pins wird deklariert int LEDBlue=10; // LEDBlue Pins wird deklariert int LEDRed=11; // LEDRed Pins wird deklariert int ponti = 0;

void setup(){ pinMode(LEDRed,OUTPUT); // Pin wird als OUTPUT initialisiert pinMode(LEDGreen,OUTPUT); // Pin wird als OUTPUT initialisiert pinMode(LEDBlue,OUTPUT); // Pin wird als OUTPUT initialisiert }

void loop(){

int frame = analogRead(ponti);

if (frame<150) { // wenn frame < 150 > rot analogWrite(LEDRed,255); // LED wird eingeschaltet analogWrite(LEDBlue,0); // LED wird abgeschaltet analogWrite(LEDGreen,0); // LED wird abgeschaltet } else if (frame<300) { // wenn frame < 300 analogWrite(LEDRed,map(frame,150,300,255,0)); // LED wird ausgedimmt analogWrite(LEDBlue,map(frame,150,300,0,255)); // LED wird angedimmt analogWrite(LEDGreen,0); // LED wird abgeschaltet } else if (frame<450) { // wenn frame < 450 > blau analogWrite(LEDRed,0); // LED wird abgeschaltet analogWrite(LEDBlue,255); // LED wird eingeschaltet analogWrite(LEDGreen,0); // LED wird abgeschaltet
} else if (frame<600) { // wenn frame < 600 analogWrite(LEDRed,0); // LED wird abgeschaltet analogWrite(LEDBlue,map(frame,450,600,255,0)); // LED wird ausgedimmt analogWrite(LEDGreen,map(frame,450,600,0,255)); // LED wird angedimmt } else if (frame<750) { // wenn frame < 750 > grün analogWrite(LEDRed,0); // LED wird abgeschaltet analogWrite(LEDBlue,0); // LED wird abgeschaltet analogWrite(LEDGreen,255); // LED wird abgeschaltet } else if (frame<900) { // wenn frame < 900 analogWrite(LEDRed,map(frame,750,900,0,255)); // LED wird angedimmt analogWrite(LEDBlue,0); // LED wird abgeschaltet analogWrite(LEDGreen,map(frame,750,900,255,0)); // LED wird ausgedimmt }

}

{end code}

Andreas Kollmann 5 years, 7 months ago

Andreas Kollmann

Vielen Dank. So oder so ähnlich habe ich das auch gelöst. Jetzt sollte es nur noch in einer späteren Version des Buches korrigiert werden. :-)

Viele Grüße, Andreas

Stefan Hermann 5 years, 7 months ago

Stefan Hermann

@Andreas und Ratilius: Haha! Auf jeden Fall fließt Euer Feedback in die nächste Auflage! Vielen Dank und liebe Grüße

Stefan"