← Alle Klicktafeln

Klicktafel · Technik · Klasse 8–10 · auch für Fortbildungen

Arduino mit mBlock

Ein Mikrocontroller verbindet Programm und Bauteile: Taster, Drehknopf, LED, Servo und Motor. Vom Geistertaster bis zum eigenen Projekt, programmiert mit Blöcken in mBlock 5.

Aus Lehrkräftefortbildungen zum Arduino · von aimo-ai.de

Einstieg

Der Taster, der sich selbst drückt

Ausgangslage

Zwei Kabel bilden einen Taster: eins an Pin 9, eins an 5 V. Berühren sich die Enden, ist der Taster gedrückt. Gerade berührt niemand die Kabel.

~9 5V offen

Das Programm zeigt, was an Pin 9 ankommt: 1 = Spannung da, 0 = keine.

pin_9 0

0

Niemand drückt. Warum springt der Wert trotzdem zwischen 0 und 1?

Station 1 · Sensor und Aktor

Ein kleiner Computer zwischen Programm und Bauteil

EingabeSensormisst etwas: Druck, Drehung, Licht, Abstand.
VerarbeitungMikrocontrollerDer Arduino Uno liest Sensoren und schaltet Aktoren. Das Programm schreibt ihr am Computer in mBlock.
AusgabeAktortut etwas: leuchten, piepen, bewegen.

Auftrag: Sensor oder Aktor? Ruft eure Vermutung in die Klasse, dann tippt die Karte an.

EVA-Prinzip (Eingabe, Verarbeitung, Ausgabe) als roter Faden: Auch das eigene Projekt in Station 15 wird so geplant.

Station 2 · Anschlüsse

Wo kommt was dran?

Auftrag: Wo schließt ihr einen Taster an, wo einen Drehknopf, wo eine LED? Vermutet, dann tippt auf die Platine.

USB Netz DIGITAL L ~ = PWM Mikrocontroller ATmega328P POWER ANALOG IN

Tippt einen Bereich an

Pins, Stromanschlüsse, LED, USB, Netzbuchse und der Mikrocontroller selbst lassen sich antippen.

Merke: Ein Pin liefert höchstens 20 mA. Das reicht für eine LED mit Vorwiderstand, aber nicht für einen Motor.

ATmega328P mit 16 MHz und 32 KB Flash (0,5 KB davon Bootloader). Uno R4: gleiche Pinbelegung, 48 MHz, ADC bis 14 Bit, aber nur 8 mA je Pin.

Station 3 · Hallo Welt

Die erste LED blinkt

Auftrag: Vermutet, wie oft die LED in 10 Sekunden aufleuchtet. Dann tippt die grüne Fahne an und zählt mit.

wenn geklickt wird
wiederhole fortlaufend
digitalen Pin 13 als hoch setzen
warte 1 Sekunde(n)
digitalen Pin 13 als niedrig setzen
warte 1 Sekunde(n)

1.0 s

Im Live-Modus wirkt eine Änderung sofort, auch während das Programm läuft. In mBlock schreibt ihr Zeiten mit Punkt: 0.5, nicht 0,5.

Dasselbe in Arduino-C (Arduino IDE):
void setup() { pinMode(13, OUTPUT); }
void loop() { digitalWrite(13, HIGH); delay(1000);
              digitalWrite(13, LOW);  delay(1000); }
LED „L“
auf der Platine
eigene LED
an Pin 13

Pin 13 LOW

Zeit: 0,0 s · aufgeleuchtet: 0-mal

Nach 10 Sekunden hält die Simulation an.

Zweiter Schritt am Steckbrett: eigene LED an Pin 13 und GND, mit Vorwiderstand (z. B. 220 Ω). Das lange Bein der LED zeigt zum Pin.

Station 4 · Zwei Modi in mBlock

Hochladen oder live?

Auftrag: Lest die Tabelle. Entscheidet dann für jedes Vorhaben: Hochladen oder live?

HochladenLive
Wo läuft das Programm?auf dem Arduino, dort gespeichertin mBlock auf dem Computer; der Arduino schaltet und meldet Messwerte
Start„wenn Arduino UNO startet“: bei Strom an oder nach Resetgrüne Fahne; Änderungen wirken sofort
Ohne Computer?ja, mit Netzteil oder Powerbanknein, das USB-Kabel muss stecken
Figuren auf der Bühne?neinja, über Variablen
Gut zu wissenmBlock zeigt das Programm auch als Arduino-C-Code.Gelber Rand um die Blöcke: Programm läuft. Messwerte seht ihr sofort.

