
ããã«ã¡ã¯ãHabrïŒ ãã©ã€ãã䜿çšããLCDã¢ãžã¥ãŒã«ã®ç®¡çã«é¢ããèšäºã翻蚳ããŸããããèªåã®ãããªRAMããªããããåããããã¯ã«é¢ããå¥ã®åºçç©ã翻蚳ããããšã«ããŸããã ããã§ã¯ãã¢ãžã¥ãŒã«ã¯ãã§ã«ã·ã³ãã«ã§ãã¢ãã¯ãã§ãããã埩掻ããããã®ããããããã§ãã
ãã©ã€ããŒãããã³ã³ãããŒã©ãŒãªãã®LCDã³ã³ãããŒã«
èè ã䜿çšãããã£ã¹ãã¬ã€ã¯ãå€ãããŒãã©ã€ãã©ãªããååŸãããŸãã ã³ã³ãããŒã©ãŒã¯çãæ®ããŸããã§ããããã263645-001ãã«é¢é£ãããã®ãæ€çŽ¢ãããšãFPGAãããããšãããããŸããã Arduinoãªã©ãããã®ãããªLCDã¢ãžã¥ãŒã«ãçŽæ¥å¶åŸ¡ãããšèããããŠããŸãã äžå¯èœã§ããäžéãªã³ã¯ãå¿ èŠã§ããSEDxxxxxã·ãªãŒãºã³ã³ãããŒã©ã¯ããã¬ããããŒããšãå奜çãã§ã¯ãªããã¢ãžã¥ãŒã«èªäœãããå€ãã®å ¥åããããŸãã ããããããã¯ããã§ã¯ãããŸããã 以äžã«ã4ã€ã®åæ§ã®ãããžã§ã¯ãã瀺ããŸãã
ATmega8515ã§
ãã®äžã«
åçäž
ESP32ã§
ãããŠãäžè¬çã«ããã€ãã¯8ãããAVR VGAã¢ãã¿ãŒãå¶åŸ¡ããŸã...
äžè¬çã«ãäœè ã¯æåããŸãããMITã©ã€ã»ã³ã¹ã®ãœãããŠã§ã¢ã¯ãã¡ãã§ãã
éæ¢ç»
ãã¹ãŠãæ©èœããããšã確èªããã«ã¯ãæåã«ãã€ã¯ãã³ã³ãããŒã©ã®ãã©ãã·ã¥ã¡ã¢ãªããã·ã³ã°ã«ãããã©ã¹ã¿ãŒã€ã¡ãŒãžãåºåããå¿ èŠããããŸãã è² ã®é»å§ãåŸãã«ã¯ã3ã€ã®ãã¯ããŒã³ããåããåå§åšããã®é»å§ãããªãã³ã°æµæãšããŠV0端åã«å°å ããŸããã ãããŠããã®ç»é¢ã«ã¯LennaãããŸãïŒ

äœè ã¯ãåçãã©ã®ããã«è£è¿ããããç解ã§ããŸããïŒã±ãŒãã«ãã©ã¡ãåŽã«ããããèŠãŠãã ããïŒã ãããã«ãããGitHubã®ãããžã§ã¯ãããŒãžã«ãã®äŸããããŸãã
ããã¹ãã¢ãŒã
ãããããããªROMã¯ã»ãšãã©åœ¹ã«ç«ãããArduinoã«ã¯ãããªRAMçšã«9600ãã€ãã¯ãããŸããã ããã¹ãã¢ãŒãã¯ããã£ã©ã¯ã¿ãŒãžã§ãã¬ãŒã¿ãŒã®ROMãšãããªRAMãçµã¿åããããã®ããã°ã©ãã£ãã¯ã¢ãŒãã®ãããªRAMãããå°ãããªããŸãã ã«ã¶ãã¹ã¿ã³å ±ååœãšãã¹ãã·ã£ãªã¹ããã®æ¯æè ã¯ããã®åé¡ã«ã€ããŠããç¶ããããšãã§ããŸãã

AVRã¢ã»ã³ããªèšèªã®çãäŸïŒ
... lpm r24, Z ;---------- (CL2 rising edge) out %[data_port], r24 ld r30, X+ swap r24; (CL2 rising edge) out %[data_port], r24 lpm r24, Z ;---------- (CL2 rising edge) out %[data_port], r24 ...
å¿ èŠãªããŒããŠã§ã¢

