Micropython Kurs 2023: Difference between revisions

From Attraktor Wiki
Jump to navigation Jump to search
Line 131: Line 131:
[[27. Lektion: WDT]]<br>
[[27. Lektion: WDT]]<br>
[[28. Lektion: Interrupts]]<br>
[[28. Lektion: Interrupts]]<br>
[[29. Lektion: Timer]]<br>


==== 7. Abend====
==== 7. Abend====

Revision as of 17:15, 2 September 2023


Diese Seite ist meine persönliche Planungsseite und die Unterlage für den Microphyton Kurd 2023.


Über diese Seite

Auf dieser Seite ist > M i c r o p y t h o n < häufig falsch geschrieben als Microphyton. Ich habe den Fehler auf einer der ersten Seiten gemacht. Nun glaubt Mediwiki es müsse das richtig geschriebene Wort durch das Falsche ersetzen.
Bisher habe ich keine Möglichkeit gefunden das zu korrigieren.
https://www.mediawiki.org/wiki/Extension:Replace_Text/de

Über diesen Kurs

  • Dieser Kurs richtet sich an Phyton Anfänger.
  • Er gibt einen Einblick in die grundlegenden Eigenschaften von Phyton/Microphyton.
    • Im 1.Teil werden wir uns mit der Programmiersprache Phyton/Microphyton beschäfftigen.
    • Im 2.Teil werden wir auch die Hardware einsetzen.
  • Die Teilnehmer sollen überwiegend eigene Erfahrungen im Umgang mit Microphyton machen.
    • Deshalb ist es wichtig die erforderliche Hardware ab dem 1. Tag funktionsfähig dabei zu haben.
    • Die Themen werden vorgestellt und dann von den Teilnehmern ausprobiert.
  • Am Ende des 1.Teils sollten die Teilnehmer in der Lage sein kleine Programme in Microphyton zu entwickeln.
  • Es muss eine ganze Menge Stoff vermittelt werden, um dieses Ziel zu erreichen.
    • Deshalb ist eine aktive Teilnahme der Teilnehmer erforderlich.
  • Der Kurs besteht aus 2 Teilen:
    • Einführung mit viel Praxis im 1.Teil
      • Im 1.Teil weitgehend natives Microphyton, nichts M5Stack/Raspberry Pi Pico spezifisches.
    • Vertiefung und Microcontroller spezifisches im 2.Teil
      • Im 2.Teil wird auch M5Stack/Raspberry Pi Pico spezifisches behandelt.
  • Es geht bei diesem Kurs nicht darum schnell irgendwelche Effekte zu erzielen, sondern darum eine Programmiersprache zu erlernen.
    • Deshalb werden wir im ersten Teil keine LED's blinken lassen, sondern uns intensiv mit dem beschäfftigen, was Microphyton uns zu bieten hat.
    • Im 2.Teil können wir dann auch eine LED blinken lassen. Wir wissen dann aber wie und warum da was funktioniert.


Was der Kurs Euch inhaltlich bietet könnt Ihr weiter unten unter Inhalte sehen.

Technische Vorraussetzungen

  • Es ist ein Microcontroller Board mit RP2040/W, ESP32/S3 oder M5Stick/Stack erforderlich.
  • Es wird Laptop mit Windows benötigt.
  • Als IDE kommt Thonny 4.1.2 oder neuer zum Einsatz.
    • Thonny installieren.
    • Microphyton installieren.
  • Wer Probleme mit der Installion von Thonny auf dem PC und/oder Microphyton auf dem Microcontroller hat, muss am vorherigen Dienstag, den 12.9.23 oder Donnerstag, den 14.9.23 ab 18:00 Uhr zum Attraktor kommen damit wir dort Thonny und/oder Microphyton installieren können.
    • Ggf. können Laptops mit installiertem Thonny vom Attraktor zur Verfügung gestellt werden.

Anmeldung

Wer am Kurs telnehmen möchte melde sich bitte per Email (peter@attraktor.org) bis zu 12.9.23 bei mir an.

Zeitraum

Teil 1: 19.09.2023 - 10.10.2023
Teil 2: 07.11.2023 - 28.11.2023
Anzahl: 2x 4 Abende von 18:30 - 21:30 Uhr

Inhalte

Teil 1

Die Themen des ersten Teils sind weitgehend Hardwareunabhängig und meist auch nicht Microphyton spezifisch.

1. Abend

Di. 19.09.2023
1. Lektion: Mit Phyton und Thonny vertraut machen - REPL
2. Lektion: Erste Schritte
3. Lektion: Datentypen
4. Lektion: Mit Phyton rechnen

2. Abend

Di. 26.09.2023
5. Lektion: Variablen Vielfalt

3. Abend

Di. 03.10.2023
6. Lektion: Entscheidungen
7. Lektion: Wiederholungen
8. Lektion: Funktionen

4. Abend

Di. 10.10.2023
9. Lektion: Was ist programmieren?
10. Lektion: Scripte schreiben
11. Lektion: Module
12. Lektion: Standardmodule von Microphyton
13. Lektion: Externe Module finden

Teil 2

5. Abend

07.11.2023

Auffrischung und Ergänzung des 1. Teils

14. Lektion: Variablen_vielfalt.extend()
15. Lektion: Stringbearbeitung
16. Lektion: Funktionen.extend()
17. Lektion: Fehlerbehandlung
https://medium.com/@bobbykboseoffice/10-essential-phyton-coding-conventions-aaf5c3761622

6. Abend

14.11.2023