Live: Auf dem Arduino läuft eine Firmware, die die Befehle von mBlock ausführt und Messwerte zurückschickt. Hochladen überschreibt sie. Ultraschall klappt in mBlock meist, zuverlässiger mit der Arduino IDE.

a) Ein Pinguin auf dem Bildschirm soll dem Drehknopf folgen.

b) Die Schranke im Modell-Parkhaus soll ohne Computer laufen.

c) Ihr wollt die Blinkzeit ändern, während das Programm läuft.

Station 5 · Pull-down-Widerstand

Den Eingang festhalten

Auftrag: Vermutet zuerst: Was zeigt Pin 9 mit Widerstand, wenn niemand drückt? Dann baut den Widerstand ein und probiert den Taster.

5 V Taster Pin 9 10 kΩ kein Widerstand GND

Ohne Bauteil: interner Pull-up. Arduino IDE: pinMode(9, INPUT_PULLUP), Taster nach GND, gedrückt = 0. In mBlock-Blöcken nicht schaltbar.

pin_9 0

0

Was macht der Widerstand?

Station 6 · Begründen

Warum nicht einfach ein Kabel?

✎ Zettel und Stift · jede und jeder für sich5 Minuten

Jemand ersetzt den 10-kΩ-Widerstand durch ein Kabel von Pin 9 nach GND. Ohne Druck zeigt Pin 9 jetzt sicher 0.

Was passiert, wenn jemand den Taster drückt? Zeichnet den Weg des Stroms ein und begründet in zwei Sätzen.

Für Schnelle: Mit dem 10-kΩ-Widerstand: Wie viel Strom fließt durch ihn, wenn der Taster gedrückt ist? Tipp: I = U : R.

Die Schaltung mit Kabel statt Widerstand

5 V Taster Pin 9 Kabel GND

Station 7 · Tastendrücke zählen

Spielt den Arduino

✋ Ausprobieren · im Raum8 Minuten

Material
ein Blatt Papier, auf einer Seite „1“, auf der anderen „0“; Tafel und Kreide
Rollen
Eine Schülerin oder ein Schüler ist der Taster und hält das Blatt hoch. Die Lehrkraft ist der Arduino. Alle anderen zählen mit.
  1. Vermutet: Wie viele Striche macht der Arduino bei einem Tastendruck?
  2. Der Taster zeigt etwa drei Sekunden lang die „1“, dann wieder die „0“.
  3. Der Arduino arbeitet das Programm rechts stur und so schnell er kann ab: hinsehen, bei „1“ einen Strich, wieder hinsehen …
  4. Zählt die Striche an der Tafel.
wenn geklickt wird
setze zaehler auf 0
wiederhole fortlaufend
wenn pin_9 = 1 dann
ändere zaehler um 1

Ein Druck, viele Striche: Woran liegt das? Wie müsste das Programm lauten?

Station 8 · Zählen testen

Einmal drücken, einmal zählen

Auftrag: Welches Programm zählt jeden Druck genau einmal? Vermutet, dann haltet den Taster bei jedem Programm etwa eine Sekunde gedrückt.

wiederhole fortlaufend
wenn pin_9 = 1 dann
ändere zaehler um 1
warte 0.1 Sekunde(n)
warte bis pin_9 = 0

Die Simulation schafft 30 Durchläufe pro Sekunde, ein echter Arduino nach dem Hochladen viel mehr.

Prellen: Beim Drücken federt der Kontakt einige Millisekunden lang hin und her. Ein schneller Arduino sieht dann mehrere Drücke. Eine kurze Wartezeit nach dem Zählen hilft zusätzlich.

Fachbegriffe: Zustand abfragen (Polling), Flanke erkennen. Das Arduino-Beispiel „Debounce“ übernimmt einen neuen Zustand erst, wenn er 50 ms stabil war.

Tastendrücke 0

zaehler 0

Welches Programm zählt richtig?

Station 9 · Analoger Eingang

