Sensor
Ein Sensor ist wie ein Sinn – er merkt z.B., ob es hell oder warm ist, und gibt diese Information an den Calliope mini weiter. Von einem Sensor werden über die Pins Daten empfangen/gelesen.
Beispiele: Tasten, Temperatursensor, Bewegungssensor
Aktor
Ein Aktor ist wie eine Hand oder ein Mund – er macht etwas, wenn der Calliope mini ihm Bescheid sagt.
Zu einem Aktor werden Daten über die Pins gesendet/geschrieben.
Beispiele: Motoren, LED-Anzeige, Lautsprecher
Hier geht es direkt zur Übersicht der verschiedenen Sensoren und Aktoren:
Sensoren und Aktoren anzeigen
Stromversorgung
Bevor ein Aktor oder Sensor angeschlossen wird, sollte zuerst beachtet werden, welche Betriebsspannung dieser benötigt. Der Calliope mini liefert regulär eine maximale Spannung von 3,3 V, wodurch viele 5V Sensoren und Aktoren nicht betrieben werden können. Informationen zu der Versorgungsspannung steht im Datenblatt des Sensors, bzw. Aktors.
Nähere Information zu der Stromversorgung findest du in der Technischen Dokumentation
Datenübertragung
Grundsätzlich gibt es zwei verschiedene Formen der Datenübertragung, dazu zählen analoge und digitale Signale. Als dritte Form gibt es noch die PWM Signale (Analoges Schreiben), womit eine analoge Signal, bzw. Spannung über ein digitales Signal nachgebildet wird.
Digital
Ein digitales Signal ist ein abgestuftes, abzählbares Signal. Es ist oft verlustbehaftet und muss in vielen Fällen interpretiert werden, wenn es keinen binären Zustand beschreibt.
Analog
Ein Analogsignal hat keine festen Werte, sondern einen kontinuierlichen, stufenlosen Verlauf. Allerdings werden durch den Analog-Digital-Umsetzer meistens Werte im Bereich 0 bis 1023 angezeigt.
PWM
Für die Steuerung von Motoren oder Ventilatoren über die Spannung, wird ein analoges Signal über die Länge der an/und aus Phasen eines nachgebildet. Das Verfahren nennt sich Pulsweitenmodulation (PWM).
Serielle Protokolle
Einige Sensoren verwenden für die Übertragung der Daten serielle Protokolle. Seriell bedeutet, dass die einzelnen Informationen des digitalen Signals in Bits nacheinander übertragen und verarbeitet werden. Der Calliope mini verfügt über die Protokolle I²C, UART, sowie SPI.
Jacdac
Der Calliope mini V3 ist mit zwei Jacdac Anschlüssen ausgestattet. Über diese lassen sich durch einfaches Verbinden diverse Module beliebig kombiniert und in Reihe verwenden.
Eine ausführlichere Dokumentation über diesen Verbindungstyp findet sich hier
Anschluss an den Calliope mini
Es gibt zwei Grove Anschlüsse an dem Calliope mini, die jedoch nicht identisch sind. Die Pins für die beiden Anschlüsse A0 und A1 können direkt über die Bezeichnung der Pins programmiert werden:

Der linke A0 -Anschluss verwendet das I²C-Protokoll.

Der rechte A1-Anschluss verwendet das UART-Protokoll.
Für den Calliope mini V3 können die Sensoren auch direkt über die Pinleiste programmiert werden, wenn diese keinen Grove-Adapter besitzen. Über die Pinleiste kann auch das SPI-Protokoll verwendet werden.

Weitere Informationen zu den Anschlüssen und das Datenblatt sind hier zu finden Technischen Dokumentation
Es gibt zwei Grove Anschlüsse an dem Calliope mini, die jedoch nicht identisch sind. Die Pins für die beiden Anschlüsse A0 und A1 können direkt über die Bezeichnung der Pins programmiert werden:
Der linke A0 -Anschluss verwendet das I²C-Protokoll.
Der rechte A1-Anschluss verwendet das UART-Protokoll.
Weitere Informationen zu den Anschlüssen und das Datenblatt sind hier zu finden Technischen Dokumentation
Programmierung in MakeCode
Lesen/Schreiben von analogen und digitalen Sensoren/Aktoren

