version 1.0 relase
This commit is contained in:
parent
ba310c309a
commit
0b02f5e12c
15
README.md
15
README.md
@ -73,12 +73,21 @@ datasheet: https://www.vishay.com/docs/82459/tsop48.pdf
|
||||
|
||||
- pin 16 - IR RX
|
||||
- pin 17 - IR TX - 22R - IR LED OSRAM SFH4544
|
||||
|
||||
- pin 18 - button
|
||||
- pin 19 - button
|
||||
- pin 20 - button
|
||||
|
||||
- pin 22 - Red LED, resistor 75R
|
||||
|
||||
- pin 28 - 2xAA 1,5V BAT - Schottky diode - VSYS Pi Pico
|
||||
- pin 15 - PN2222A NPN transistor - Piezo
|
||||
|
||||
|
||||
# BLE UART Serial Terminal
|
||||
Show IR RX recived commands
|
||||
|
||||
### Send IR Commands from terminal
|
||||
|
||||
'led_off' LED OFF
|
||||
'led_on' LED ON
|
||||
'bomb' Send Explode command over IR TX
|
||||
|
||||
Any Lasertag command in hex `FFFFFF` or `0xFFFFFF` send this command over IR TX
|
1969
lib/picozero.py
Normal file
1969
lib/picozero.py
Normal file
File diff suppressed because it is too large
Load Diff
36
main.py
36
main.py
@ -1,7 +1,13 @@
|
||||
# OpenLaserTag device
|
||||
# OLT protocol.
|
||||
# Tomas Krejci [Njord]
|
||||
|
||||
###########################################################
|
||||
# #
|
||||
# OpenLaserTag remote control #
|
||||
# OLT protocol #
|
||||
# Tomas Krejci [Njord] tk@tomaskrejci.com #
|
||||
# #
|
||||
# version 1.0 #
|
||||
# 2024-06-22 #
|
||||
# #
|
||||
###########################################################
|
||||
|
||||
import machine, time, re
|
||||
from sys import platform
|
||||
@ -34,24 +40,19 @@ device_id_str = device_id_str[-4:] # Keep last 8 char
|
||||
device_id = int(device_id_str, 16) # Convert to int from hex in string
|
||||
|
||||
### Piezo ###
|
||||
piezo_pin = machine.Pin(15, machine.Pin.OUT, value=1)
|
||||
piezo_pin2 = machine.Pin(14, machine.Pin.OUT, value=1)
|
||||
piezo_pin = machine.Pin(15, machine.Pin.OUT, value=0)
|
||||
|
||||
|
||||
async def piezo_beep(sec=0.3):
|
||||
piezo_pin.value(0)
|
||||
piezo_pin2.value(0)
|
||||
await asyncio.sleep(sec)
|
||||
piezo_pin.value(1)
|
||||
piezo_pin2.value(1)
|
||||
await asyncio.sleep(sec)
|
||||
piezo_pin.value(0)
|
||||
|
||||
|
||||
async def piezo_short_beep():
|
||||
piezo_pin.value(0)
|
||||
piezo_pin2.value(0)
|
||||
await asyncio.sleep(0.1)
|
||||
piezo_pin.value(1)
|
||||
piezo_pin2.value(1)
|
||||
await asyncio.sleep(0.1)
|
||||
piezo_pin.value(0)
|
||||
|
||||
|
||||
#### Voltage monitor ###
|
||||
@ -83,8 +84,8 @@ async def battery_monitor(aadc):
|
||||
) # reference voltage (3.3V) divided by the maximum ADC value (65535)
|
||||
voltage = round(voltage, 2)
|
||||
capacity = voltage_to_capacity(voltage / 2)
|
||||
logger.info(f"Battery Voltage: {voltage}V, Capacity: {capacity}%")
|
||||
uart.write(f"BATTERY: Voltage: {voltage}V, Capacity: {capacity}%\n")
|
||||
logger.info(f"Battery Voltage: {voltage:.2f}V, Capacity: {capacity:.0f}%")
|
||||
uart.write(f"BATTERY: Voltage: {voltage:.2f}V, Capacity: {capacity:.0f}%\n")
|
||||
await asyncio.sleep_ms(10000)
|
||||
|
||||
|
||||
@ -239,7 +240,8 @@ import logging
|
||||
global logger
|
||||
init_ticks = time.ticks_ms()
|
||||
# change logging level here, logging.ERROR is default, logging.DEBUG for more info, and reset device
|
||||
log_level = logging.DEBUG
|
||||
# log_level = logging.DEBUG
|
||||
log_level = logging.INFO
|
||||
# log_level = logging.ERROR
|
||||
logging.basicConfig(level=log_level, format="%(name)s - %(levelname)s - %(message)s")
|
||||
logger = logging.getLogger(__name__)
|
||||
|
Loading…
Reference in New Issue
Block a user