F-51543NFU-LW-ADN / PWB51543C-2-V0ã¢ãžã¥ãŒã«ã«ã€ããŠãèè ã¯ä»¥äžãé©çšããŸããã
16 MHzã®ã¯ããã¯åšæ³¢æ°ã®AVRäžã®ArduinoïŒUnoãLeonardoãããã³ProMicroã«é¡äŒŒããã¯ããŒã³ã§ãã¹ãæžã¿ïŒã
è² é»å§ã®ãœãŒã¹ã èè ã«ãšã£ãŠãããã¯å ¥åãšåºåã®çµ¶çžãåããäžå®å®ãªDC-DCã³ã³ããŒã¿ãŒA0524S-1Wã§ãã MC34063ã®ã³ã³ããŒã¿ãŒãé©ããŠããŸãïŒãã®ãããã¯éåžžã«ç°¡åã«èŠã€ãããŸã-ã·ã¬ãŒã©ã€ã¿ãŒçšã®æãå®ãUSBå é»åšãå解ããã ãã§ãïŒãŸãã¯MAX749ã å®å®åã¯å¿ èŠãããŸãããããã§äœ¿çšãããã¢ãžã¥ãŒã«ã®ãã®å ¥åã§ã®èš±å®¹é»å§ã®ç¯å²ã¯éåžžã«åºãã§ãã å ¬ç§°å€ã¯ââãã€ãã¹24 Vãæ倧å€ã¯å ±éç·ã«å¯ŸããŠãã€ãã¹30ãVddãšVeeã®éã¯35ã§ãã æ¶è²»é»æµã¯6 mAã§ãã
ããžãã¯ã¬ãã«å¶åŸ¡ãåãã2ã€ã®Nãã£ãã«MOSFETã èè ã¯IRL530nã䜿çšããŸããããã¡ãããäŸçµŠéã¯å€§ããã§ãããçãå°œããããšã¯ãããŸããã 1ã€ã®ãã©ã³ãžã¹ã¿ã¯ããã¯ã©ã€ããå¶åŸ¡ãããã1ã€ã®ãã©ã³ãžã¹ã¿ã¯è² ã®é»å§æºãå¶åŸ¡ããŸãã
å ¥åV0ã«é»å§ãäŸçµŠããããã®250kΩããªãã³ã°æµæã å¯åæ¥ç¹ã§+25°Cã®æž©åºŠã§-16.8 Vã«ãªãããã«èšå®ããŸãã ããã¯ããŒã¿ã·ãŒãããã®ãã®ã§ããããããã¡ããããã®ãããªç²ŸåºŠã¯å¿ èŠãããŸããã
ããã€ãã®10ãããªãŒã ã®ãã«ããŠã³æµæã
ã¬ã€ã¢ãŠããšãžã£ã³ããŒã
ä»äœãããŸããïŒ QRãŠã©ããïŒ ã³ãã«èãïŒ

Koteã¯ãã³ã³ãããŒã©ãŒã䜿çšããŠäžè¬çãªLCDã®ã·ãã¥ã¬ãŒã·ã§ã³ãå®è£ ããããšãææ¡ããŠããŸãã ãã®ãããHD44780ã®ãã£ã¹ãã¬ã€ã§æ©èœããå¥ã®ãæèããããã®Arduinoã«æ¥ç¶ããããšãã§ããŸãã
ãã©ã³ã-RAM
EGAãšVGAã®äŸãåãäžããŸã-ããã§ãããã¹ãã¢ãŒãã§äœæ¥ããŠãããšããããã¯ãŸãã«ããã§ããã ããã§ã¯64æåãããããŸããã§ããããã°ã©ãã£ãã¯ã¢ãŒããšã¯ç°ãªããå°ãªããšããã¹ãŠãRAMã«å ¥ããããŸããã 確ãã«ãã€ãã³ãã®ã¡ã€ã³ãµã€ã¯ã«ã¯é ããªããŸããããã¿ã€ã«ã°ã©ãã£ãã¯ãè©Šãããšãã§ããŸãã

