…L@i‡Û1.ºäX K"Y^ÒšTy"È¡a"²*µöz½0uü°êN(x`¶X@Rø!ß?ûE8ûh…Eä¢ù­pD23ž ¹ œ¼*ìdjr©¯³Ø*ÇobõèÏÌŽ,ÿFƒáÇ3}BlY™§dbodyyŒ タミヤã®ãƒ­ãƒ¼ãƒªãƒ³ã‚°ãƒ­ãƒœã®èµ¤å¤–線リモコンãŒNECフォーマットã¨åˆ¤æ˜Žã—ãŸã®ã§ã€ã‚«ã‚¹ã‚¿ãƒžãƒ¼ã‚³ãƒ¼ãƒ‰ã¨ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦èµ¤å¤–ç·šLEDを使ã£ã¦ç™ºä¿¡ã™ã‚‹ãƒ—ログラムを作りã¾ã—ãŸã€‚


1ã¤ã®èµ¤å¤–ç·šLEDã§ãƒ¢ãƒ¼ã‚¿ãƒ¼ã‚’制御ã—ã¦ã„る様å­

赤外線LEDã¯ã€èµ¤å¤–ç·š(波長850nm)ã§å…‰ã‚‹LEDã®ä¸€ç¨®ã€‚
付ã‘ãŸã‚Šæ¶ˆã—ãŸã‚Šã™ã‚‹ã“ã¨ã§ä¿¡å·ã‚’é€ã£ã¦ã„ã¾ã™ã€‚

NECフォーマットã§ã¯ã€1ç§’ã«3.8万回ã®ç‚¹æ»…(38kHz)ãŒåŸºæœ¬ã€‚
次ã®IchigoJam BASICã®é«˜é€Ÿã‚¨ãƒ«ãƒã‚«ãƒ—ログラムã§ã‚‚・・・

1 LED1:WAIT1 2 LED0:WAIT1 3 GOTO1

ã“れã§ã€1ç§’é–“ã«ç´„30回ã€30Hzエルãƒã‚«ã€‚ã“ã®1000å€é€Ÿã点滅ã•ã›ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

1ç§’é–“ã«5000万回計算ã§ãã‚‹100円コンピューターãã‚“ãŒæœ¬æ°—を出ã›ã‚‹è¨€èªžã€ãƒžã‚·ãƒ³èªžã®ç™»å ´ï¼

@ON R1=22 @ON_LOOP [R3]L=R4 GOSUB @WAIT631 [R3]L=R6 GOSUB @WAIT631 R1-=1 IF !0 GOTO @ON_LOOP RTN @WAIT631 R5=154 R5-=1 IF !0 GOTO -1 RET

レジスタR3ã«ã€LEDãŒã¤ãªãŒã£ã¦ã„ã‚‹OUTãƒãƒ¼ãƒˆã‚’制御ã™ã‚‹ãƒ¡ãƒ¢ãƒªãƒžãƒƒãƒ—ドI/Oã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã€R4ã«ONã€R6ã«OFFã®å€¤ã‚’セットã—ã€ä¸Šè¨˜ãƒ—ログラムã§38kHzエルãƒã‚«ã•ã›ã¾ã™ã€‚

631サイクル待ã¤ã‚µãƒ–ルーãƒãƒ³ã€@WAIT631を使ã£ã¦38kHzを実ç¾ã€‚メモリã¸ã®ä»£å…¥ã«2サイクルを加ãˆãŸã€633サイクルã¯ã€48MHzã§37.9kHz。(48*1000*1000)/633/2 = 37914(Hz)。(å‚考ã€ãƒžã‚·ãƒ³èªžã¨ã‚µã‚¤ã‚¯ãƒ«æ•°ã¯ã€Cortex-M0 Armマシン語表より)

カスタマーコードを上ä½8bitã€ãƒ‡ãƒ¼ã‚¿ã‚’下ä½8bitã«ã‚»ãƒƒãƒˆã—ã¦ã€OUT1ã«ã¤ãªã„ã èµ¤å¤–ç·šLEDを使ã£ã¦ã€NECフォーマットã§é€ä¿¡ã™ã‚‹ãƒžã‚·ãƒ³èªžã‚’作りã¾ã™ã€‚

U=USR(AD,0x0015)

データを入力ã™ã‚‹ã¨é€ä¿¡ã™ã‚‹ã€IchigoJam BASICã«ã—ãŸãƒ—ログラム全文ãŒã“ã¡ã‚‰ã€‚

10 POKE#700,112,181,114,182,255,38,1,70,49,64,204,67,52,64,5,10,53,64,234,67,50,64,32,6,11,4,24,67,19,2,24,67,40,67,80,35,27,2,1,51,27,4,4,51,1,36,0,38,172,33,73,0,28,96,0,240,45,248,30,96,0,240 20 POKE#73E,42,248,1,57,247,209,172,33,0,0,0,0,0,240,35,248,0,0,0,0,0,240,31,248,1,57,245,209,33,34,22,33,28,96,0,240,24,248,30,96,0,240,21,248,1,57,247,209,22,33,32,66,0,208,66,33,0,0,0,0,0,240 30 POKE#77C,11,248,0,0,0,0,0,240,7,248,1,57,245,209,64,8,1,58,229,209,98,182,112,189,154,37,1,61,253,209,112,71 40 M=#00:INPUT C:GSB@C:CONT 50 @C:?USR(#700,M<<8+C):RTN

ã“ã¡ã‚‰ãŒç”Ÿæˆå…ƒã®asm15マシン語ã®ãƒ—ログラムã§ã™ã€‚

