adafruit_irremote
¶
Demo code for Circuit Playground Express:
# Circuit Playground Express Demo Code
# Adjust the pulseio 'board.PIN' if using something else
import pulseio
import board
import adafruit_irremote
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)
while True:
pulses = decoder.read_pulses(pulsein)
print("Heard", len(pulses), "Pulses:", pulses)
try:
code = decoder.decode_bits(pulses, debug=False)
print("Decoded:", code)
except adafruit_irremote.IRNECRepeatException: # unusual short code!
print("NEC repeat!")
except adafruit_irremote.IRDecodeException as e: # failed to decode
print("Failed to decode: ", e.args)
print("----------------------------")
- Author(s): Scott Shawcroft
Implementation Notes¶
Hardware:
Software and Dependencies:
- Adafruit CircuitPython firmware for the ESP8622 and M0-based boards: https://github.com/adafruit/circuitpython/releases
-
class
adafruit_irremote.
GenericDecode
[source]¶ Generic decoding of infrared signals
-
bin_data
(pulses)[source]¶ Compute bins of pulse lengths where pulses are +-25% of the average.
Parameters: pulses (list) – Input pulse lengths
-
-
class
adafruit_irremote.
GenericTransmit
(header, one, zero, trail)[source]¶ Generic infrared transmit class that handles encoding.
-
transmit
(pulseout, data)[source]¶ Transmit the
data
using thepulseout
.Parameters: - pulseout (pulseio.PulseOut) – PulseOut to transmit on
- data (bytearray) – Data to transmit
-