Aus Drehen wird eine Zahl

Auftrag: Vermutet, welche Zahl A0 zeigt, wenn der Drehknopf genau in der Mitte steht. Dann dreht.

5 V GND A0 Dreh- knopf

Spannung an A0 2,50 V

pin_A0 512

Der Drehknopf (Poti) teilt die 5 V auf. Am Schleifer liegt je nach Stellung eine Spannung zwischen 0 und 5 V.

links … rechts

Wie viele verschiedene Zahlen kann A0 liefern?

Station 10 · Rechnen

Der Pinguin hängt am Rand

✎ Zettel und Stift · jede und jeder für sich8 Minuten

Im Spiel „Schneeflocken fangen“ steuert der Drehknopf einen Pinguin. Die Bühne in mBlock reicht von x = −240 (links) bis x = 240 (rechts). Das Programm sagt: gehe nach x: pin_A0 − 512.

  1. Wohin soll der Pinguin bei pin_A0 = 0, bei 512 und bei 1023?
  2. Bei welchen Werten von pin_A0 liegt das Ziel außerhalb der Bühne? Dort hängt der Pinguin am Rand fest.
  3. Findet eine bessere Rechnung.

Für Schnelle: Eine Rechnung, die genau von −240 bis 240 reicht.

wiederhole fortlaufend
gehe nach x: pin_A0 − 512 y: −123
Bühne −600 −240 0 240 600

Ohne Taschenrechner. Auf der nächsten Tafel könnt ihr eure Rechnung im Spiel testen.

Station 11 · Spiel

Schneeflocken fangen

Auftrag: Spielt mit allen drei Rechnungen. Mit welcher fangt ihr am meisten Flocken?

pin_A0 = 512 · Ziel x = 0

Punkte 0

Verpasst 0

Vier verpasste Flocken beenden das Spiel. Am echten Arduino dreht ihr am Poti, hier am Regler.

mBlock-Bühne: 480 × 360. Live zwei Skripte: Das Gerät schreibt pin_A0 in eine Variable, die Figur liest sie.

Station 12 · Servomotor

Position statt Dauerdrehen

Auftrag: Vermutet, welcher Teil des Signals den Winkel bestimmt. Dann bewegt den Regler und beobachtet das Signal.

0° 90° 180° SG90 0° 0 ms 20 ms 40 ms Impuls 1,00 ms

0°

Kabel: Braun = GND, Rot = 5 V, Orange = Signal, in mBlock an einen ~-Pin (hier 9). Ein SG90 schafft laut Datenblatt 1,8 kg·cm: 1,8 kg an einem 1 cm langen Hebel, an 3 cm nur 0,6 kg.

setze Servo an Anschluss 9 auf Winkel 0

Was bestimmt den Winkel?

Servo-Bibliothek der Arduino IDE: 0° bis 180° als 0,544 bis 2,4 ms. Dort geht jeder Digitalpin, PWM an Pin 9 und 10 ist dann belegt. In mBlock: ~-Pin.

Station 13 · Motor und Pumpe

Zu stark für einen Pin

Auftrag: Warum hängt der Motor nicht direkt an Pin 9? Entscheidet euch, dann schaltet Pin 9 und verfolgt den Strom.

+ eigene Stromquelle M Frei- lauf- diode Transistor Arduino Pin 9 GND 1 kΩ − Stromquelle und GND des Arduino verbunden z. B. Batteriepack
Dicke rote Linie: Hier fließt der Motorstrom.

Einfacher: ein fertiges Relaismodul. Schaltstufe, Schutzdiode und Anzeige-LED sind dort schon eingebaut.

Basisstrom etwa (5 V − 0,7 V) : 1 kΩ ≈ 4,3 mA, gut unter 20 mA. Im Original: TIP120 (Darlington) mit 9-V-Block; Alternative: Logic-Level-MOSFET.

Station 14 · Fehlersuche

Es geht nicht. Was nun?

Auftrag: Lest den Fall rechts. Wo sucht ihr zuerst? Begründet mit dem, was die LED „L“ verrät.

Keine Verbindung

kein blauer Punkt am Gerät in mBlock

  1. Firmware aktualisieren (Gerät → Einstellungen)
  2. USB-Stecker raus und wieder rein
  3. mBlock neu starten, notfalls den Computer
  4. Ausschlussverfahren: anderer USB-Anschluss, anderes Kabel, anderer Arduino, anderer Computer

