In diesem Beitrag möchte ich dir zeigen, wie du am Raspberry Pi Pico W mit der Programmiersprache BASIC einsteigen kannst.

Den Raspberry Pi Pico & Pico W habe ich dir bereits in diversen Beiträgen auf diesem Blog vorgestellt. Hier geht es nun um eine weitere Möglichkeit der Programmierung.
Rückblick – Programmieren mit BASIC
Die Programmiersprache Basic ist sehr alt (erste Veröffentlichung im Jahr 1964) und steht für „Beginner’s All-purpose Symbolic Instruction Code“.
Der Code wird hier Zeilenweise aufgebaut und ausgeführt, dieses nennt man auch Prozedurale Programmierung. Man kann hier zu anderen Codezeilen mit dem Befehl GOTO springen (was heute sehr verpönt ist).
Der Funktionsumfang ist für damalige Verhältnisse sehr umfangreich und der Code ist auch sehr gut lesbar.
Wenn du mehr über diese Programmiersprache lesen möchtest, dann empfehle ich dir die Seite: Seite „BASIC“. In: Wikipedia – Die freie Enzyklopädie. Bearbeitungsstand: 2. März 2023, 12:32 UTC. URL: https://de.wikipedia.org/w/index.php?title=BASIC&oldid=231413014 (Abgerufen: 27. März 2023, 08:17 UTC)
Erfahrungen mit QBasic
Meine ersten Erfahrungen in der Programmierung konnte ich mit QBasic an einem Amstrad 1512 sammeln. Dieser PC hatte eine 10 MB Festplatte und zwei 5¼ Zoll Diskettenlaufwerke. Als Betriebssystem wurde zunächst MS-DOS 6.22 eingesetzt und später konnte ich sogar Windows 3.0 mit einer Maus installieren.
Auf diesem System mit einem Schwarz/Weiß Monitor habe ich angefangen zu programmieren und habe so kleine Programme in QBasic und auch Pascal entwickelt.
Aus diesem Grund bin ich schon sehr gespannt, was alles so von den gesammelten Erfahrungen hängen geblieben ist.
Bezug des BASIC Interpreters PicoMite und erste Schritte
Die Programmierung auf dem Raspberry Pi Pico / Pico W erfolgt hier mit dem Interpreter PicoMite, die offizielle Dokumentation und den Download der Firmware findest du unter https://geoffg.net/picomite.html.
Zunächst müssen wir den Pi Pico mit der Firmware flashen. Die Firmware laden wir als ZIP-Datei inkl. der Dokumentation als PDF-Datei herunter und kopieren wir auf den Mikrocontroller, jedoch muss dieser zuvor in den speziellen Modus zum Upload einer UF2-Datei versetzt werden.
Achtung: Der Vorgang löscht alle Daten, Programme auf dem Mikrocontroller unwiderruflich!
Im nachfolgenden YouTube-Video von meinem Kanal zeige ich dir, wie du deinen Mikrocontroller flasht und eine LED zum Blinken bringen kannst.
Aufbau einer Verbindung mit Putty
Zur Programmierung in BASIC müssen wir eine Verbindung mit einem Terminalprogramm aufbauen. Hier nutze ich wieder Putty. Das Tool ist kostenfrei, klein und kommt auch ohne eine zusätzliche Installation daher. Du kannst dir dieses von der Seite https://www.putty.org/ herunterladen.
Wenn man die Verbindung aufgebaut hat, dann wird zunächst ein kleiner Prompt oben links (Grafik 1) angezeigt. Hier könnte man sofort mit dem Schreiben loslegen, jedoch würde ich dir den Fullscreen-Editor (Grafik 2) empfehlen, welchen du mit der Taste F4 starten kannst.


Speichern des Programmes
Der erzeugte Code kann maximal 100 KB haben und wird zunächst im internen FLASH Speiche abgelegt. Der Code bleibt erhalten, auch wenn der Pi Pico keinen Strom mehr hat!
Zusätzlich lässt sich der Code in bis zu 5 sogenannten Slots organisieren.
Auf dieses Feature möchte ich jedoch in einem eigenen Beitrag speziell eingehen.
Ausgabe von Texten
Mit dem Befehl „PRINT“ lassen sich Texte auf dem Terminal ausgeben.


Beispiel – Blinken einer LED am Raspberry Pi Pico mit BASIC
Abschließend möchte ich dir gerne ein kleines Beispiel zeigen, wie du mit PicoMite in BASIC am Raspberry Pi Pico / Pico W eine LED zum Blinken bringen kannst.
Schaltung am Raspberry Pi Pico
Für den Aufbau der Schaltung benötigst du:
- einen Raspberry Pi Pico oder Pico W,
- ein Micro-USB Datenkabel,
- eine 5 mm, LED,
- ein 220 Ohm Vorwiderstand,
- ein 400 Pin Breadboard
Programmieren
Für das Blinken müssen wir einen Pin am Pi Pico an und ausschalten, dazwischen legen wir immer eine Pause ein, um diesen Wechsel sichtbar zu haben.
Zunächst müssen wir aber den Pin der LED als Ausgang definieren, dazu schreiben wir:
SETPIN GP16, DOUT
Um diesen Pin nun zu aktivieren / deaktivieren, müssen wir lediglich die Funktion PIN aufrufen.
' aktivieren der LED
PIN(GP16) = 1
' deaktivieren der LED
PIN(GP16) = 0
Wie erwähnt müssen wir bei dem jeweiligen Statuswechsel eine Pause einlegen, der Befehl hierzu lautet PAUSE und gefolgt von einem ganzzahligen Wert in Millisekunden.
PAUSE 200
Damit wir jetzt nicht viele Zeilen schreiben müssen, um ein Blinken zu programmieren, nutzen wir eine FOR-Schleife.
Im nachfolgenden Code erzeuge ich eine Schleife von 1 bis 10 in Schritten von 1. Danach aktiviere ich die LED, warte 200 Millisekunden und danach wird die LED wieder deaktiviert und wiederum 200 Millisekunden gewartet.
FOR INDEX = 1 TO 10 STEP 1
PIN(GP16) = 1
PAUSE 200
PIN(GP16) = 0
PAUSE 200
NEXT INDEX
Den Wert INDEX verwenden wir nicht im Code, könnten diesen aber auch mit dem Befehl PRINT ausgeben.
Hallo,
interessanter Beitrag wieder einmal.
Leider nervtz das Video etwas, da der erklärende Ton weit vor dem passenden Bild kommt. Also nicht synchron.
Das ist schade und nicht zu gebrauchen, wenn es etwas komplexer wird.
VG
Ah vielen Dank, da habe ich die falsche Version hochgeladen 🙁
Das war die erste und da hatte ich den Fehler gesehen.
Vielen Dank