Allgemein können die digitalen und analogen Sensoren/Aktoren angesprochen werden, indem auf dem Reiter Pins ausgewählt wird. Mit dem Block digitale/analoge Werte von Pin können die Sensordaten ausgelesen werden. Für die Aktoren können die Werte mit dem Block schreibe digital/analogen Wert von Pin auf 0 gesendet werden.
Weil die meisten Sensoren permanent Daten generieren, sollte das Auslesen im dauerhaft Block aus den Grundlagen stattfinden. Dort können die Daten beispielsweise in einer Variabel gespeichert werden, die immer neu überschrieben wird. Außerdem ist es möglich, die Daten zu analysieren, indem sie zeitlich in einer Liste erfasst werden.
Weitere Informationen zu den Pins können auf der Calliope Docs-Seite nachgelesen werden.
Erweiterungen laden

Für einige komplexere Sensoren können die Sensordaten nicht so einfach ausgelesen werden. Dafür gibt es Pakete, die uns das Programmieren des Sensors vereinfachen und direkt eine umgerechnete Ausgabe in einer Einheit wie Zentimeter bei Distanz, PPM für CO2-Konzentration oder RGBW für Farbe ausgibt.
Diese können hinzugefügt werden, wenn unten bei den Komponenten + Erweiterungen ausgewählt und in die Suchleiste oben z.B. "Grove" eingegeben wird. Anschließend sind die neuen Blöcke unter dem Reiter mit dem Name des hinzugefügten Paketes zu finden. Im Falle des Grove-Paketes lassen sich dann Gestenerkennung, Ultraschallsensoren usw. bedienen.
Weitere Informationen zu den Erweiterungen finden sich hier
Auslesen von Sensorwerten über den seriellen Monitor

Falls die Funktionstüchtigkeit eines Sensors getestet werden soll, kann es hilfreich sein, die Daten erst über einen seriellen Port auszulesen. MakeCode besitzt einen integrierten seriellen Monitor, an dem die Daten über WebUSB gesendet werden. Weitere Informationen zu dem seriellen Monitor können hier nachgelesen werden:
Falls du einen Calliope mini V1 oder V2 ohne WebUSB verwendest, findest du weitere serielle Monitore hier.
Datalogger: Speichern von Sensordaten

Die Datalogger-Erweiterung bietet die Möglichkeit, Daten des Calliope mini 3 zu protokollieren, speichern und auszuwerten. Die gesammelten Daten können in einer .htm-Datei auf dem Calliope mini Laufwerk eingesehen werden.
Programmierung in Python
Programmierung über die Calliope mini API


Sensoren und Aktoren können über die Calliope mini Schnittstelle (Application Programming Interface) ausgelesen und programmiert werden. Dazu gibt es verschiedene Funktionen, um sowohl digitale und analoge Werte der Pins sowohl zu lesen und zu schreiben, als auch die Funktionen zum Auslesen und Schreiben von verschiedenen Protokollen, wie I²C, SPI oder UART.
Importieren von Micropython Modulen


Externe Sensoren können als separate Python-Dateien zum bestehenden Projekt hinzugefügt und anschließend importiert werden.
Dabei kannst du entweder selbst eine Python-Datei erstellen oder ein vorhandenes Python-Modul in dein Projekt einbinden.
Wichtig ist, dass die Sensoransteuerung speziell für MicroPython entwickelt ist, die Methoden der Calliope mini API nutzt und die richtigen Pin-Bezeichnungen verwendet, damit der Sensor korrekt funktioniert.
Auslesen der Sensordaten im seriellen Monitor


Ist der Calliope mini mit dem USB-Kabel verbunden, kann über den Befehl "print" die Werte des Sensors in dem integrierten seriellen Monitor angezeigt werden.
Aufzeichnen der Sensordaten


Unter dem Reiter "Daten aufzeichnen" finden sich Funktionen um die Sensordaten aufzuzeichnen. Die Daten werden anschließend auf dem Laufwerk des Calliope mini als htm.-Datei gespeichert und können in einem Browser angezeigt werden oder als csv. Datei exportiert werden.