1 Überblick
Vielleicht hältst du gerade eine kleine Platine in den Händen und weiß nicht so recht, was du damit anfangen sollst. Vielleicht hast du sie schon mal an deinen Computer angeschlossen und vielleicht wurde sie sogar schon als Laufwerk mit dem Namen CIRCUITPY angezeigt. Vielleicht aber auch nicht. Auf alle Fälle ist eines aber sicher: Du bist hier, weil du wissen möchtest, wie es weiter geht und was du mit deiner Mikrocontroller-Platine alles anfangen kannst.
Adafruit nrf52840 Express
Dieser Kurs möchte dir zeigen, wie du mit CircuitPython loslegen und tolle Dinge erschaffen kannst!
Es gibt unvorstellbar viele Möglichkeiten, was du mit deinem neuen Board anfangen kannst. Auf alle Fälle wirst du dazu eine neue Programmiersprache lernen dürfen. Sehr wahrscheinlich hast du noch nie etwas von Circuitpython gehört. Das macht nichts den hier lernst du alles, was du brauchst, um gleich mit dem Programmieren loslegen zu können.
"Aber ich habe noch nie in meinem Leben programmiert. Das lerne ich niemals!" Ganz im Gegenteil! Dank CircuitPython wirst du sehr rasch lernen, wie einfach Programmieren sein kann und wie viel Spaß man damit haben kann. Wenn das für dich alles Neuland ist, bist du hier genau richtig!
In diesem Kurs erfährst du, wie du mit CircuitPython loslegst. Vorher erfährst du, wie du CircuitPython installierst, wie du es auf die neueste Version aktualisieren kannst, wie du eine serielle Verbindung einrichtest und wie du die Dateien auf deinem Board bearbeitest.
Willkommen in der CircuitPython-Welt!
2 Was ist Circuitpython?
CircuitPython ist eine Programmiersprache, die das Experimentieren und Erlernen des Programmierens auf kostengünstigen Mikrocontroller-Boards vereinfacht. Der Einstieg in die Mikrocontrollerprogrammierung wird einfacher als je zuvor. Zum ersten Mal ist es möglich Programme direkt auf dem Mikrocontroller zu bearbeiten und das, ohne dass dazu eine spezielle Desktop-App installiert werden muss. Wenn dein Board eingerichtet ist, öffnest du einen beliebigen Texteditor und beginnst einfach mit der Bearbeitung deines Programmcodes.

CircuitPython basiert auf Python. Python ist die am schnellsten wachsende Programmiersprache. Sie wird an Schulen und an Universitäten gelehrt. Dabei handelt sich um eine Programmiersprache, die einfacher zu lesen, zu schreiben und zu warten ist (als beispielsweise C oder C++).

Module und Pakete ermöglichen es dir, dass du deinen Code problemlos für andere Projekte wiederverwenden kannst. Python hat einen eingebauten Interpreter, was bedeutet, dass es keine zusätzlichen Schritte wie das Kompilieren gibt, um deinen Code zum Laufen zu bringen. Und natürlich ist Python Open Source Software, das heißt, es ist jedem frei, Python zu nutzen, zu modifizieren oder zu verbessern.
CircuitPython erweitert den gewaltigen Funktionsumfang von Python um die Hardwareunterstützung für solche Boards wie das, das du möglicherweise gerade in den Händen hältst. Wenn du bereits über Python-Kenntnisse verfügst, wirst du diese leicht auf CircuitPython anwenden können. Wenn du noch keine Erfahrung hast, wirst du ganz einfach loslegen können!
Wir werden bei null anfangen.
Viel Spaß beim Coden!
3 Warum CircuitPython?
CircuitPython kann auf Mikrocontroller-Boards ausgeführt werden. Eine Mikrocontrollerplatine ist eine Platine mit einem Mikrocontrollerchip, der im Wesentlichen ein recht kleiner All-in-One-Computer ist. Das Board, das du in der Hand hältst, ist ein Mikrocontroller-Board!
Gründe, die für die Verwendung von CircuitPython sprechen:
Du willst ohne komplizierte Installationen schnell und einfach loslegen. Erstelle eine Datei, bearbeite sie, speichere sie ab und das Programm wird sofort ausgeführt. Kein Kompilieren, kein Download und kein Upload sind mehr nötig.
Du willst das Programmieren lernen. CircuitPython war von Anfang an auf den Bildungsbereich ausgerichtet. Es ist einfach, mit dem Programmieren zu beginnen, und du erhältst sofort ein Feedback von deinem Board. Fehlersuche war noch nie so einfach.
Aktualisieren deinen Code so einfach wie nie. Da sich dein Code auf dem Laufwerk befindet, kannst du ihn jederzeit bearbeiten. Du kannst natürlich auch gleich mehrere unterschiedliche Programme auf dem Board abspeichern und beim Experimentieren entscheidest du, welches du ausführen möchtest.
Die serielle Konsole und der REPL ermöglichen ein Live-Feedback aus deinem Code und eine interaktive Programmierung.
Dateispeicher. Der interne Speicher für CircuitPython eignet sich hervorragend für das Loggen von Messwerten und anderen Daten sowie für die Wiedergabe von Audioclips und jede anderweitige Interaktion mit Dateien.
Sehr umfangreiche Hardware-Unterstützung. Es gibt viele Bibliotheken und Treiber für Sensoren, Breakout-Boards und andere externe Komponenten.
Es ist Python! Python ist die, zu Zeit am schnellsten wachsende Programmiersprache. Aufgrund ihrer leicht verständlichen Syntax wird sie gerne an Schulen und Universitäten gelehrt. CircuitPython ist fast vollständig mit Python kompatibel. Es wurde einfach eine Hardwareunterstützung für unterschiedliche Chips hinzugefügt.
CircuitPython entwickelt sich ständig weiter und wird ständig aktualisiert. Jeder kann dabei mit helfen und Verbesserungsvorschläge machen oder sich sogar selbst am Entwicklungsprozess beteiligen. Es gibt auch einen Discord-Kanal, in dem einem geholfen wird, wenn man ein Problem hat. Man sollte sein Anliegen aber in englischer Sprache verfassen, da Circuitpython von Menschen auf der ganzen Welt entwickelt wird und jeder Mensch wenigstens ein bisschen Englisch verstehen sollte.
4 Benötigte Teile
Teile, die mit einem * markiert sind, sind optional.
Adafruit Feather nRF52840 Sense
Der Adafruit Feather Bluefruit Sense ist ein Feather nRF52840 Express, dem ein Sammelsurium an Sensoren hinzugefügt wurden. Dieser Feather-Mikrocontroller hat Bluetooth Low Energy und kann Lithium-Akkus aufladen.
Der LSM6DS33 kann in 6 Freiheitsgraden Beschleunigungen (3 translation, 3 rotation) messen und der dreiachsige Magnetfeldsensor LIS3MDL erweitert das Ganze auf 9 Freiheitsgrade.
Der APDS9960 (bekannt durch das Samsung Galaxy S5) kann Handwisch-Gesten sowie Lichtfarbe und im nahen Bereich auch Abstände messen.
Das Ganze wird ergänzt durch zwei Umweltsensoren (SHT-30, BMP280), die Temperatur, Luftdruck und Luftfeuchtigkeit messen können.
Für etwas über 33€ bekommt man hier eine ganze Menge für sein Geld. Dieser Lehrgang funktioniert zu den meisten Teilen aber auch mit dem etwa 8€ günstigeren Feather nRF52840 Express.
Dupont-Kabel
Pro Arbeitsplatz werden 20 Kabel der Sorte männlich nach männlich sowie 20 Kabel männlich nach weiblich benötigt.
Im Verkauf werden jeweils 40 Kabel pro Set angeboten.

Türkontaktschalter
Perfekt für Alarmanlagen ist der zweiteilige Kontaktschalter. Wird der Magnet von dem Reedschalter entfernt, öffnet dieser und es fließt kein Strom mehr. Einbrecher Alarm!

3-farbige LED
Eine RGB-LED kann in allen Farben des Regenbogens leuchten. In ihrem inneren sind drei LEDs, die in den Farben rot, grün und blau leuchten und jeweils unabhängig angesteuert werden. An diffus leuchtenden LEDs sieht man die Farbmischung besser.
Zwei RGB-LEDs pro Arbeitsplatz.

Fotowiderstand
Ein Fotowiderstand ist ein Halbleiter, dessen Widerstandswert lichtabhängig ist. Er wird auch LDR (Light Dependent Resistor) genannt.
Je Arbeitsplatz sind zwei LDR vorgesehen.

Widerstände
Je Arbeitsplatz werden 6 Widerstände mit 47Ω als Vorwiderstand für die LEDs sowie 4 Widerstände mit 10kΩ als Pullup für die Taster beigelegt werden. Widerstände mit 1kΩ bereitlegen.

Piezo-Sumer
Ein Summer macht Wechselspannung hörbar. Generell sind passive Summer fürs Experimentieren besser geeignet, da das Tonsignal vom Mikrocontroller erzeugt und damit in seiner Tonhöhe variiert werden kann. Es gibt sehr günstige 50er Sets zu kaufen.
Ein Summer pro Arbeitsplatz.

PIR-Sensor
Bewegungssensoren werden in Alarmanlagen oder Steuerung einer Haustürbeleuchtung verwendet. Sie "sehen" das infrarote Licht, dass jeder warme Körper aussendet und erkennen damit Bewegungen.
Pro Arbeitsplatz ein Sensor.

Servomotor
Für Projekte, bei denen sich etwas bewegt, muss ein Servomotor wie der MG90S her.

Display *
Ein günstiges OLED-Display, welches sehr leicht angesteuert werden kann.

Potentiometer *
10k, linear

Ultraschall Abstandssensor *
Messen wie die Fledermaus kann dieser Sensor.

Bodenfeuchtesensor *
Alarm schlagen, falls die Blume gegossen werden möchte.

Regensensor *
Einfacher Sensor, der den Widerstand, der durch auftreffendes Wasser verändert wird, misst.

Punkt Matrix-Display *
64 LEDs - ein Display.
