|
|
(124 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
− | === Teil 2=== | + | === Micropython Kurs 2023 - Teil 2=== |
| Hier werden wir den Umgang mit der Microcontroller spezifischen Hardware lernen. | | Hier werden wir den Umgang mit der Microcontroller spezifischen Hardware lernen. |
− |
| |
− |
| |
− | ==== 6. Abend====
| |
− | 14.11.2023
| |
− |
| |
− | ===== Erster Hardware Kontakt=====
| |
− |
| |
− | [[18. Lektion: Pin's]]<br>
| |
− | [[19. Lektion: Neopixel]]<br>
| |
− | * Problem Stromversorgung!
| |
− | ** https://www.exp-tech.de/zubehoer/neopixel/leds/5902/adafruit-neopixel-diffused-5mm-through-hole-led-5-pack?c=1215
| |
− | ** https://www.exp-tech.de/zubehoer/neopixel/leds/5310/breadboard-friendly-rgb-smart-neopixel-pack-of-4?c=1215
| |
− | ** https://www.berrybase.de/adressierbare-ws2812-rgb-led-pth-5mm-diffus-5er-pack?c=2428
| |
− | ** https://www.berrybase.de/adressierbare-ws2812-rgb-led-pth-5mm-klar-5er-pack?c=2428
| |
− | ** https://www.berrybase.de/neopixel-breakout-board-mit-1-ws2812-5050-rgb-led?c=2447
| |
− | ** https://www.berrybase.de/neopixel-rgbw-mini-button-pcb-10er-pack?c=2447
| |
− | [[20. Lektion: Onewire]]<br>
| |
− | [[21. Lektion: UART]]<br>
| |
− | [[22. Lektion: SPI]]<br>
| |
− | [[23. Lektion: I2C]]<br>
| |
− | * TCA9548a
| |
− | ** https://github.com/mcauser/microphyton-tca9548a
| |
− | [[24. Lektion: ADC]]<br>
| |
− | ** ADC des Raspberry Pi Pico
| |
− | ** ADC des ESP32
| |
− | ** ADC ADS1115
| |
− | *** https://www.ti.com/lit/ds/symlink/ads1115.pdf?ts=1693292712477&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252Fde-de%252FADS1115
| |
− | *** https://www.az-delivery.de/products/analog-digitalwandler-ads1115-mit-i2c-interface?variant=19034185039968
| |
− | *** https://www.berrybase.de/ads1115-4-kanal-16-bit-ad-wandler-breakout-board
| |
− | *** https://github.com/wollewald/ADS1115_mpy
| |
− | *** https://github.com/robert-hh/ads1x15
| |
− | *** https://pypi.org/project/ADS1115-mic-py/
| |
− | *** https://www.grzesina.de/az/blog_robotcar/ads1115rc.py
| |
− | *** https://how2electronics.com/ads1115-16-bit-adc-module-with-raspberry-pi-pico/
| |
− | [[25. Lektion: DAC]]<br>
| |
− | [[26. Lektion: Puls Weiten Modulation (PWM)]]<br>
| |
− | [[27. Lektion: Watch Dog Timer (WDT)]]<br>
| |
− | [[28. Lektion: Interrupts]]<br>
| |
− | [[29. Lektion: Timer]]<br>
| |
− |
| |
− | ==== 7. Abend====
| |
− | 21.11.2023
| |
| <br> | | <br> |
| + | Hier ein paar Dateien die für den Kurs benötigt werden: [[media:d4MPK2.zip|MPK2023_2_Dateien]] |
| + | <br> |
| + | * Das ZIP-File kann von dieser Seite heruntergeladen werden.<br> |
| + | * Anschließend auf dem Rechner entpacken und <br> |
| + | * dann den Inhalt mit Thonny auf den Pico kopieren.<br> |
| + | * Fertig. |
| | | |
− | [[30. Lektion: Das Filesystem]]
| + | === Termine=== |
− | | + | Im 2. Teil habe ich die Themen nicht fest den Terminen zugeordnet. Ich habe sie zwar in eine m.E. sinnvolle Reihenfolge gebracht, aber grundsätzlich sind wir frei in der Auswahl der Themen, die wir am Abend behandeln wollen. |
− | | + | ==== 1. Abend==== |
− | | + | Di. 16.1.24 |
− | ===== Wlan===== | + | ==== 2. Abend==== |
− | | + | Di. 23.1.2024 |
− | ===== NTP/RTC=====
| + | ==== 3. Abend==== |
− | Die RTC des ESP32 soll sehr ungenau sein.
| + | Di. 30.1.2024 |
− | | + | ==== 4. Abend==== |
− | <pre>
| + | Di. 6.2.2024 |
− | MicroPython v1.20.0 on 2023-04-26; ESP32S3 module with ESP32S3
| + | ==== 5. Abend==== |
− | | + | Di. 13.2.2024 |
− | Type "help()" for more information.
| + | |
− | | + | |
− | >>> import network
| + | |
− | >>> import ntptime
| + | |
− | >>> from machine import RTC
| + | |
− | | + | |
− | # WLAN einrichten
| + | |
− | | + | |
− | >>> wlan = network.WLAN(network.STA_IF)
| + | |
− | >>> wlan.active(True)
| + | |
− | True
| + | |
− | >>> wlan.connect('SSID', 'PW')
| + | |
− | >>> wlan.isconnected()
| + | |
− | False
| + | |
− | >>> wlan.isconnected()
| + | |
− | True
| + | |
− | >>> wlan.ifconfig()
| + | |
− | ('192.168.5.109', '255.255.255.0', '192.168.5.1', '192.168.5.1')
| + | |
− | | + | |
− | # Die RTC mit NTP einstellen
| + | |
− | | + | |
− | >>> ntptime.settime()
| + | |
− | | + | |
− | # Die RTC einrichten
| + | |
− | | + | |
− | >>> rtc = RTC()
| + | |
− | | + | |
− | >>> rtc.datetime()
| + | |
− | (2023, 9, 5, 1, 15, 39, 56, 427762)
| + | |
− | >>> rtc.datetime()
| + | |
− | (2023, 9, 5, 1, 16, 14, 5, 837765)
| + | |
− | >>> rtc.datetime()
| + | |
− | (2023, 9, 5, 1, 16, 21, 42, 597764)
| + | |
− | >>> dir(ntptime)
| + | |
− | ['__class__', '__name__', '__dict__', '__file__', 'socket', 'struct', 'time', 'timeout', 'utime', '__version__', 'host', 'settime']
| + | |
− | >>> ntptime.time()
| + | |
− | 747246194
| + | |
− | >>> rtc.datetime()
| + | |
− | (2023, 9, 5, 1, 16, 23, 49, 897771)
| + | |
− | >>> ntptime.time()
| + | |
− | 747246234
| + | |
− | >>> ntptime.utime
| + | |
− | <module 'utime'>
| + | |
− | >>> rtc.datetime()
| + | |
− | (2023, 9, 5, 1, 16, 24, 29, 867765)
| + | |
− | >>> ntptime.time()
| + | |
− | 747246276
| + | |
− | >>> import time
| + | |
− | >>> dir(time)
| + | |
− | ['__class__', '__name__', '__dict__', 'gmtime', 'localtime', 'mktime', 'sleep', 'sleep_ms', 'sleep_us', 'ticks_add', 'ticks_cpu', 'ticks_diff', 'ticks_ms', 'ticks_us', 'time', 'time_ns']
| + | |
− | >>> time.gmtime()
| + | |
− | (2023, 9, 5, 16, 25, 39, 1, 248)
| + | |
− | >>> time.localtime()
| + | |
− | (2023, 9, 5, 16, 25, 57, 1, 248)
| + | |
− | >>> time.mktime(rtc.datetime())
| + | |
− | 747191787
| + | |
− | >>> ntptime.time()
| + | |
− | 747246461
| + | |
− | >>> time.mktime(rtc.datetime())
| + | |
− | 747191787
| + | |
− | >>> ntptime.time()
| + | |
− | 747246472
| + | |
− | >>> time.mktime(rtc.datetime())
| + | |
− | 747191788
| + | |
− | >>> ntptime.time()
| + | |
− | 747246489
| + | |
− | >>>
| + | |
− | </pre>
| + | |
− | | + | |
− | ===== Datum und Uhrzeit===== | + | |
− | | + | |
− | ===== Links:===== | + | |
− | | + | |
− | ==== 8. Abend==== | + | |
− | 28.11.2023
| + | |
| <br> | | <br> |
− | * Display anschließen
| |
− | ** https://github.com/TimAEllis/ssd1306-py/blob/master/ssd1306.py
| |
− | ** https://www.grzesina.de/az/blog_robotcar/ssd1306.py
| |
| | | |
| + | === Themen=== |
| + | [[19. Lektion: Raspberry Pi Pico W]]<br> |
| + | [[20. Lektion: Vorstellung des Experimentierboards]]<br> |
| + | [[21. Lektion: Pin's]]<br> |
| + | [[22. Lektion: Neopixel]]<br> |
| + | [[23. Lektion: Onewire]]<br> |
| + | ---- |
| + | [[24. Lektion: UART]]<br> |
| + | [[25. Lektion: I2C]]<br> |
| + | [[25a. Lektion: Fonts]]<br> |
| + | [[26. Lektion: SPI]]<br> |
| + | [[27. Lektion: ADC]]<br> |
| + | [[28. Lektion: DAC]] - Der Raspberry Pi Pico W hat keinen DAC<br> |
| + | ---- |
| + | [[29. Lektion: Puls Weiten Modulation (PWM)]]<br> |
| + | [[30. Lektion: Watch Dog Timer (WDT)]] - s. 32. Lektion: Timer<br> |
| + | [[31. Lektion: Interrupts]]<br> |
| + | [[32. Lektion: Timer]]<br> |
| + | ---- |
| + | [[33. Lektion: Wlan]]<br> |
| + | [[34. Lektion: NTP/RTC]]<br> |
| + | ---- |
| + | [[35. Lektion: HTTP Briefing]]<br> |
| + | [[36. Lektion: HTML Briefing]]<br> |
| + | [[37. Lektion: Request]]<br> |
| + | [[38. Lektion: Webserver]]<br> |
| + | [[39. Lektion: Webseiten für den Webserver erstellen]]<br> |
| <br> | | <br> |
− | * Webserver
| |
− | ** Raspberry Pi Pico
| |
− | *** MicroWebSrv
| |
− | **** https://github.com/jczic/MicroWebSrv
| |
− | **** https://forums.raspberrypi.com/viewtopic.php?t=338692
| |
− | *** Andere Links mit Sockets:
| |
− | **** http://www.doctormonk.com/2022/09/a-better-web-server-for-raspberry-pi.html
| |
− | **** https://microdot.readthedocs.io/en/latest/intro.html
| |
− | **** https://wellys.com/posts/rp2040_microphyton_webserver/
| |
− | **** https://github.com/miguelgrinberg/microdot
| |
| | | |
| + | === Diverse Themen=== |
| + | [[xxx. Lektion: Diverse Themen]] |
| | | |
− | ==== 9. Abend==== | + | ==Navigation== |
− | | + | [[Micropython Kurs 2023|Zurück zur "Micropython Kurs 2023" Startseite]]<br> |
− | ==== 10. Abend====
| + | [[Programmieren|Zurück zur Programmieren Startseite]]<br> |
− | | + | [[Attraktor_Wiki|Zurück zur Wiki Startseite]]<br> |
− | ===== Kritik=====
| + | |
− | | + | |
− | <br> | + | |
− | $ jupyter notebook<br>
| + | |
− | <br>
| + | |
− | <br>
| + | |
− | | + | |
− | <br> | + | |
Hier werden wir den Umgang mit der Microcontroller spezifischen Hardware lernen.
Hier ein paar Dateien die für den Kurs benötigt werden: MPK2023_2_Dateien
Im 2. Teil habe ich die Themen nicht fest den Terminen zugeordnet. Ich habe sie zwar in eine m.E. sinnvolle Reihenfolge gebracht, aber grundsätzlich sind wir frei in der Auswahl der Themen, die wir am Abend behandeln wollen.
Di. 16.1.24
Di. 23.1.2024
Di. 30.1.2024
Di. 6.2.2024
Di. 13.2.2024