- Etherpad: https://pad.sfconservancy.org/p/linuxdays-micropython
- Archiv: https://gist.github.com/encukou/f3ab76de997d8ed74c5bb6c69f3790a9
- Použijte vlastní počítač, na školních funguje jen web
- na Etherpad můžete psát; prosím, nezneužívejte toho :)
- Nákupní seznam: http://naucse.python.cz/2017/rh-openschool-micropython/micropython/mini-workshop/organizers/
- Dotazy posílejte na: encukou@gmail.com
$ picocom -b 115200 --flow n /dev/ttyUSB0
Nefunguje-li to:
- /dev/ttyUSB0 neexistuje:
- zkus /dev/ttyUSB
- zadej
$ dmesg | tail
, najdi tam jméno zařízení
- nemáš právo /dev/ttyUSB0 otevřít:
-
je potřeba přidat se do skupiny
dialout
$ sudo usermod -a -G dialout
$(whoami) $ su - $(whoami) -
nefunguje-li to, poslední záchrana je
sudo
-
Opuštění picocomu: CTRL + (A, Q)
Alternativa pro ty co nemají picocom: $ screen /dev/ttyUSB0 115200
>>> 1 + 1
>>> x = 5
Anoda (delší, +) <-> 3v3
Katoda (kratší, -) <-> G
(+) <-> D1
(-) <-> D2
>>> from machine import Pin
>>> d1 = Pin(5, Pin.OUT)
>>> d2 = Pin(4, Pin.OUT)
>>> d2.value(0)
>>> d1.value(1)
Tahák na nožičky: https://github.com/pyvec/cheatsheets/raw/master/micropython/nodemcu-cs.pdf
Modul:
VCC <-> 3v3
GND <-> GND
OUT <-> D5
Konektor:
červená <-> 3v3
bílá <-> G
zelená <-> D5
>>> btn = Pin(14, Pin.IN)
>>> btn.value()
>>> print(btn.value())
>>> while True:
... print(btn.value())
Ctrl+C
>>> while btn.value() == 1:
... pass
Dioda by mela svitit nebo nesvitit podle toho, jestli je zmacknute tlacitko.
porad dokola: - nacist hodnotu z tlacitka, ulozit do promenne - nastavit diodu podle promenne
neboli:
>>> from machine import Pin
>>> d1 = Pin(5, Pin.OUT)
>>> d2 = Pin(4, Pin.OUT)
>>> btn = Pin(14, Pin.IN)
>>> d2.value(0)
>>> while True:
... hodnota = btn.value()
... d1.value(hodnota)
from machine import Pin
d1 = Pin(5, Pin.OUT) d2 = Pin(4, Pin.OUT) btn = Pin(14, Pin.IN) d2.value(0)
while True: hodnota = btn.value() d1.value(hodnota)
while True: d1.value(1 - btn.value())
>>> from time import sleep
>>> sleep(1)
Instalace:
Fedora:
$ sudo dnf install ampy
Jinde:
$ python3 -m pip install --user adafruit-ampy
Spuštění:
$ ampy -p /dev/ttyUSB0 run program.py
>>> from machine import PWM
>>> pwm = PWM(led, freq=5, duty=512)
>>> pwm.freq(2)
>>> pwm.duty(256)
>>> pwm.deinit()
piezo mezi 3v3, D8
C: 262 Hz
D: 294 Hz
E: 330 Hz
F: 350 Hz
G: 392 Hz
A: 440 Hz
H: 494 Hz
C: 523 Hz
hnědá <-> ??? <-> GND
červená <-> ??? <-> 3v3
oranžová <-> ??? <-> D8
servo = PWM(Pin(15, Pin.OUT))
servo.freq(50)
servo.duty(40)
sleep(1)
servo.duty(120)
cervena <-> ??? <-> 3v3
zelena <-> ??? <-> D6
bila <-> ??? <-> GND
from neopixel import NeoPixel
np = NeoPixel(Pin(12, Pin.OUT), 8)
-
Animace semaforu (zelená, zlutá, červená, červená+zlutá, zelená, ...)
-
Semafor se závorou
-
Alarm (Na tlačítko něco polož – třeba myš. Jakmile někdo tlačítko uvolní, zařízení začne blikat.)
-
Alarm se zvukem
-
Žlutozelená barva (mezi GREEN a YELLOW) (GREEN je proměnná; co obsahuhje?)
-
Animace: Plynulý přechod z červené do modré
http://naucse.python.cz/2017/rh-openschool-micropython/micropython/mini-workshop/organizers/
Dotazy: encukou@gmail.com
- Detektor vzdálenosti
- Dlouhý/kulatý LED pásek
- LED matice
- Vozítko?