hardware:microcontroller_mcu
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| hardware:microcontroller_mcu [2023-03-02 16:26:06] – [Atmel / Arduino] manfred | hardware:microcontroller_mcu [2023-04-08 03:32:45] (aktuell) – gelöscht manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Microcontroller (MCU) ====== | ||
| - | |||
| - | Ursprünglich hatte man MCUs in [[https:// | ||
| - | Neuere MCUs werden üblicherweise mit [[https:// | ||
| - | |||
| - | |||
| - | ===== Atmel / Arduino ===== | ||
| - | |||
| - | Die Controller aus dem Hause Atmel sind wegen ihres einfachen Aufbaus, ihrer leichten Programmierbarkeit, | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | |||
| - | |||
| - | ==== Atmel ==== | ||
| - | |||
| - | Die modernen Typen sind die Tiny (=winzig) und die Mega (=riesig). Die ATtiny haben kleinere Gehäuse als die ATmega, mit weniger Pins. Dies führt bei ähnlicher Funktionalität wie die Megas zu Mehrfachbelegungen der Pins. Die Tiny sind eher für kleine Aufgaben geeignet, wo die Einsparung über den Preis und den geringeren Aufwand beim Datenblattstudium kommt. Anfänger und Bastler sind mit den ATmega besser bedient, da es weniger Limitierungen gibt. Für ATmega gibt es zahlreiche Entwicklungsboards und Lernsysteme, | ||
| - | |||
| - | |||
| - | === Nomenklatur - ATmega === | ||
| - | |||
| - | Auch wenn die Namensgebung auf den ersten Blick bedingt durch die vielen verfügbaren Modelle kompliziert aussieht, so folgt sie doch immer (von wenigen Ausnahmen abgesehen) einem einfachen Schema. | ||
| - | |||
| - | * Nehmen wir einen aktuellen Baustein als Beispiel: *ATmega48PA-AU*. Der Name besteht aus 5 Teilen: | ||
| - | - Der Baureihe (hier: " | ||
| - | - Einer Nummer, immer eine Zweierpotenz (hier: 4). Diese Zahl gibt die Größe des Flashspeichers in Kibibyte an. | ||
| - | - Bis zu zwei weiteren Ziffern (hier: 8). Sie definieren die Zusatzfunktionen sowie Zahl der I/O-Ports. | ||
| - | - Bis zu zwei Buchstaben (hier: PA), die für die Revision sowie spezielle stromsparende Architekturen stehen. | ||
| - | - Einem Bindestrich und zwei weiteren Buchstaben, die die Bauform angeben (hier: AU). | ||
| - | |||
| - | |||
| - | ===== Python + ESP32 ===== | ||
| - | |||
| - | * Docs: [[https:// | ||
| - | * Firmware mit Python Interpreter: | ||
| - | * VS Code Extension: [[https:// | ||
| - | |||
| - | <code python main.py> | ||
| - | from helloWorld import hello_world | ||
| - | from led import set_pin, led, blinker | ||
| - | |||
| - | |||
| - | def main(): | ||
| - | hello_world() | ||
| - | set_pin(15) | ||
| - | led(True) | ||
| - | blinker() | ||
| - | |||
| - | |||
| - | if __name__ == ' | ||
| - | main() | ||
| - | |||
| - | </ | ||
| - | |||
| - | <code python helloWorld.py> | ||
| - | def hello_world(): | ||
| - | print(" | ||
| - | print(f" | ||
| - | |||
| - | </ | ||
| - | |||
| - | <code python led.py> | ||
| - | import time | ||
| - | |||
| - | from machine import Pin | ||
| - | |||
| - | global __PIN__ | ||
| - | |||
| - | |||
| - | def set_pin(pin): | ||
| - | global __PIN__ | ||
| - | __PIN__ = Pin(pin, Pin.OUT) | ||
| - | |||
| - | |||
| - | def led(on): | ||
| - | pin = __PIN__ | ||
| - | if on: | ||
| - | pin.on() | ||
| - | else: | ||
| - | pin.off() | ||
| - | |||
| - | |||
| - | def blinker(): | ||
| - | pin = __PIN__ | ||
| - | while True: | ||
| - | pin.on() | ||
| - | time.sleep(1) | ||
| - | pin.off() | ||
| - | time.sleep(1) | ||
| - | |||
| - | </ | ||
| - | |||
/home/http/wiki/data/attic/hardware/microcontroller_mcu.1677774366.txt · Zuletzt geändert: von manfred
