User:Beau-K6eau: Difference between revisions
Jump to navigation
Jump to search
Beau-K6eau (talk | contribs) No edit summary |
Beau-K6eau (talk | contribs) (RGB and then some) |
||
Line 2: | Line 2: | ||
Hacker Dojo 37C3 | Hacker Dojo 37C3 | ||
<h1>Getting to Blinky</h1> | |||
<h2>MicroPython & ESP8266</h2> | |||
<h3>code</h3> | |||
<pre> | |||
from machine import Pin, ADC | |||
from time import sleep_ms | |||
print('Hacker Dojo ESP8266 booting...') | |||
# MicroPython Getting Startred Reference | |||
# http://docs.micropython.org/en/latest/esp8266/quickref.html#pins-and-gpio | |||
# AI Thinker EASP8266 Module Pin Out | |||
# https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266-ESP-12E-chip-pinout-gpio-pin.png | |||
# LinkNode D1 Arduino Uno form factor | |||
# https://learn.linksprite.com/linkspriteio/linknode/linknode-d1/ | |||
# TODO: Feature | |||
# https://wiki.seeedstudio.com/Grove-LED_String_Light/ | |||
p0 = Pin(0, Pin.IN, Pin.PULL_UP) # Button | |||
# https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/overview | |||
p2 = Pin(2, Pin.IN) # PiR | |||
p12 = Pin(12, Pin.OUT, value=1) # GREEN | |||
p13 = Pin(13, Pin.OUT, value=1) # RED | |||
p14 = Pin(14, Pin.OUT, value=1) # BLUE | |||
a0 = ADC(0) # Light Sensor https://arduinogetstarted.com/tutorials/arduino-light-sensor | |||
def button_handler(pin): | |||
print("button") | |||
blink() | |||
def pir_handler(pin): | |||
print("PiR") | |||
motion_trigger() | |||
# https://randomnerdtutorials.com/micropython-interrupts-esp32-esp8266/ | |||
p0.irq(trigger=Pin.IRQ_FALLING, handler=button_handler) | |||
p2.irq(trigger=Pin.IRQ_RISING, handler=pir_handler) | |||
def motion_trigger(): | |||
for i in range(0, 10): | |||
p13.value(not p13.value()) | |||
sleep_ms(100) | |||
def blink(): | |||
p12.value(0) | |||
sleep_ms(200) | |||
p12.value(1) | |||
p13.value(0) | |||
sleep_ms(200) | |||
p13.value(1) | |||
p14.value(0) | |||
sleep_ms(200) | |||
p14.value(1) | |||
blink() | |||
def do_connect(): | |||
import network | |||
wlan = network.WLAN(network.STA_IF) | |||
wlan.active(True) | |||
if not wlan.isconnected(): | |||
print('connecting to network...') | |||
wlan.connect('Hacker Dojo Free', 'hackerdojo') | |||
while not wlan.isconnected(): | |||
pass | |||
print('network config:', wlan.ifconfig()) | |||
# do_connect() | |||
</pre> | |||
Made with a breadboard and random bits found in the electronics lab. 37C3 hack'n with Brick Breakers. |
Revision as of 21:29, 29 December 2023
Hello world
Hacker Dojo 37C3
Getting to Blinky
MicroPython & ESP8266
code
from machine import Pin, ADC from time import sleep_ms print('Hacker Dojo ESP8266 booting...') # MicroPython Getting Startred Reference # http://docs.micropython.org/en/latest/esp8266/quickref.html#pins-and-gpio # AI Thinker EASP8266 Module Pin Out # https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2019/05/ESP8266-ESP-12E-chip-pinout-gpio-pin.png # LinkNode D1 Arduino Uno form factor # https://learn.linksprite.com/linkspriteio/linknode/linknode-d1/ # TODO: Feature # https://wiki.seeedstudio.com/Grove-LED_String_Light/ p0 = Pin(0, Pin.IN, Pin.PULL_UP) # Button # https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/overview p2 = Pin(2, Pin.IN) # PiR p12 = Pin(12, Pin.OUT, value=1) # GREEN p13 = Pin(13, Pin.OUT, value=1) # RED p14 = Pin(14, Pin.OUT, value=1) # BLUE a0 = ADC(0) # Light Sensor https://arduinogetstarted.com/tutorials/arduino-light-sensor def button_handler(pin): print("button") blink() def pir_handler(pin): print("PiR") motion_trigger() # https://randomnerdtutorials.com/micropython-interrupts-esp32-esp8266/ p0.irq(trigger=Pin.IRQ_FALLING, handler=button_handler) p2.irq(trigger=Pin.IRQ_RISING, handler=pir_handler) def motion_trigger(): for i in range(0, 10): p13.value(not p13.value()) sleep_ms(100) def blink(): p12.value(0) sleep_ms(200) p12.value(1) p13.value(0) sleep_ms(200) p13.value(1) p14.value(0) sleep_ms(200) p14.value(1) blink() def do_connect(): import network wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): print('connecting to network...') wlan.connect('Hacker Dojo Free', 'hackerdojo') while not wlan.isconnected(): pass print('network config:', wlan.ifconfig()) # do_connect()
Made with a breadboard and random bits found in the electronics lab. 37C3 hack'n with Brick Breakers.