Windows: COM-Anschluss im Geräte-Manager unter „Anschlüsse (COM & LPT)“. Nachbauten mit CH340-Chip brauchen je nach System einen Treiber.

Verbunden, aber falsch

  • richtiger Pin im Programm?
  • richtiger Steckplatz auf Steckbrett und Arduino?
  • Kabel gebrochen?
  • Pull-down vergessen? Messwert anzeigen lassen
  • LED falsch herum, falscher Widerstand?
  • vierbeiniger Taster quer eingebaut?
  • Bauteil defekt?

Immer noch nicht? Alles raus und neu aufbauen.

Der Fall

Das Blink-Programm läuft. „L“ auf der Platine blinkt, die eigene LED an Pin 13 bleibt dunkel. Wo sucht ihr zuerst?

Station 15 · Eigenes Projekt

Plant eine Maschine

✎ Zettel und Stift · zu zweit10 Minuten

Wählt ein Projekt von rechts. Zeichnet es als Kette: Sensor → Programm → Aktor.

Schreibt dazu: An welchen Pin kommt was? Analog oder digital? Hochladen oder live?

Für Schnelle: Wo braucht euer Projekt einen Pull-down-Widerstand, einen Transistor oder ein Relais?

Zum Einstieg

Flappy Bird mit TasterFlocken fangen mit DrehknopfReaktionstesterMorse-LichtMinibagger mit zwei Servos

Anspruchsvoller

Heißer Draht mit ZählerParkhausschrankeAmpelAutomatische BewässerungHühnerklappe mit LichtsensorAbstandswarner mit Ultraschall

Bauteile, die sich bewährt haben: Taster, LDR, Poti, Joystick · LED, 7-Segment-Anzeige, Summer, Servo, Pumpe über Relais.

Je Platz: Arduino, USB-Kabel, Steckbrett, Steckkabel, Taster, LEDs, Widerstände 220 Ω und 10 kΩ, Poti, LDR, Servo SG90. Uno R4 vor dem Kauf in mBlock testen.

Abschluss

Check

Auftrag: Entscheidet euch bei allen drei Fragen, dann auflösen.

1. Ein Taster zwischen 5 V und Pin 9 zeigt ohne Druck mal 0, mal 1. Was hilft?

2. Welche Zahl kann der analoge Eingang A0 höchstens liefern?

3. Eine Pumpe soll laufen, wenn Pin 9 HIGH ist. Wie schließt ihr sie an?

Hinweise für Lehrkräfte

Jahrgang und Zeit

Klasse 8–10, Technik (auch Informatik). Die Tafel begleitet die Arbeit am echten Arduino über mehrere Doppelstunden.

  • 45 Minuten: Einstieg bis Station 3, erstes Blinken an der LED „L“.
  • 90 Minuten: Einstieg bis Station 6, Taster mit Pull-down am Steckbrett.
  • Weitere Doppelstunden: Stationen 7–11 (Zählen, Poti, Spiel), 12–14 (Servo, Motor, Fehlersuche), dann eigenes Projekt (15).

Lernziele

  • Die Schülerinnen und Schüler unterscheiden Sensoren und Aktoren und ordnen sie digitalen und analogen Anschlüssen zu.
  • Sie entscheiden begründet zwischen Hochladen und Live-Modus.
  • Sie erklären den Pull-down-Widerstand: offener Eingang, Kurzschluss ohne Widerstand.
  • Sie unterscheiden „ist gedrückt“ von „wurde gedrückt“ und zählen Tastendrücke richtig.
  • Sie erklären den Wertebereich 0–1023 (10 Bit) und rechnen Messwerte in Bildschirmkoordinaten um.
  • Sie begründen, warum Motoren und Pumpen über Transistor oder Relais geschaltet werden.
  • Sie suchen Fehler systematisch.

Typische Fehlvorstellungen

  • „Ohne Druck ist der Eingang 0.“ Richtig: Ein offener Eingang ist unbestimmt.
  • „Der Arduino misst den Widerstand des Potis.“ Richtig: Er misst eine Spannung zwischen 0 und 5 V.
  • „1024 Stufen heißt Werte bis 1024.“ Richtig: 0 bis 1023.
  • „Das Programm zählt Tastendrücke.“ Richtig: Es fragt nur den Zustand ab, so oft die Schleife läuft.
  • „Was live am Bildschirm geht, geht auch ohne Computer.“ Richtig: Nur hochgeladene Programme laufen allein.
  • „Ein Servo dreht wie ein Motor.“ Richtig: Er fährt einen Winkel an und hält ihn.

Ausprobieren (Station 7)

Material: ein Blatt mit „1“ und „0“, Tafel. Die Lehrkraft spielt den Arduino und arbeitet so schnell wie möglich; wer das Blatt hält, meldet sich freiwillig. Variante zum Abschluss: Programm C durchspielen, dann gibt es pro Druck genau einen Strich. Keine Verletzungsgefahr.

Material am Platz

Arduino Uno R3 oder Nachbau mit gestecktem Chip (lässt sich später tauschen oder ohne Platine nutzen), USB-Kabel, Steckbrett, Steckkabel (Stecker–Stecker, Buchse–Buchse, Stecker–Buchse), Taster, LEDs, Widerstände 220 Ω und 10 kΩ, Poti, LDR, Servo SG90, Sortierkasten. Optional: Relaismodul, Minipumpe 3–6 V (nur über Relais oder Transistor, mit Schutzdiode), Sensor-Kit zum Ausprobieren. Bei Lehrmittelanbietern meist deutlich teurer als im Elektronikversand.

Uno R4: Pinbelegung gleich, aber nur 8 mA je Pin statt 20 mA. Vor dem Kauf in mBlock testen.

Software

mBlock 5 von Makeblock (Desktop für Windows 64 Bit und macOS, Version 5.6.0 vom April 2025) oder die Web-Version mit dem Treiber mLink. Über „Hinzufügen“ das Gerät „Arduino Uno“ aus der Gerätebibliothek holen, den voreingestellten „Codey“ löschen. Im Live-Modus Gerät und Figur getrennt programmieren: Das Gerät schreibt den Messwert in eine Variable, die Figur liest sie.

COM-Anschluss unter Windows: Windows-Taste, „Geräte-Manager“ tippen, „Anschlüsse (COM & LPT)“. Nachbauten mit CH340-Chip brauchen je nach System einen Treiber.

Ultraschallsensor: klappt in mBlock meist, zuverlässiger mit der Arduino IDE.

Fachliche Hinweise

  • Servos: In mBlock den Servo an einen ~-Pin hängen. Mit der Servo-Bibliothek der Arduino IDE geht jeder Digitalpin, weil ein Timer die Impulse erzeugt, nicht die PWM-Hardware der ~-Pins; dabei ist PWM an Pin 9 und 10 belegt. Die Bibliothek sendet für 0° bis 180° standardmäßig 0,544 bis 2,4 ms, das Datenblatt des SG90 nennt etwa 1 bis 2 ms. Die Tafel zeigt die Werte des Datenblatts. Mehrere oder größere Servos besser mit eigener Stromversorgung.
  • „360°-Servos“ sind Dauerläufer: Der Impuls bestimmt Richtung und Tempo, nicht die Position.
  • Der Uno hat eingebaute Pull-up-Widerstände (kein Pull-down). Mit ihnen gilt: gedrückt = 0. In mBlock-Blöcken nicht schaltbar.
  • Pin 0 und 1 sind die serielle Verbindung zum Computer; im Live-Modus frei lassen.

Weiterführende Projekte

Sensorlehrgang mit einem Sensor-Kit (Sensoren auf Miniplatinen, schnell angeschlossen, aber weniger durchschaubar). Erprobte Projekte verkleinern: Arduino Pro Mini oder der ATmega-Chip ohne Platine.

An der Tafel

Adresse mit #tafel startet den Tafelmodus, #tafel-6 die sechste Tafel. → / Bild↓ weiter, ← / Bild↑ zurück, Esc beendet. Nach dem Ziehen an einem Regler wirken die Pfeiltasten wieder auf die Tafel. Der Umschalter Fortbildung zeigt Arduino-C, technische Daten, Formeln, Fachbegriffe und Materialhinweise. Die Seite speichert nichts im Browser.