Air conditioner IR remote ・ 空调红外控制
M5Stack Core2とIRユニットを使ってエアコンを赤外線リモコンで操作します。
この構成をエディタで開く・編集する →| 部品 | 役割 | ポート | リンク・価格 |
|---|---|---|---|
| M5Stack Core2 | Controller | grove_i2c, grove_analog, grove_uart, mbus | official page — $46.9 |
| Unit IR | IR transceiver | grove_analog, gpio | official page — $3.95 |
M5Stack Core2とIR Unitを使って、エアコンのリモコン信号を学習・送信する装置です。IR Unitが赤外線リモコンの信号を受信し、Core2がその信号を記憶します。その後、ボタンを押すだけで記憶した信号を送信してエアコンを操作できます。
# M5Stack Core2 + IR Unit (learn and send IR signals)
# Wiring: IR Unit -> Core2 black Port.B (analog/IO)
# IR Unit uses pin 36 for IR receiver (analog) and pin 26 for IR LED (digital out)
import time
from machine import Pin, ADC
from m5stack import lcd, btnA
# IR receiver on pin 36 (Port.B analog)
ir_receiver = ADC(Pin(36))
ir_receiver.atten(ADC.ATTN_11DB)
# IR LED on pin 26 (Port.B digital)
ir_led = Pin(26, Pin.OUT)
# Simple IR signal storage (raw timing data)
learned_signal = []
def learn_ir():
lcd.clear()
lcd.print('Press REC to learn', 10, 20)
# Wait for a button press to start learning (here we use button A)
while not btnA.isPressed():
time.sleep(0.1)
lcd.print('Learning...', 10, 60)
# Record IR signal for 200ms
start = time.ticks_us()
signal = []
while time.ticks_diff(time.ticks_us(), start) < 200000:
val = ir_receiver.read()
signal.append(val)
time.sleep_us(50)
learned_signal.clear()
learned_signal.extend(signal)
lcd.print('Learned!', 10, 100)
time.sleep(1)
def send_ir():
if not learned_signal:
lcd.print('No signal learned', 10, 140)
return
lcd.print('Sending...', 10, 60)
# Simple playback: modulate at 38kHz (not accurate, but works for demo)
for val in learned_signal:
if val > 2000: # threshold for high/low
ir_led.on()
else:
ir_led.off()
time.sleep_us(26) # ~38kHz period
ir_led.off()
lcd.print('Sent!', 10, 100)
time.sleep(1)
# Main loop
while True:
lcd.clear()
lcd.print('Press A: Learn', 10, 20)
lcd.print('Press B: Send', 10, 60)
if btnA.isPressed():
learn_ir()
# Button B not used in this simple example, but you can add
time.sleep(0.2)
この作り方はAIが構成から生成したものです(未検証)。通電前に配線とコードをご確認ください。
この構成はAIが実在するM5Stack部品から設計し、ポート互換をサーバで検証したものです。編集・共有できます。
エディタで開く →UnitKit は M5Stack® 製品向けの非公式ツール。作りたいものを書くと、部品リストと配線図が出ます。