ã°ã©ãã£ãã¯ã¢ãŒããšããŒãããŒã³
AVRäžã®Arduinoã«ã¯ããã»ã©å€ãã®RAMã¯ãããŸãããããããã€ã³ãã§ãã ã¡ã¬ã§ãã ãã¯ã»ã«ããã1ãããã§ã320x240-ãã§ã«9600ãã€ãã§ãã 2åå¿ èŠãªã®ã¯4ã€ã®ããŒãããŒã³ã ãã§ãã ããšãã°ãSQIã¢ãŒãã®23LC512ãªã©ã®å€éšRAMã䜿çšãããšãDMAã«äŒŒããã®ãå®è£ ããããšãã§ããŸãããESP32ã§ãã¹ãŠãåäœæããã»ããç°¡åã§åçæ§ãé«ããªããŸãã
ãã®ãããªãã£ã¹ãã¬ã€ãUSBçµç±ã§PCã«æ¥ç¶ãããã ããªããATmega32u4ã䜿çšããŠè©ŠããŠã¿ãŠãã ãã-èŒåºŠã®ã°ã©ããŒã·ã§ã³ã«ãååãªãªãœãŒã¹ããããŸãïŒFRCã䜿çšããŠã以åã®ç¿»èš³ã§èª¬æããŠããŸãïŒã ããããã€ã³ã¿ãŒãã§ã€ã¹ã³ã³ããŒã¿ãŒãšããŠäœ¿çšããããã¡ã¬ãã§ã¯ãªããæ¯ç§5.4ã¡ã¬ãããã®é床ã§ãªã³ã¶ãã©ã€ã§LCDãã¹ãã£ã³ããPCã䜿çšããŸãã
ã¢ãžã¥ãŒã«ããŸã ããŒãã©ã€ãã©ãªã«ãã£ããšããGUIãšæããã®ã°ã©ããŒã·ã§ã³ããããŸãã-ãã¹ãŠãããã«ãããŸããã
æŽæ°ãããŸãã ãããŸã§ã®é...

