33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
# Simple NEC remote decode-and-print example
|
|
# Prints out the 4-byte code transmitted by NEC remotes
|
|
|
|
import pulseio
|
|
import board
|
|
import adafruit_dotstar
|
|
import adafruit_irremote
|
|
|
|
led = adafruit_dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1)
|
|
pulsein = pulseio.PulseIn(board.REMOTEIN, maxlen=120, idle_state=True)
|
|
decoder = adafruit_irremote.GenericDecode()
|
|
|
|
# size must match what you are decoding! for NEC use 4
|
|
received_code = bytearray(4)
|
|
|
|
print("Ready for NEC remote input!")
|
|
|
|
while True:
|
|
led[0] = (0, 0, 0) # LED off
|
|
pulses = decoder.read_pulses(pulsein)
|
|
print("\tHeard", len(pulses), "Pulses:", pulses)
|
|
try:
|
|
code = decoder.decode_bits(pulses, debug=False)
|
|
led[0] = (0, 100, 0) # flash green
|
|
print("Decoded:", code)
|
|
except adafruit_irremote.IRNECRepeatException: # unusual short code!
|
|
led[0] = (100, 100, 0) # flash yellow
|
|
print("NEC repeat!")
|
|
except adafruit_irremote.IRDecodeException as e: # failed to decode
|
|
led[0] = (100, 0, 0) # flash red
|
|
print("Failed to decode: ", e.args)
|
|
|
|
print("----------------------------")
|