* * * * * Willkommen bei RolandPudimat.de! * * * * *


Keine Werbung!
Keine Cookies!


Du bist der Besucher seit dem 22.09.2009.
Du bist hier: [Startseite] · [SuS-Assist] · Rechnertechnik

ED 20250115; UP 20250115; AU Pudimat, R.
KT Arduino, Multi-Funktions_Shield

Rechnertechnik


Es waren Leute im Alter Deiner Eltern und Großeltern, die Händis und Klapp- und Flachrechner geschaffen haben. Heute beklagen Eltern, LuL und Bildungsforscher mangelnde digitale Kompetenz der SuS. Auf einem Tablet oder einem Handy zu tippen oder zu wischen, können bereits Dreijährige. Auch das stundenlange Anschauen von Kurzvideos bringt Dich keine Kompetenzstufe weiter.

Ich möchte Dir eine Möglichkeit aufzeigen, wie Du Deine Fähigkeiten in der Computertechnik verbessern kannst:

1. Du brauchst einen Laptop mit Internetzugang.
2. Du gehst zu Deinen Eltern, Deinen Großeltern oder zu Onkel oder Tante und bittest um 20 EUR. Du erklärst, dass Du ab jetzt weniger oder gar nicht mehr in der App Tiktok sein willst und stattdessen Programmieren und nebenbei etwas technisches Englisch lernen willst. Hierzu willst Du Dir ein Arduino-Board (Arduino UNO R3 o. besser Arduino Leonardo) und dazu ein passendes Erweiterungs-Board kaufen.
3. Du richtest die kostenlose Arduino-IDE auf Deinem Laptop ein.
4. Du steckst die Erweiterungsplatine auf das Arduino-Board und verbindest das Board mit einem passenden USB-Kabel mit Deinem Laptop.

Die Arduino-Plattform ist bei Schülern, Studenten und/oder bei Bastlern beliebt, um erste Erfahrungen mit der Programmierung von Mikrorechnern zu sammeln. Die Programmierung wird durch eine eigene integrierte Entwicklungsumgebung (IDE = Integrated Development Environment) und die Verwendung einer C- bzw. C++-ähnlichen Programmiersprache vereinfacht.

Ich verwende hier einen schon in Jahre gekommenen Arduino Uno R3 basierend auf dem ATMega328 von Atmel/Microchip in der DIP-Variante. Für den Arduino Uno gibt eine Vielzahl von Multifunktions-Erweiterungsplatinen (engl. Multi-function Shield, MFS). Bei einem chinesischen Online-Händler bestellte ich für weniger als 5 EUR eine Erweiterungsplatine, die hier näher beschrieben ist (am 15.01.2025):
[Oliver Kuhlemann, Cool-Web.de]

Die Platine bietet u.a. den Zugriff auf folgende Ein- bzw. Ausgabe-Elemente:
- 4-stellige 7-Segment-Anzeige, 2x Seriell/Parallel-Schieberegister 74HC595's, Pins D4, D7, D8
- 4 SMD-LED, D1, D2, D3, D4, Pins 13, 12, 11, 10
- 3 NO-Taster, Pins A1, A2, A3, eine Reset-Taste,
- Servo-Schnittstelle,
- aktiver Piezo-Buzzer, Pin 3
- 10k-Poti, A0
- Buchsenleiste J4 f. IR-Sensor SFH506 u. Temperatursensor LM35 A4
=> Genaueres siehe hierzu die Beschreibung und den Stromlaufplan des MFS.

Hinweis 1: Vor dem Aufstecken der Erweiterungsplatine müssen ev. 2 Anschlüsse der 7-Segmentanzeige auf der Leiterseite gekürzt und isoliert werden, so dass es zu keinem Kurzschluss mit dem Schirm der USB-Buchse des Arduino Uno R3 kommt. Wenn Du einen Arduino Leonardo verwendest, gibt es dieses Problem nicht.

Mit der Erweiterungsplatine lassen sich für Lern- und Testzwecke einfache Programme erstellen. Um die Ein- und Ausgaben zu vereinfachen, haben Programmierer für die Erweiterungsplatine Bibliotheken geschrieben und im Netz (GitHub) zur Verfügung gestellt. Ich verwende eine Bibliothek von Antonio Vanegas, die anhand von Anwendungsbeispielen ausführlich beschrieben ist (am 15.04.2024):
[MultiFuncShield-Library]

Diese und andere Bibliotheken werden zu Beginn eines Programms mit den Befehlen
#include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>
eingebunden.

Der Nachteil bei der Verwendung einer Bibliothek ist, dass man sich als Einsteiger auf die Programmierkenntnisse des Bibliothek-Autors verlässt. Ich empfehle, auf jeden Fall einen Blick in den Code der Bibliothek (.h, .cpp) zu werfen, um nachvollziehen zu können, was die einzelnen Programmzeilen bewirken. Ggf. kann man auf die Bibliothek verzichten und alle gewünschten Funktionen im eigenen Programm (.ino) unterbringen.

Hinweis 2: In der Bibliotheks-Datei „MultiFuncShield.h“ findest Du zu Beginn brauchbare Pin-Definitionen:
#define LED_1_PIN 13
#define LED_2_PIN 12
usw.

Mit der Arduino-IDE werden zahlreiche Beispielprogramme mitgeliefert. Beginne doch einfach mit dem Programm „Blink“. Dann lerne, was blockierende Anweisungen (delay()) sind und begreife das Programm „BlinkWithoutDelay“. Weiterhin lerne anhand des Programms „Debounce“, wozu Entprellen notwendig ist. Schließlich kann ein Blick in das Programm „StateChangeDetection“ nicht schaden.

Im Netz findest Du unzählige Anleitungen und aktive Foren. Hier noch ein Programm, dass einige der Ein-Ausgabe-Funktionen des MFS testet:
[arduino_mfs_rp_20250114.ino]

* * *

Blick auf das MFS; gelb: Isolation an USB-Buchse Arduino MFS

* * *

© 2009-2025, Roland Pudimat, 15.01.2025