ããã¯ãã©ãã¢ã³ã¿ãŒãžã¥ã§ã¯ãªããPCããã®å¶åŸ¡ã®çµæã§ãã ãããŠãHackaday.ioããGitHubã«åãæ¿ããŸããREADME.mdã«ã¯ãŸã å€ãã®èå³æ·±ãããšããããŸãã
ãã®ãããªã¢ãžã¥ãŒã«ãå¶åŸ¡ããããã®ä¿¡å·
FLM-æåã®è¡ããŒã«ãŒ-æåã®è¡ããŒã«ãŒãFRAMEãVSYNCãªã©ãšãåŒã°ããŸãã
CL1-è¡ã©ãããã«ã¹-ã©ã€ã³æžã蟌ã¿ãã«ã¹ãšãåŒã°ããŸãã LOADãHSYNCãªã©
CL2-ãã¯ã»ã«ã·ããã¯ããã¯-ãã¯ã»ã«å€æŽãã«ã¹ã CPïŒãã¯ã»ã«ã®å€æŽïŒãªã©
M-亀æµé»å§ã«ãã£ãŠãã¯ã»ã«ãå¶åŸ¡ããã亀æµä¿¡å·ã¯ãBIASïŒãã€ã¢ã¹ïŒãªã©ãšãåŒã°ããŸãã
D0-D3ã¯4ãããã®ãã©ã¬ã«ããŒã¿ãã¹ã§ãã
å ±éç·ãããã¯ã©ã€ãé»æºïŒäŸïŒVLED±ïŒãã¢ãžã¥ãŒã«é»æºïŒVEEããã³V0ïŒã®ãªãŒã
ããŒã¿ã·ãŒããç¡èŠããªãã§ãã ããã ã¢ãžã¥ãŒã«ã¯å¥ã®è² é»å§ãå¿ èŠãšããããæ£ã§ããããšãå€æããããã³ã³ããŒã¿ãçµã¿èŸŒãŸããŠããå ŽåããããŸãã ããžãã¯ã¯ç°ãªãå ŽåããããŸããããšãã°ãCL1ã®ãŠãããã§ã¯CL2ã«åå¿ããããŸããã å¥ã®ããã¯ã©ã€ãïŒLEDã®ä»£ããã«CCFLïŒæ éã«ã€ã³ããŒã¿ãŒããåããïŒïŒãããããããŒãã«ãã³é åããªããããããŒã¿ã·ãŒããªãã§ã¯ããããŸããã ã©ã³ãã ã«æ¥ç¶ããããšã¯ã§ããŸããã
äœããã¹ãã
æååã4ãããåäœã§éä¿¡ãããšãã©ã€ã³CL2ã§æžå°ãèšé²ãããŸãã è¡ãæž¡ããåŸãCL1è¡ã®äžæ³ãæžãçããŸãïŒãããçµå±ã®ãšãããã¢ãžã¥ãŒã«å ã«å°ãã®RAMããããŸã-1è¡ã§ãïŒã 次ã®è¡ãèªåçã«éžæãããŸãã ãã¬ãŒã å šäœãéä¿¡ããåŸãFLMä¿¡å·ã䜿çšããŠæåã«æ»ããŸãã LC79401ã®ããŒã¿ã·ãŒãã«äŸããããŸãã ååãªé床ã§èšé²ãããã«ã¹ãCL1ã«åçã«å°å ããŸãã ã³ã³ãããŒã©ãŒã¯å°ãheããŸãã-ç»é¢ãtheãç¹æ» ããŸããã
åãã¬ãŒã ã®åŸã«ãå ¥åMã®è«çã¬ãã«ãå察ã«å€æŽãããã¯ã»ã«ã亀æµé»å§ã«ãã£ãŠå¶åŸ¡ãããããã«ããŸãã ããããªããšããã£ã¹ãã¬ã€ãå£åããŸãã
ãã®æäœããã€ã¯ãã³ã³ãããŒã©ãŒã«ä¿¡é Œããããšã¯ã§ããŸããããã«ãŠã³ãå¯èœãªããªã¬ãŒãé 眮ããŸãã FLMãžã®å ¥ãå£ãMãžã®åºå£-äžè¬ã«ãç解ã§ããŸãã
ãã©ãã·ã¥ã¡ã¢ãªããç»åãåºåããäŸïŒèšäºã®åé ãåç §ïŒã¯ããã®ãªããžããªã§åŒã³åºãããŸãclglcd_simple
ãã§ã«è¿°ã¹ãããã«ãAVRäžã®Arduinoã®RAMã§åãããšãè¡ãããšã¯äžå¯èœã§ã-ãããã£ãŠãååã§ã¯ãããŸãã...
ãããŠåã³-ããã¹ãã¢ãŒã
ããŒã¿ã·ãŒãã«ããã°ã4ããããã¹ã§ããŒã¿ãéä¿¡ããæ倧6 MHzã®åšæ³¢æ°ã§CL2ãããã«ãã§ããŸãã ãããã£ãŠãã©ã€ã³ãè¿ éãã€è¿ éã«è»¢éãããã€ã¯ãã³ã³ãããŒã©ãŒãä»ã®ã¿ã¹ã¯ãå°ã解決ããã¿ã€ããŒãããããäŒããããšãCL1ããåŒããããµã€ã¯ã«ãç¹°ãè¿ããŸãã
320ãã¯ã»ã«ã®æ°Žå¹³è§£å床ã®æåãçæããå Žåãããã¯ãã¹ãŠ20ÎŒsã§å®è¡ã§ããŸãïŒ320ãã¯ã»ã«/ 4ããã= 80ãã«ã¹ãåšæ³¢æ°4 MHzã§CL2ãããã«ãïŒã æ®ãã®ã¿ã¹ã¯ã§ã¯ã39.5ÎŒsãæ®ããŸãã CL1ã¯59.5ÎŒsããšã«ããžã£ãŒã¯ããã70 Hzã®ãã¬ãŒã ã¬ãŒããååŸããŸãã ããŠãå²ã蟌ã¿ãªã©ãåŠçããä»ã®æé ããããŸããäžè¬ã«ããã€ã¯ãã³ã³ãããŒã©ãŒã¯æéã®45ïŒ ã§ãã£ã¹ãã¬ã€ã®å¶åŸ¡ã«å¿ãããªããŸãã ãå šäœã45ãŸãã¯ãåèšã45ïŒ ãããã2çªç®ïŒãããªRAMã®ããŒã¿ã®äžæžãã¯ååã«é«éã§ãã
ãã€ã¯ãã³ã³ãããŒã©ãŒãã€ã³ãžã±ãŒã¿ãŒã®ç®¡çã«è²»ããæéãççž®ããä»ã®ã¿ã¹ã¯ã«ããå€ãè²»ããããã§ããïŒ ãã¬ãŒã ã¬ãŒãã50 Hzã«äžãããã€ã¯ãã³ã³ãããŒã©ãŒã20 MHzã«ãªãŒããŒã¯ããã¯ã§ããŸãã ãããã®ãããã®æ¹æ³ã§ããå²ã蟌ã¿ã«ãŒãã³éã§ããå€ãã®ã¯ããã¯ãµã€ã¯ã«ãçºçããŸãã
åºåæ¯èŒã¿ã€ããŒã¯ããã¥ãŒãã£ãµã€ã¯ã«ã50ïŒ ã®4ã¯ããã¯ãã«ã¹ããšã«CL2ã©ã€ã³ãåãæ¿ããŸãã åæã«ãããŒã¿ã¯PORTBããŒãã®åºåã«å°çããã¢ãžã¥ãŒã«ã®4ãããããŒã¿ãã¹ã«æ¥ç¶ãããã¬ãã«ãCL2ã«äžæããç¬éã«å€åãçããäžéæã«ã¯å€åããªãããã«ããŸãã ãã¡ãããããã¯ã¢ã»ã³ãã©ãŒãªãã§ã¯å®è¡ã§ããŸããã
... lpm r24, Z ;---------- (CL2 rising edge) out %[data_port], r24 ld r30, X+ swap r24; (CL2 rising edge) out %[data_port], r24 lpm r24, Z ;---------- (CL2 rising edge) out %[data_port], r24 ...
8ãµã€ã¯ã«-4ã€ã®ããã«ãéä¿¡ãããŸãã æ£ç¢ºã«äœãéä¿¡ãããã¯ã察å¿ãããããªRAMã»ã«å ã®ã·ã³ãã«ããã®ã·ã³ãã«ã«å¯Ÿå¿ãããã¯ã»ã«ããã£ã©ã¯ã¿ãŒãžã§ãã¬ãŒã¿ãŒROMãã転éããå¿ èŠããããã®ãããã³ãã®ROMã®å¯Ÿå¿ããã»ã«ã«æ ŒçŽãããã®ã«ãã£ãŠç°ãªããŸãã
ããã§æãäžäŸ¿ãªã®ã¯ãæ£ç¢ºã«80ãã«ã¹åŸã«ã¿ã€ããŒãåæ¢ããå¿ èŠãããããšã§ãã 32u4ã®Timer4ãªã©ã®äžéšã®ã¿ã€ããŒã¯ã§ããŸããã
èè ã¯ãCL1ã©ã€ã³ã«äŸçµŠãããä¿¡å·ãååŸããããã«ãã¿ã€ããŒãšé«éPWMã®äž¡æ¹ã察象ãšãããã€ã¯ãã³ã³ãããŒã©ãŒã®ç°ãªãåºåãé©çšããŸããã ãããã®ã©ããããã§é©çšããããã¯ç解ã§ããŸãã 952å°ç¯ããšã«åãæ¿ãããŸãã ãŸãã¯ãã¯ããã¯ååšåšã®åŸã«8ãã«ãŠã³ããããšã119ãã«ã¹ããšã«ã«ãŠã³ããããŸãã ãã®æç¹ã§ãå²ã蟌ã¿åŠçã«ãŒãã³ãéå§ãããã€ã¯ãã³ã³ãããŒã©ãŒãå¶åŸ¡ã©ã€ã³ã«æ°ããããŒã¿ãéä¿¡ããããã«åŒ·å¶ããŸãããã®ããŒã¿ã¯ãCL1ãžã®æ¬¡ã®ãã«ã¹ã§å¿ èŠã«ãªããŸãã ããŠãMã©ã€ã³ã®ã¬ãã«ã¯ååã®åšæ³¢æ°ã§å€åããŸãã ãŸããLCDã¯å£åããŸããã ãã¹ãŠã®ä¿¡å·ã¯æ¬¡ã®ããã«ãªããŸãã

