{"id":1230,"date":"2013-03-29T16:31:52","date_gmt":"2013-03-29T16:31:52","guid":{"rendered":"http:\/\/brain.payzip.co.kr\/?p=1230"},"modified":"2013-03-29T16:31:52","modified_gmt":"2013-03-29T16:31:52","slug":"%ec%95%84%eb%91%90%ec%9d%b4%eb%85%b8-lcd-keypad-shield-icsp","status":"publish","type":"post","link":"https:\/\/blog.goorigo.com\/?p=1230","title":{"rendered":"[\uc544\ub450\uc774\ub178] LCD Keypad Shield ICSP &#8211; sample code"},"content":{"rendered":"<p>\uc544\ub450\uc774\ub178 \uc18c\uc2a4 \ucf54\ub4dc: \ucd9c\ucc98(http:\/\/www.uctronics.com)<\/p>\n<p>16&#215;2 LCD \uc274\ub4dc (\ud30c\ub780\uc0c9 \ubc31\ub77c\uc774\ud2b8)<\/p>\n<p>&nbsp;<br \/>\n\/*<br \/>\nThe circuit:<br \/>\n* LCD RS pin to digital pin 8<br \/>\n* LCD Enable pin to digital pin 9<br \/>\n* LCD D4 pin to digital pin 4<br \/>\n* LCD D5 pin to digital pin 5<br \/>\n* LCD D6 pin to digital pin 6<br \/>\n* LCD D7 pin to digital pin 7<br \/>\n* LCD BL pin to digital pin 10<br \/>\n* KEY pin to analogl pin 0<br \/>\n*\/<\/p>\n<p>#include<\/p>\n<p>LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);<\/p>\n<p>char msgs[5][16] = {&#8220;Right Key OK &#8220;,<br \/>\n&#8220;Up Key OK &#8220;,<br \/>\n&#8220;Down Key OK &#8220;,<br \/>\n&#8220;Left Key OK &#8220;,<br \/>\n&#8220;Select Key OK&#8221; };<\/p>\n<p>int adc_key_val[5] ={50, 200, 400, 600, 800 };<br \/>\nint NUM_KEYS = 5;<br \/>\nint adc_key_in;<br \/>\nint key=-1;<br \/>\nint oldkey=-1;<\/p>\n<p>void setup()<br \/>\n{<br \/>\nlcd.clear();<br \/>\nlcd.begin(16, 2);<br \/>\nlcd.setCursor(0,0);<br \/>\nlcd.print(&#8220;ADC key testing&#8221;);<br \/>\n}<\/p>\n<p>void loop()<br \/>\n{<br \/>\nadc_key_in = analogRead(0); \/\/ read the value from the sensor<br \/>\nkey = get_key(adc_key_in); \/\/ convert into key press<\/p>\n<p>if (key != oldkey) \/\/ if keypress is detected<br \/>\n{<br \/>\ndelay(50); \/\/ wait for debounce time<br \/>\nadc_key_in = analogRead(0); \/\/ read the value from the sensor<br \/>\nkey = get_key(adc_key_in); \/\/ convert into key press<br \/>\nif (key != oldkey)<br \/>\n{<br \/>\nlcd.setCursor(0, 1);<br \/>\noldkey = key;<br \/>\nif (key &gt;=0){<br \/>\nlcd.print(msgs[key]);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\ndelay(100);<br \/>\n}<\/p>\n<p>\/\/ Convert ADC value to key number<br \/>\nint get_key(unsigned int input)<br \/>\n{<br \/>\nint k;<\/p>\n<p>for (k = 0; k &lt; NUM_KEYS; k++)<br \/>\n{<br \/>\nif (input &lt; adc_key_val[k]) { return k; } } if (k &gt;= NUM_KEYS)k = -1; \/\/ No valid key pressed<br \/>\nreturn k;<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc544\ub450\uc774\ub178 \uc18c\uc2a4 \ucf54\ub4dc: \ucd9c\ucc98(http:\/\/www.uctronics.com) 16&#215;2 LCD \uc274\ub4dc (\ud30c\ub780\uc0c9 \ubc31\ub77c\uc774\ud2b8) &nbsp; \/* The circuit: * LCD RS pin to digital pin 8 * LCD Enable pin to digital pin 9 *&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1230"}],"collection":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1230"}],"version-history":[{"count":0,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/1230\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}