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.