kopia lustrzana https://github.com/pimoroni/pimoroni-pico
linting cheerlights example and examples readme
rodzic
07ef40bc2b
commit
32455e6092
|
@ -1,44 +1,64 @@
|
|||
# Pico Explorer MicroPython Examples <!-- omit in toc -->
|
||||
|
||||
- - [PicoGraphics](#picographics)
|
||||
- [Non-Wireless Examples](#non-wireless-examples)
|
||||
- [Balls Demo](#balls-demo)
|
||||
- [Button Test](#button-test)
|
||||
- [Demo](#demo)
|
||||
- [Noise](#noise)
|
||||
- [Rainbow](#rainbow)
|
||||
- [Thermometer](#thermometer)
|
||||
- [Weather Station (BME280)](#weather-station-bme280)
|
||||
- [Weather Station (BME68X)](#weather-station-bme68x)
|
||||
- [Wireless Examples](#wireless-examples)
|
||||
- [Cheerlights](#cheerlights)
|
||||
|
||||
## PicoGraphics
|
||||
|
||||
You can draw on Pico Explorer's display using our tiny PicoGraphics display library.
|
||||
|
||||
- [PicoGraphics MicroPython function reference](../../modules/picographics)
|
||||
|
||||
## Non-Wireless Examples
|
||||
|
||||
### Balls Demo
|
||||
[balls_demo.py](balls_demo.py)
|
||||
|
||||
Simple LCD demo showing 100 bouncy balls!
|
||||
LCD demo showing 100 bouncy balls!
|
||||
|
||||
### Button Test
|
||||
[button_test.py](button_test.py)
|
||||
|
||||
This example shows you a simple, non-interrupt way of reading Pico Explorer's buttons with a loop that checks to see if buttons are pressed.
|
||||
|
||||
### Demo
|
||||
[demo.py](demo.py)
|
||||
|
||||
A demo of all Pico Explorer's functions. Connect analog inputs like potentiometers up to ADC0-ADC3 and motors to the motor channels for best results. Connect AUDIO to GP0 with a jumper wire to hear noise.
|
||||
|
||||
### Noise
|
||||
[noise.py](noise.py)
|
||||
|
||||
This example shows you how you can use Pico Explorer's onboard buzzer as a speaker to play different notes and string them together into a bleepy tune (you'll need to connect AUDIO to GP0 with a jumper wire to hear noise).
|
||||
|
||||
### Rainbow
|
||||
[rainbow.py](rainbow.py)
|
||||
|
||||
This example borrows a CircuitPython hsv to rgb function to cycle through some rainbows on Pico Explorer's screen.
|
||||
|
||||
### Thermometer
|
||||
[thermometer.py](thermometer.py)
|
||||
|
||||
This example takes the temperature from the Pico's onboard temperature sensor, and displays it on Pico Explorer, along with a little pixelly graph.
|
||||
|
||||
### Weather Station (BME280)
|
||||
[weatherstation_BME280.py](weatherstation_BME280.py)
|
||||
|
||||
Plug a BME280 breakout into your Pico Explorer and make a little indoor weather station, with barometer style descriptions.
|
||||
Plug a [BME280 breakout](https://shop.pimoroni.com/products/bme280-breakout) into your Pico Explorer and make a little indoor weather station, with barometer style descriptions.
|
||||
|
||||
### Weather Station (BME68x)
|
||||
### Weather Station (BME68X)
|
||||
[weatherstation_BME68X.py](weatherstation_BME68X.py)
|
||||
|
||||
Plug a BME680 or BME688 breakout into your Pico Explorer to make a little indoor weather station, with barometer style descriptions.
|
||||
Plug a [BME680](https://shop.pimoroni.com/products/bme680-breakout) or [BME688](https://shop.pimoroni.com/products/bme688-breakout) breakout into your Pico Explorer to make a little indoor weather station, with barometer style descriptions.
|
||||
|
||||
## Wireless Examples
|
||||
|
||||
|
@ -47,5 +67,7 @@ The wireless examples need `network_manager.py` and `WIFI_CONFIG.py` to be saved
|
|||
You'll also need to install the `micropython-urllib.urequest` library using Thonny's 'Tools' > 'Manage Packages'.
|
||||
|
||||
### Cheerlights
|
||||
[cheerlights.py](cheerlights.py)
|
||||
|
||||
This Pico W example sets your Pico Explorer's screen (and optionally, a [RGB LED](https://shop.pimoroni.com/products/led-rgb-clear-common-cathode)) to the current #cheerlights colour.
|
||||
|
||||
This Pico W example sets your Pico Explorer's screen to the current #cheerlights colour.
|
|
@ -42,7 +42,7 @@ def status_handler(mode, status, ip):
|
|||
def hex_to_rgb(hex):
|
||||
# converts a hex colour code into RGB
|
||||
h = hex.lstrip('#')
|
||||
r, g, b = (int(h[i:i+2], 16) for i in (0, 2, 4))
|
||||
r, g, b = (int(h[i:i + 2], 16) for i in (0, 2, 4))
|
||||
return r, g, b
|
||||
|
||||
|
||||
|
@ -66,17 +66,17 @@ led = RGBLED(0, 1, 2, invert=False)
|
|||
while True:
|
||||
# connect to wifi
|
||||
uasyncio.get_event_loop().run_until_complete(network_manager.client(WIFI_CONFIG.SSID, WIFI_CONFIG.PSK))
|
||||
|
||||
|
||||
# open the json file
|
||||
print(f"Requesting URL: {URL}")
|
||||
socket = urequest.urlopen(URL)
|
||||
data = ujson.load(socket)
|
||||
socket.close()
|
||||
print(f"Data obtained!")
|
||||
print("Data obtained!")
|
||||
|
||||
# extract hex colour from the data
|
||||
hex = data['field2']
|
||||
|
||||
|
||||
# and convert it to RGB
|
||||
r, g, b = hex_to_rgb(hex)
|
||||
|
||||
|
@ -93,9 +93,8 @@ while True:
|
|||
# light up RGB LED
|
||||
led.set_rgb(r, g, b)
|
||||
print(f"RGB LED set to {hex}")
|
||||
|
||||
|
||||
# sleep
|
||||
print(f"""Sleeping for {UPDATE_INTERVAL} seconds.
|
||||
""")
|
||||
time.sleep(UPDATE_INTERVAL)
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue