Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Calliope Mini 3 Tutorial: 360° Servomotor mit MakeCode programmieren

Posted on 31. Januar 202410. März 2024 by Stefan Draeger

In diesem Beitrag möchte ich dir zeigen, wie du einen 360° Servomotor am Calliope Mini 3 mit MakeCode programmieren kannst. Das Onlinetool MakeCode macht es gerade Anfänger leicht in die Programmierung zu starten und schnell Ziele zu erreichen.

Calliope Mini 3 - 360° Servomotor steuern
Dieses Video auf YouTube ansehen.

Inhaltsverzeichnis

  • Bezug eines 360° Servomotors
  • Anschluss des Servomotors an den Calliope Mini 3
  • Programmieren des 360° Servomotors am Calliope Mini 3 mit MakeCode
  • Erweitern der Schaltung zum Regeln der Geschwindigkeit
    • Exkurs – Drehpotentiometer auslesen
    • Ein Drehpotentiometer zum Regeln der Geschwindigkeit für Vorwärts- / Rückwärtsdrehung

Bezug eines 360° Servomotors

Auf der Plattform ebay.de bekommst du recht günstig die Servomotoren mit 360° Drehung in unterschiedlichen Leistungsstärken.

Ich habe mich für einen einfachen, kleinen Servomotor entschieden, welcher lediglich 8 € inkl. Versand* gekostet hat. Wenn du mehr sparen möchtest, dann empfehle ich dir die Plattform aliexpress.com

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Anschluss des Servomotors an den Calliope Mini 3

Der Servomotor benötigt eine Spannung von 4,8V bis maximal 6V. Jedoch liefert der Calliope Mini 3 lediglich 3,3V über die Pins, d.h. wir benötigen eine externe Stromversorgung, welche uns die Spannung für den Servomotor liefert.

Schaltung - Calliope Mini 3 mit 360° Servomotor
Schaltung – Calliope Mini 3 mit 360° Servomotor

In meinem Fall nutze ich ein Expansionsboard mit einem LiPo-Akku vom Typ 18650. Dieses kleine Board liefert wie eine Powerbank 5V und kann über einen extra Mikro-USB Anschluss geladen werden.

LiPo Batterie 18650 mit Expansionboard für 5V und 3V
LiPo Batterie 18650 mit Expansionboard für 5V und 3V

Der Calliope Mini 3 verfügt über zwei Taster (A & B) und ein Touch-Feld (das Logo auf der Rückseite) diese drei Sensoren möchte ich nutzen um den Servomotor vorwärts, rückwärts und auch zu stoppen.

Hier das Pinout der Pinleiste des Calliope Mini 3.

Pinout der Buchsenleiste am Calliope Mini 3
Pinout der Buchsenleiste am Calliope Mini 3

Nachfolgend findest du eine kleine Tabelle, wie die Schaltung aufgebaut wird.

BauteilCalliope Mini 3ext. Spannungsversorgung
ext. Spannungsversorgung
GNDGND
360° Servomotor
DATAP0
VCC5V
GNDGND

Programmieren des 360° Servomotors am Calliope Mini 3 mit MakeCode

Kommen wir nun dazu und erstellen das kleine Programm zum steuern des 360° Servomotors in MakeCode. Der Vorteil von MakeCode ist wie bereits erwähnt, dass du den Code mit Blöcken erstellst und so keine Zeile umständlichen Code schreiben musst.

Zum steuern des Servomotors benötigen wir eine Erweiterung, diese heißt „ContinuousServo“ und diese kannst du dir recht einfach über den Menüpunkt Erweiterungen (1) laden. Danach suchst du nach „servo“ (2) und wählst aus den Suchergebnissen „continuous-servo“ (3) aus.

Diese Bibliothek liefert dir alle Bausteine zum steuern des Servomotors.

Du kannst bestimmten, in welche Richtung der Servo sich drehen soll (spin one way, spin other way) und an welchem Pin dieser angeschlossen ist.

Zum stoppen des Servomotors nutzt du den Block „tun off motor“.

Zusätzlich kannst du auch bestimmen, mit welcher Geschwindigkeit dieser Motor sich drehen soll.

Wie erwähnt möchte ich die beiden Taster A & B nutzen, um den Servo vorwärts bzw. rückwärts laufen zu lassen. Das Logo auf der Rückseite des Calliope Mini ist ein kapazitiver Touch Sensor und kann ebenso als Taster verwendet werden und dient in meinem Code zum Stoppen des Sensors.

Programm in MakeCode zum steuern eines 360° Servomotors am Calliope Mini 3
Programm in MakeCode zum steuern eines 360° Servomotors am Calliope Mini 3

Nachfolgend den Code zum Importieren in MakeCode.

Programm – Calliope Mini 3 mit 360° ServomotorHerunterladen

Erweitern der Schaltung zum Regeln der Geschwindigkeit

Die verwendete Bibliothek erlaubt es auch, die Geschwindigkeit des Servomotors zu regeln. Der Calliope Mini 3 hat mehrere analoge Pins (P0, P1, P2, C4, C10, C16, C18), an welche wir jeweils einen Drehpoti anschließen können, somit können wir theoretisch die Vorwärts-Rückwärtsbewegung separat steuern.

Exkurs – Drehpotentiometer auslesen

Zunächst möchte ich dir kurz erläutern, wie du einen Drehpotentiometer am Calliope Mini 3 auslesen kannst. Ein Drehpotentiometer ist ein Bauteil mit variablem Widerstand, diesen Widerstand veränderst du durch das Drehen eines kleinen Rades.

Es gibt diese Bauteile in unterschiedliche Arten und Ausführen und auch Größen. Ich empfehle dir ein Drehpotentiometer mit Grove Schnittstelle. Es gibt aber auch Drehpotis für welche du zusätzlich ein kleines Breadboard benötigst.

verschiedene Drehpotentiometer
verschiedene Drehpotentiometer

Ein Drehpotentiometer wird an einen analogen Pin angeschlossen und liefert einen Wert zwischen 0 und 1023 bzw. es wird ein Wert abgelesen. Mit diesem Bauteil können wir nun zum Beispiel die Helligkeit einer LED regeln oder auch wie hier die Geschwindigkeit eines Motors.

In den meisten Fällen müssen wir jedoch den gelesenen Wert auf eine andere Range von Werten mappen. Das bedeutet, dass wir im Fall der Helligkeit einer LED die Range des Drehpotis von 0 bis 1023 auf 0 bis 255 und im Fall unseres Servomotors auf 0 bis 100 mappen müssen. Das geht in MakeCode mit dem Baustein „verteile“ aus dem Eintrag „Mathematik“.

Ein Drehpotentiometer zum Regeln der Geschwindigkeit für Vorwärts- / Rückwärtsdrehung

Der Calliope Mini 3 hat am Anschluss A1 und Pin C16 einen analogen Eingang, an diese Schnittstelle können wir einen Grove Drehpotentiometer anschließen.

Pinout der Grove Schnittstellen am Calliope Mini 3
Pinout der Grove Schnittstellen am Calliope Mini 3
Schaltung - Calliope Mini 3 mit 360° Servomotor & Drehpotentiometer
Schaltung – Calliope Mini 3 mit 360° Servomotor & Drehpotentiometer

Das Programm habe ich etwas anders aufgebaut als zuvor, denn wir möchten ja den Drehpotentiometer auch nutzen, wenn sich der Servo gerade dreht.

Programm zum steuern der Geschwindigkeit eines 360° Servomotors mit einem Drehpotentiometer
Programm zum steuern der Geschwindigkeit eines 360° Servomotors mit einem Drehpotentiometer

Hier der Code zum Download und importieren in MakeCode.

Programm zum steuern der Geschwindigkeit eines 360 Grad Servomotors am Calliope Mini 3 mit einem DrehpotentiometerHerunterladen

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}