æåãžã§ãã¬ãŒã¿ã¯256æåã§æ§æãããŸã-866ãKOI-8RããŸãã¯1251ã«ååã§ãã40xNæåããããªRAMã«é 眮ãããŸããNã¯æåã®é«ãã«å¿ããè¡æ°ã§ãã ã·ã³ãã«ã®å¹ ã¯åžžã«8ãã¯ã»ã«ã§ãé«ãã¯6ã8ã10ã12ã15ã16ã§ãããããå°ããã»ã©ããã£ã©ã¯ã¿ãŒãžã§ãã¬ãŒã¿ãŒã«å¿ èŠãªROMãå°ãªããªãããããªRAMãå¢ããŸãã 8x8ãã©ã³ãïŒ30è¡ããã40æåïŒã§ã¯ã1200ãã€ãã®RAMãš2048ãã€ãã®ROMãå¿ èŠã§ãã 8x16ãã©ã³ãïŒãã®ã¢ãžã¥ãŒã«ã§æé©ã«èŠããïŒã§ã¯ãRAMã«600ãã€ããROM 4096ãå¿ èŠã§ãããã©ã³ã¹ã¬ãŒã¿ãŒããïŒãã©ã³ãã8x8ã®åœ¢åŒã§ä¿åããããã°ã©ã ã§åçŽæ¹åã«ååã«æ¡å€§ãã600ãã€ãã®RAMãš2048 ROMã䜿çšã§ããŸãã è€æ°ã®ãã©ã³ããROMã«ä¿åããã«ã¯ããã©ã³ãã®éå§ã¢ãã¬ã¹ãå®æ°ã§ã¯ãªãå€æ°ã«ä¿æããå¿ èŠããããŸããããã£ã¹ãã¬ã€ãžã®ãã¯ã»ã«ã®è»¢éäžã«å²ã蟌ã¿åŠçæé ã«ãã£ãŠçŽæ¥ãã®ã¢ãã¬ã¹ãçŽæ¥å€æŽããªãéããäžåºŠã«è€æ°ã®ãã©ã³ãã§ããã¹ããå°å·ããããšã¯ã§ããŸããã
ãã©ã³ãã¯æ¬¡ã®ããã«ä¿åãããŸããæåã¯256æåãã¹ãŠã®äžçªäžã®è¡ã次ã«1è¡äžãªã©ã§ãã ãªããžããªã®miscãã©ã«ããŒã«ã¯Pythonã¹ã¯ãªããããããå¿ èŠãªåœ¢åŒã®PROGMEMé åã䜿çšããŠTTFãã©ã³ããclglcd_font.hããããŒãã¡ã€ã«ã«èªåçã«å€æããŸãã CC-BY-SA 4.0ã®ã¯ã©ã·ãã¯ãã¯ã»ã«ãã©ã³ãã¯ãã¡ãã«ãããŸã ã
ãããŠåã³-EGAãšVGAãäŸã«åããŸã
ããããä»åã¯è©³çŽ°ããããŸãã äžèšã®ããã«ãRAMå ã®æåãžã§ãã¬ãŒã¿ãŒã¯åèš64æåãå容ãã0ãnãŸãã¯255-nã255ã®æ°åã§èå¥ã§ããŸãããããã¯åãæ¹æ³ã§æ ŒçŽãããŸãããã¹ãŠã®æåã®å é è¡ã次ã®ããã«ã ãã®ãã¹ãŠããæåã256ã§ã¯ãªã64ã§ãããšããäºå®ãèæ ®ããŠèª¿æŽãããŸãã8x16ãã¯ã»ã«ã®æåã®å Žåã16 * 64 = 1024ãã€ããå¿ èŠã§ãã ãªããžããªã«ã¯ãRAMå ã®æåãžã§ãã¬ãŒã¿ãŒã䜿çšããäŸããããŸãã
äž¡æ¹ã®æåãžã§ãã¬ãŒã¿ãŒ-ROMã§256æåãRAMã§64æåãåæã«äœ¿çšããå ŽåãRAMãå°ãªããªãã ãã§ãªããã¢ãžã¥ãŒã«ã®ã©ã€ã³ã®ããŒã¿è»¢éé床ãäœäžããããšãåãå ¥ããå¿ èŠããããŸã-8ã¯ããã¯ãµã€ã¯ã«ã®ä»£ããã«ã2ã€ã®ããã«ã«ã¯12ãå¿ èŠã«ãªããŸãã€ãŸãã20ÎŒsã§ã¯ãªã30ã§ããã45ïŒ ã®ä»£ããã«LCDãå¶åŸ¡ããã®ã«60æéãããããŸãã
ããŒãããŒã³ã°ã©ãã£ãã¯ã¹
äžèšã®ããã«ããã®å Žåããã€ã¯ãã³ã³ãããŒã©ãŒã¯åã«ã€ã³ã¿ãŒãã§ã€ã¹ã³ã³ããŒã¿ãŒãšããŠæ©èœããŸãã ATmega32u4ãå¿ èŠã«ãªããŸã ãäœããã¹ããã¯ããã§èª¬æãããŠããŸã ã ã¢ãžã¥ãŒã«ã¯ãPCäžã®ããã°ã©ã ã®ããªãŒãºã«ããå£åããå¯èœæ§ãããããšã«æ³šæããŠãã ããã
ããã§ããã®4ç·åŒã«ãŒããšã¯äœã§ãã-æµæã»ã³ãµãŒãããããã¯å€æããŸããã
æ¥ç¶å
äžèšã®ããã«ãè² ã®é»å§ãå¿ èŠã§ããããã¯ãæåã®å®éšã§3ã€ã®ãã¯ããŒã³ãããåé€ããŠãããããšãã°MAX749ã§ã³ã³ããŒã¿ãçµã¿ç«ãŠãããšãã§ããŸãã é»åå¶åŸ¡ä¿¡å·ãšDISPOFFä¿¡å·ïŒããã¯éä¿¡å·ã§ãã¢ãžã¥ãŒã«ã¯1ã€ã§ãªã³ã«ãªããŸãïŒãæµæããã«ããŠã³ããŸãã ãã€ã¯ãã³ã³ãããŒã©ãŒã®ãã©ãã·ã¥ããã³ãªã»ããäžã«ãè«çãŠãããã®å€èŠ³ãåãå ¥ããããªããªããŸãã
é»å§+ 5Vã®åŸã«è² ã®é»å§ãå°å ããDISPOFFã©ã€ã³ã«è«çãŠããããè¿œå ããŸã-ããŒã¿ããã§ã«å¶åŸ¡ã©ã€ã³ã«ååšããå ŽåïŒããŒã¿ãã¹äžã®å°ãªããšã1ã€ã®ãŠããããCL1äžã®ãŠãããã ããããªããšãã¢ãžã¥ãŒã«ã倱æããå¯èœæ§ããããŸãã
å ¥åD0ãD3ã¯ããã€ã¯ãã³ã³ãããŒã©ã®åãããŒãïŒPx4ãPx7ãªã©ïŒã®åºåã«æ¥ç¶ã§ããŸãããåºåPx0ãPx3ã¯GPIOãšããŠäœ¿çšã§ããŸããã ã¿ã€ããŒãã·ãªã¢ã«ã€ã³ã¿ãŒãã§ã€ã¹ãªã©ã®åºåãšããŠäœ¿çšãããªã©ãä»ã®æ©èœãå²ãåœãŠãããšãã§ããŸãã ããããå ¥åãšããŠäœ¿çšããå Žåã¯ã泚æããŠãã ããïŒãã«ãã€ã³ãã«ã¢ããæµæã¯ãç¡å¹ã«ãªã£ãŠããªãå Žåã¯ä»»æã«åãæ¿ããããšãã§ããŸãïŒPUD-ãã«ã¢ããç¡å¹ïŒã
å ¥åM-æ¯èŒã¿ã€ããŒãŸãã¯PWMã®åºåã
å ¥åCL1-åãã¿ã€ããŒã®å¥ã®åºåã
å ¥åCL2-å¥ã®æ¯èŒã¿ã€ããŒã®åºåãžã
FLM-ä»»æã®ããžã¿ã«åºåã
DISPOFF-ä»ã®ããžã¿ã«åºåãžã
æ®ãã¯ãã¢ãžã¥ãŒã«ã®èµ·åæ¹æ³ã«ãã£ãŠç°ãªããŸãã èè ã¯ãããã¯ã©ã€ããšVeeãå¥ã ã«å¶åŸ¡ããããšã奜ã¿ãŸãã
ãã¡ãŒã ãŠã§ã¢ã®äœ¿çšæ¹æ³
clglcd.hããã³clglcd.cppãã¡ã€ã«ãã¹ã±ããã«å ¥ããŸã
clglcd_config.hãã¡ã€ã«ã®ããã¯ã¢ããã³ããŒãäœæããæ¥ç¶å ãå¿ èŠãªæ©èœïŒRAMå ã®ãã£ã©ã¯ã¿ãŒãžã§ãã¬ãŒã¿ãŒãªã©ïŒãèæ ®ããŠç·šéããŸãã 泚æãã³ãŒãã¯Arduinoãã³ã®ååã§ã¯ãªããããŒã¿ã·ãŒãã«ãããšãã€ã¯ãã³ã³ãããŒã©ãŒãã³ã®ååã瀺ããŠããŸãã æ¯èŒãã€ããŒã®åºåã®ååã¯æ¬¡ã®ããã«è§£èªãããŸããããšãã°ã2ãBã¯OC2Bã§ãããArduino Unoã®PD3ã«å¯Ÿå¿ããŸãã ãã®äŸã¯ãäœæè ãç²åŸããæ¥ç¶ãªãã·ã§ã³ã瀺ããŠããŸãã
miscãã©ã«ããŒå ã®Pythonã¹ã¯ãªããã䜿çšããŠããã©ã³ããã¡ã€ã«clglcd_font.hãçæããŸãïŒäžèšãåç §ïŒã
ãã£ã¹ãã¬ã€ãåæåããªã³ããªãããæ¹æ³ã®äŸãåç §ããŠãã ããã 確èªã®ããã«è¡šç€ºããããã¹ããç»é¢é åã«å ¥ããŸãã
ã¹ã±ãããã³ã³ãã€ã«ããŠå¡ãã€ã¶ããŸãã æ£ããä¿¡å·ããã£ã¹ãã¬ã€ã«éãããããšãããžãã¯ã¢ãã©ã€ã¶ãŒã§ç¢ºèªãããã¹ãŠã®äŸçµŠé»å§ãæ£åžžã§ããããšãé»å§èšã§ç¢ºèªããŸãã ãã®åŸããã£ã¹ãã¬ã€ãæ¥ç¶ããŠãã ããã
äœããè¡ãã³ãŒããã¹ã±ããã«è¿œå ããŸããããšãã°ãã·ãªã¢ã«ããŒãã§ããã¹ããåä¿¡ããŠââ衚瀺ããŸãã
衚瀺ã®äžæ
ãã£ã¹ãã¬ã€ã¯çµ¶ããæŽæ°ãããå¿ èŠããããŸããããã¯ãå²ã蟌ã¿åŠçæé ãè¡ãããšã§ãã äžæã30ãã€ã¯ãç§ãè¶ ããŠåæ¢ãããšããã£ã¹ãã¬ã€ãç¹æ» ããFLMã©ã€ã³äžã®ãŠãããã§60ãã€ã¯ãç§ãè¶ ãããšã倱æããå ŽåããããŸãã å²ã蟌ã¿ãé·æéåæ¢ããå¿ èŠãããå Žåã¯ãæåã«DISPOFFä¿¡å·ã§ãã£ã¹ãã¬ã€ããªãã«ããŸãïŒç¹°ãè¿ããŸãããããã¯éä¿¡å·ã§ããã¢ãžã¥ãŒã«ã¯1ã€ãªã³ã«ãªããŸãïŒã ãã¡ããã湿床ãšæž©åºŠã®ã»ã³ãµãŒããã®ããŒã¿ãåŠçããå¿ èŠããããã³ã«2ç§éãªãã«ãªããšãããã奜ã人ã¯ã»ãšãã©ããŸããããã¢ãžã¥ãŒã«ãå°ç¡ãã«ããããã¯ãŸãã§ãã ããã«è¯ãã®ã¯ãæ®ããå¥ã®ãã€ã¯ãã³ã³ãããŒã©ãŒã«å é»ããããšã§ãã 1ç·ãããã³ã«ããã³ã¢ãã¬ã¹LEDã§åäœããããã€ã¹ãšåããã€ã¯ãã³ã³ãããŒã©ãŒã«ããæ å ±äº€æã¯ãç¹ã«åãå ¥ããããŸããã Arduino Pro Microã¯ããŒã³ã¯ã2ã€è³Œå ¥ã§ããã»ã©å®äŸ¡ã§ãã
ã³ãã¥ãã±ãŒã·ã§ã³
ãã ããããŒããŠã§ã¢ã§å®è£ ãããã€ã³ã¿ãŒãã§ã€ã¹ã¯å®å šã«æ©èœããŸããã·ãªã¢ã«ããŒããI 2 Cãã¹ããã¹ã¿ãŒã¢ãŒãã®SPIã§ãã ã¹ã¬ãŒãå -ãã¹ã¿ãŒã25ã35ÎŒsã®åšæçãªã¹ã¬ãŒãã®ãããŒã«ãªãããèš±å¯ããå Žåã®ã¿ã ãã¡ããããã£ã¹ãã¬ã€ãæ¥ç¶ããåŸãäœæ¬ã®ã足ãã空ããŠãããã«äŸåããŸãã
32u4ã®USBã¯ã管çãšã³ããã€ã³ããããŸãé »ç¹ã«ããŒãªã³ã°ããªãå ŽåïŒäœéã®å²ã蟌ã¿ã«ãŒãã³ã³ãŒãïŒã«æ£åžžã«æ©èœããŸãã CDCãã©ã€ããŒãšãã®APIã¯ååã«é«éã§ããã
次ã«ãGitHubã®README.mdãã¡ã€ã«ã§ãHackaday.ioã®ãããžã§ã¯ãããŒãžãšåæ§ã«ãåæ§ã®ãããžã§ã¯ãã®ãªã¹ããç¹°ãè¿ãããŸã
ãæž èŽããããšãããããŸããïŒ