Erster Hardware Kontakt

18. Lektion: Pin's
19. Lektion: Neopixel

20. Lektion: Onewire
21. Lektion: UART
22. Lektion: SPI
23. Lektion: I2C

24. Lektion: ADC

25. Lektion: DAC
26. Lektion: PWM
27. Lektion: WDT
28. Lektion: Interrupts
29. Lektion: Timer

7. Abend

21.11.2023

Das Filesystem

Die Funktionen zum Umgang mit dem Filesystem befinden sich im Modul os:

os.chdir(path)
wechselt das aktuelle Verzeichnis
os.getcwd()
Zeigt das aktuelle Verzeichnis an
os.ilistdir([dir])
Diese Funktion gibt einen Iterator zurück, der dann Tupel liefert, die den Einträgen in dem Verzeichnis entsprechen, das sie auflistet. Ohne Argument listet sie das aktuelle Verzeichnis auf, andernfalls das durch dir angegebene Verzeichnis.
Die Tupel haben die Form (Name, Typ, Inode[, Größe]):
  • name ist eine Zeichenkette (oder Bytes, wenn dir ein Bytes-Objekt ist) und ist der Name des Eintrags;
  • type ist eine ganze Zahl, die den Typ des Eintrags angibt, mit 0x4000 für Verzeichnisse und 0x8000 für normale Dateien;
  • inode ist eine ganze Zahl, die dem Inode der Datei entspricht und bei Dateisystemen, die keinen solchen Begriff haben, 0 sein kann.
    Einige Plattformen können ein 4-Tupel zurückgeben, das die Größe des Eintrags enthält. Bei Dateieinträgen ist size eine Ganzzahl, die die Größe der Datei angibt, oder -1, wenn sie unbekannt ist.
    Für Verzeichniseinträge ist ihre Bedeutung derzeit nicht definiert.
os.listdir([dir])
Wenn kein Argument angegeben wird, wird das aktuelle Verzeichnis aufgelistet. Andernfalls wird das angegebene Verzeichnis aufgelistet.
os.mkdir(path)
erzeugt ein neues Verzeichnis.
os.remove(path)
Entfernt eine Datei.
os.rmdir(path)
Entfernt ein Verzeichnis.
os.rename(old_path, new_path)
Ändert den Namen einer Datei.
Kontextmanager
  • with
Wlan
NTP
RTC
Datum und Uhrzeit
Links:

8. Abend

28.11.2023


Kritik


$ jupyter notebook



Material zum Kurs

Die folgenden Dateien sind im Wiki als .txt gespeichert. Mit einen Klick darauf werden sie angezeigt, aber nicht herunter geladen.
Es ist folgendermaßen zu verfahren:

  • Datei mit Linksklick Ziel speichern unter herrunterladen.
  • Dateinamenerweiterung von .txt in .py ändern.
  • Die erscheinende Warnung weg klicken.
6. Lektion

Zahlenraten.py
https://www.phyton-lernen.de/uebung-zahlenraten.htm
https://www.freecodecamp.org/news/python-program-examples-simple-code-examples-for-beginners/
https://profound.academy/python-introduction/zYwMdQXFuKPpQa5RyFMJ

7. Lektion

Tannenbaum_1.py
Tannenbaum_2.py


Mediawiki - MEMS-Typen ändern

https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads/de
https://www.mediawiki.org/wiki/Manual:$wgProhibitedFileExtensions

9. Lektion

Karel.txt

Material für den Kurs

Hier findet Ihr eine Liste der erforderlichen Hardware:

  • Für alle Hardwarebezogenen Lektionen:
    • Steckbrett
    • Kabel
  • 18. Lektion: Pin's
    • LED
    • Widerstand 330 Ohm
    • Taster
    • Widerstand 10kOhm
  • 19. Lektion: Neopixel
    • Neopixel LED - Nur EINE LED!


SSD1306 Display

ToDo

  • 1.Lektion
    • Wo ist das Programm Begrüßung.py?
  • 2.Lektion
    • Variablenbeschreibungen für die Übung!
  • 3.Lektion
  • 4.Lektion
  • 5.Lektion
  • 6.Lektion
  • 7.Lektion
  • 8.Lektion
  • 9.Lektion
  • 10.Lektion
  • 11.Lektion
  • 12.Lektion
    • Modules von ESP32 und Raspberry Pi Pico W einbauen
  • 13.Lektion
  • 14.Lektion
  • 15.Lektion
  • 16.Lektion
  • 17.Lektion
  • 18.Lektion
  • 19.Lektion
  • 20.Lektion
  • 21.Lektion
  • 22.Lektion
  • 23.Lektion
  • 24.Lektion
  • 25.Lektion
  • 26.Lektion
  • 27.Lektion
  • 28.Lektion
  • 29.Lektion
  • 30.Lektion

Links zur Vorbereitung

https://www.youtube.com/watch?v=nwIgxrXP-X4
https://techexplorations.com/
https://www.youtube.com/watch?v=362fjQdpFlc
https://www.youtube.com/watch?v=RBpK8C3N-Y8
https://www.youtube.com/watch?v=rfscVS0vtbw
https://www.youtube.com/watch?v=eWRfhZUzrAc
https://randomnerdtutorials.com/raspberry-pi-pico-outputs-inputs-microphyton/
https://randomnerdtutorials.com/getting-started-raspberry-pi-pico-w/#install-thonny-ide
100-days-of-phyton
[]
[]
[]

Navigation

Zur Attraktor Wiki Startseite