LCD Å°ÆÐµå ´ëºñ Á¶Á¤ ¹× ¹é¶óÀÌÆ® ±â´ÉÀÌÀÖ´Â 2 ÁÙ 16 ÀÚ LCD¸¦ »ç¿ëÇÏ´Â ½¯µå ÀÔ·Â-Ãâ·Â È®Àå º¸µå, ¾Æ³¯·Î±× ÀÔ·Â Æ÷Æ®¸¦ »ç¿ëÇϸé 5 °³ÀÇ ¹öÆ°, Àç¼³Á¤ ¹öÆ°, »ç¿ëÇÏÁö ¾Ê´Â IO Æ÷Æ®´Â ¿¹ºñ Æ÷Æ® ¹ÛÀ¸·Î È®ÀåµÇ¾î IO Æ÷Æ®¸¦ ÃÖ´ëÇÑ È°¿ëÇÕ´Ï´Ù. Á¡À¯ ¼öÄ¡ Æ÷Æ®: PIN4 (DB4), 5 (DB5), 6 (DB6), 7 (DB7), 8 (RS), 9 (E), 10 (¹é¶óÀÌÆ® Á¦¾î), ¾Æ³¯·Î±× ¹öÆ° Æ÷Æ® A0. (LCD »ö»óÀÌ ÁöÁ¤µÇÁö ¾Ê°í ÀÓÀÇ ¹è´ÞÀÔ´Ï´Ù.)
Roboduino¿Í ÇÔ²² »ç¿ë:
¸ðµâ µð¹ö±ë:
LCD Å°ÆÐµå ½Çµå°¡ ÄÁÆ®·Ñ·¯¿¡ ¿¬°áµÇ¸é LCD4Bit_mod.h (´Ù¸¥ À̸§À¸·Î ¿À¸¥ÂÊ ÀúÀå) ¶óÀ̺귯¸® ÆÄÀÏÀ»-0015 \ Çϵå¿þ¾î \ ¶óÀ̺귯¸®¿¡ ´Ù¿î·ÎµåÇؾßÇÕ´Ï´Ù. ´ÙÀ½ Å×½ºÆ® ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÑ ´ÙÀ½ LCD Å°ÆÐµå ½ÇµåÀÇ Ãʱ⠻ç¿ëÀ¸·Î ´Ù¿î·ÎµåÇϽʽÿÀ. ù ¹ø° °üÂû¿¡´Â LCD Ç¥½Ã ¹®ÀÚ°¡ ¾ø½À´Ï´Ù. Á¤È®ÇÏÁö ¾ÊÀ» ¼öÀÖ´Â ´ëºñ Ç¥½Ã ¹®ÀÚ°¡¾ø´Â °æ¿ì ÀÏÀÚ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ¿© RP1 (½Ã°è ¹æÇâ ȸÀü) À» Á¶Á¤ÇÏ¸é ¹®ÀÚ°¡ ¸íÈ®ÇÏ°Ô Ç¥½ÃµÇµµ·Ï Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
Àü¹® Á¤Àü±â ¹æÁö Æ÷Àå
Å×½ºÆ® ·»´õ¸µ:
GP2D12 ¹üÀ§ ÄÚµå:
# Æ÷ÇÔ
LCD4Bit_mod lcd = LCD4Bit_mod (2);
½¡ GP2D12;
½¡ a, b;
½¡ str1 [] = "·»Áö:";
Char str2 [] = "Renge Over";
½¡ str3 [] = "cm";
º¸ÀÌµå ¼³Á¤ ()
{
LCD. init ();
LCD. Ŭ¸®¾î ();
Lcd. printIn ("GP2D12 Å×½ºÆ®...");
}
º¸ÀÌµå ·çÇÁ ()
{
GP2D12 = read_gp2d12_range (1);
If (GP2D12> 80 | | GP2D12 <10)
{
LCD. cursorTo (2,0);
LCD. printIn (str2);
}
±âŸ
{
A = 0x30 + GP2D12/10;
B = 0x30 + GP2D12 % 10;
LCD. cursorTo (2, 3);
Lcd. printIn (str1);
LCD. Àμâ (a);
LCD. Àμâ (b);
Lcd. printIn (str3);
}
Áö¿¬ (50);
}
Float read_gp2d12_range (¹ÙÀÌÆ® ÇÉ)
{
Int tmp;
Tmp = ¾Æ³¯·Î±× Àбâ (ÇÉ);
(Tmp <3) ¹Ýȯ-1;
¹Ýȯ (6787.0 / ((Ç÷ÎÆ®) tmp - 3.0)) - 4.0;
}
9521
LCD ȸéÀÌ ´õ ¸¹½À´Ï´Ù. »çÁøÀ» Ŭ¸¯ÇÏ¿© È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.