@INIT PUSH {LR,R4,R5,R6} ' レジスタä¿å­˜ CPSID ' 割り込ã¿ç¦æ­¢ ' IN : R0 = 0xMMCC (MM=メーカー8bit, CC=コマンド8bit) ' OUT: R0 = [~cmd_sw][cmd_sw][~mfg_sw][mfg_sw] ' regs used: R0-R6 only R6=255 ' 0xFF マスク R1=R0 R1&amp;=R6 ' R1 = cmd R4=~R1 R4&amp;=R6 ' R4 = cmd_inv R5=R0&gt;&gt;8 R5&amp;=R6 ' R5 = mfg R2=~R5 R2&amp;=R6 ' R2 = mfg_inv ' out = (cmd_inv&lt;&lt;24)|(cmd_sw&lt;&lt;16)|(mfg_inv&lt;&lt;8)|mfg_sw R0=R4&lt;&lt;24 R3=R1&lt;&lt;16 R0|=R3 R3=R2&lt;&lt;8 R0|=R3 R0|=R5 @SEND ' R0 LSBã‹ã‚‰32bité€ã‚‹ãƒ‡ãƒ¼ã‚¿ R3=#50 ' OUT1 ã® address PIO1_0 R3=R3&lt;&lt;8 R3+=1 R3=R3&lt;&lt;16 R3+=`00000100 'PIO1_0 R4=1 'PIOオン用 R6=0 'PIOオフ用 @HEADER @ON_H R1=172 R1=R1&lt;&lt;1 ' 2å€ @ON_LOOP_H [R3]L=R4 GOSUB @WAIT631 [R3]L=R6 GOSUB @WAIT631 R1-=1 IF !0 GOTO @ON_LOOP_H @OFF_H R1=172 @OFF_LOOP_H NOP NOP GOSUB @WAIT631 NOP NOP GOSUB @WAIT631 R1-=1 IF !0 GOTO @OFF_LOOP_H @BODY R2=33 'カウンタ 33回回㙠@ON R1=22 ' 11x2 固定 @ON_LOOP [R3]L=R4 GOSUB @WAIT631 [R3]L=R6 GOSUB @WAIT631 R1-=1 IF !0 GOTO @ON_LOOP @OFF R1=22 ' 0ã®ã¨ã11x2ã€1ã®ã¨ã33x2 R0&amp;R4 'R4=1 IF 0 GOTO @OFF_LOOP R1=66 @OFF_LOOP NOP NOP GOSUB @WAIT631 NOP NOP GOSUB @WAIT631 R1-=1 IF !0 GOTO @OFF_LOOP R0=R0&gt;&gt;1 R2-=1 IF !0 GOTO @ON @END CPSIE ' 割り込ã¿è¨±å¯ POP {PC,R4,R5,R6} ' RET @WAIT631 'use R5 R5=154 ' 1cycle '(48000/38/2=631 - overhead 5cycle (+10/2) - 5) / 4 = 154 R5-=1 ' 1 cycle IF !0 GOTO -1 ' 分å²ã™ã‚‹ã¨ã3cycle ã—ãªã„ã¨ã1 - 4*loop-2 = 618 RET ' 3cycle

ã¾ãšã‚«ã‚¹ã‚¿ãƒžãƒ¼ã‚³ãƒ¼ãƒ‰ã€ãƒ‡ãƒ¼ã‚¿ã‚³ãƒ¼ãƒ‰ã‹ã‚‰å転付ãã®32bitã®é€ä¿¡ç”¨ãƒ‡ãƒ¼ã‚¿ã‚’作æˆã—ã€ãƒ˜ãƒƒãƒ€ãƒ¼é€ä¿¡ã€33回ループã§ä¿¡å·é€ä¿¡ã¨ç¶šã‘ã€BASICã«åˆ¶å¾¡ã‚’戻ã—ã¦ã„ã¾ã™ã€‚R4ã‹ã‚‰R6ã¯ã‚¹ã‚¿ãƒƒã‚¯ã«ç©ã‚“ã§ãŠãã€åˆ¶å¾¡ã‚’è¿”ã™æ™‚ã«å…ƒã®å€¤ã«æˆ»ã—ã¾ã™ã€‚

赤外線リモコンã§å‹•ã家電を探ã—ã¦ã€ã„ã‚ã„ã‚éŠã‚“ã§ã¿ã‚ˆã†ï¼

links
- IchigoJamã§èµ¤å¤–線リモコンNECフォーマットをデコードã€ã‚¿ãƒŸãƒ¤ãƒ­ãƒ¼ãƒªãƒ³ã‚°ãƒ­ãƒœåˆ¶å¾¡ã‚³ãƒ¼ãƒ‰ä¸€è¦§ - IchigoJamã§ä½œã‚‹IoT学習リモコンã€å¤ã„エアコンもスマホ制御ã§å¿«é©ã«ï¼ インターン生も芸人ã•んも楽ã—ã„プログラミング入門ã¨ãƒžã‚·ãƒ³èªž
- タミヤã®ãƒ­ãƒ¼ãƒªãƒ³ã‚°ãƒ­ãƒœã¨ãƒ¬ã‚´ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯é€£çµæ²»å…·
- 赤外線リモコンã®é€šä¿¡ãƒ•ォーマット
ddates2026-02-07T23:55:00bidQcimgxKhttps://img.sabae.cc/data/20260207/488474b6-36bf-424b-88eb-908e2f4d3937.jpgdtagso#IchigoJam #asmetitlexWIchigoJam上ã®ãƒžã‚·ãƒ³èªžã§èµ¤å¤–線リモコンNECフォーマットをé€ä¿¡ã™ã‚‹curlxhttps://fukuno.jig.jp/4945