Arduino Übungsscript

Hallo liebe Community,
mein Sohn hat in der Schule ein Übungsscript bekommen. Ich selbst habe leider wenig Ahnung von der Materie. Er hat es auch so weit er konnte bearbeitet. Nun ist meine Hoffnung, dass jemand von euch Lust und Zeit hat das Script zu lösen.
Vielen Dank
Hannes

arduino.pdf (974 KB)

Der Lehrer scheint auch keine große Ahnung zu haben, bei dieser Programmiertechnik. Aber es ist hoch erfreulich, das sowas überhaupt in Schulen gelehrt wird.
Welche Klasse und Schule?

Willst du nun eigentlich, dass wir die Aufgaben lösen oder wie genau hast du dir das gedacht? Weil das hätte wenig Sinn für deinen Nachwuchs.

Poste lieber seine Lösungen und dann kann man ggf. schauen, wo ER noch nacharbeiten muss.

Hi

Warum meldet Sich dann nicht Dein Sohn hier?
Wobei: Hausaufgaben-Threads sind nicht sonderlich beliebt :wink:
Wie schon geschrieben wurde: Der Lehrer kann Sein Wissen noch ausbauen (nett formuliert).
Schon der 2.te Sketch funktioniert nicht (beim Arduino heißen die Listings Sketch, nicht Script wie z.B. bei PHP).

Überall int, die Schleife läuft aber nur bis 255 (warum eigentlich??).
Ganz unten dann ein i, Welches zuvor nirgens in Erscheinung trat - Das wird den Kompiler schon etwas stören, denke ich.

Aufgabe 5 - ich vermisse einen Vorwiderstand oder 'egal was' zur Strombegrenzung - sonst sieht man 'magic smoke' und schottet 20€ Arduino nebst 3 Cent LED.

Aufgabe 12: Die Ausgabe passt zum Sketch - sehe dort keine Fehler :wink:
(Er hätte fragen sollen, warum keine 9 Fragezeichen ausgegeben werden ...)

Sonst ein nettes Aufgabenblatt - denke, Das ist Alles durchaus lösbar.
Wo bestehen Probleme, wie sahen die Lösungsversuche an, welche Gedanken standen Dem zu Grunde und wo hakt's denn nun genau?

MfG

Hallo zusammen
Vielen Dank für eure Antworten. Mein Bestreben ist eigentlich eine Lösung der Aufgaben für mich zu erhalten. Dann kann ich es mit ihm durchgehen.
Bin im Moment unterwegs. Ich kann gerne den ein oder anderen Lösungsversuch heute Abend hochladen.
Der Unterricht findet im Rahmen des Fachs NWT an einem Gymnasium in Klasse 8 statt.
Grüße
Hannes

Es soll vielleicht y=y-70 heißen, aber das kann man nicht mit Sicherheit sagen. Man kann da vieles schreiben und er macht trotzdem was

Begin() muss allerdings klein geschrieben werden. Bei C++ ist Groß-/Kleinschreibung sehr wichtig

Dann wird z ausgegeben. Das ist hier ein Pin (wieso bringt man Kindern bei seine Konstanten so zu benennen!?) Was aber ausgegeben werden soll ist die Frequenz

Aufgabe 12:
1.) Falsche Baudrate im Programm. Sehr gemein :slight_smile:

2.)

Serial.print(+);

Das geht nicht. Wenn schon '+'. Oder "+" wie beim ? auch wenn ich das bei einzelnen Zeichen nicht mag

3.) i läuft von 1 bis n. Aber im ersten Durchlauf mit 0 initialisiert. Wobei das insgesamt sowieso sehr unorthodox ist

Insgesamte Anmerkung: es wird ständig von Ports geredet wo Pins gemeint sind. Das machen viele Anfänger, aber ein Port ist was anderes. Nämlich die µC-interne Zusammenfassung von 8 Pins in einem Register. Zum Beispiel Port D ist Pins 0-7

Hallo, die Aufgaben sind wirklich lösbar und das von deinem Sohn alleine. Der Lehrer möchte, dass seine Schüler die Programme ausprobieren und dann an den Fehlern lernen, wie man es richtig macht. Kommt dein Sohn nicht weiter, reicht es bei ihm halt nicht, oder noch nicht. Diese Erfahrung sollte man den Kindern nicht nehmen. Übersteigerter Ehrgeiz der Eltern schadet nur. Tut etwas weh, wenn man das hört, ist aber so. Ich bin selber Schüler was Arduino angeht (57 Jahre alt), ich kann aber durchaus mitfühlen mit deinem Sohn. Den lass ruhig ein wenig schwitzen und auch Angst haben.
Gruss

Hier einmal eine Beispiellösung von meinem Sohn zu Frage 1:

Zeile 1: i wird auf 0 gesetzt
Zeile 4: i<255 bedeutet das i immer kleiner als 255 sein soll, also bei 255 wieder auf 0 geht und i=i+1 bedeutet das i bei jedem Durchlauf um 1 erhöht wird
Zeile 5: LED an Pin10 wird die Helligkeit immer um 1 erhöht
Zeile 6: LED an Pin11 wird die Helligkeit immer um 1 verringert
Zeile 7: Pause von 10ms

Hi

Aufgabe 1:
i wird als INT (16 Bit, vorzeichenbehaftet, Bereich -32768...32767 ... kenne ich auswendig, also keine Angst, wenn's bei Dir/Euch nicht so ist) und dem Wert 0 initialisiert, global, da außerhalb von irgend welchen Klammern.
i wird in loop() beim ersten Mal von 0 bis 254 hochgezählt, danach nie wieder, da i nicht wieder zurück gesetzt wird!
Hier würde 'byte' locker als Typ für i reichen, da im folgendem PRogramm ebenfalls innerhalb der 8Bit geblieben wird.
Wichtiger war mir hier, daß die 255 (0-255=256 Schritte = 8 Bit) genau die Breite sind, Die man dem Analog-OUT übergeben kann. Bei 255 ist der PWM auf 100%.
Der Ablauf des Programm wurde aber in den Grundzügen verstanden, 'des passt so scho'.

MfG