{"id":1307,"date":"2024-05-21T08:00:00","date_gmt":"2024-05-21T06:00:00","guid":{"rendered":"https:\/\/www.fuhselab.de\/?p=1307"},"modified":"2025-05-27T13:04:34","modified_gmt":"2025-05-27T11:04:34","slug":"arduino-tastenfeld-1","status":"publish","type":"post","link":"https:\/\/www.fuhselab.de\/index.php\/2024\/05\/21\/arduino-tastenfeld-1\/","title":{"rendered":"Arduino Tastenfeld 1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Arduino Projekt 28 bringt uns zu den numerischen Tastenfeldern.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vorbereitungen:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr dieses Projekt werden folgende Bauteile ben\u00f6tigt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.reichelt.de\/experimentier-slide-steckboard-640-200-kontakte-steckboard-s8-p177330.html?CCOUNTRY=445&amp;LANGUAGE=de&amp;trstct=pos_12&amp;nbc=1&amp;&amp;r=1\">Steckboard<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.reichelt.de\/entwicklerboards-kabel-set-verschiedene-laengen-65er-pack--debo-kabelset18-p282690.html?PROVID=2788&amp;gclid=EAIaIQobChMI5Mqvt8jp-wIVUASLCh1ozQTZEAQYAiABEgK1X_D_BwE\">Kabelset f\u00fcr Entwicklerboards<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.reichelt.de\/stiftleisten-2-54-mm-1x16-gerade-mpe-087-1-016-p119887.html?&amp;trstct=pol_9&amp;nbc=1\">Stiftleiste<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.roboter-bausatz.de\/p\/3x4-keypad-modul-fuer-arduino?sPartner=8&amp;gad_source=5&amp;gclid=EAIaIQobChMIpPik6uOnhAMVe4ODBx0EyQM1EAQYByABEgI7IPD_BwE\">Tastenfeld<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schaltungsaufbau:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Verkabelung wird nach den Angaben im Datenblatt vorgenommen. F\u00fcr das Tastenfeld in diesem Projekt gilt folgender Schaltungsaufbau:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Tastenfeld-Pin<\/td><td>Arduino-Pin<\/td><\/tr><tr><td>1<\/td><td>3<\/td><\/tr><tr><td>2<\/td><td>5<\/td><\/tr><tr><td>3<\/td><td>2<\/td><\/tr><tr><td>4<\/td><td>8<\/td><\/tr><tr><td>5<\/td><td>4<\/td><\/tr><tr><td>6<\/td><td>7<\/td><\/tr><tr><td>7<\/td><td>6<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Programmierung 1:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Keypad.h&gt;\nconst byte ROWS = 4;\nconst byte COLS = 3;\n\nchar keys&#91;ROWS]&#91;COLS] =\n{\n {'1','2','3'},\n {'4','5','6'},\n {'7','8','9'},\n {'*','0','#'}\n};\n\nbyte rowPins&#91;ROWS] = {5, 6, 7, 8};\nbyte colPins&#91;COLS] = {2, 3, 4};\nKeypad keypad = Keypad (makeKeymap(keys), rowPins, colPins, ROWS, COLS );\n\n\/\/ Ende des erforderlichen Codes f\u00fcr Tastenfeld\n\nvoid setup()\n\n{\nSerial.begin (9600);\n}\n\nvoid loop()\n{\nchar key = keypad.getKey();\nif (key != NO_KEY)\n{\nSerial.print(key);\n}\n}\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Programmierung 2:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include \"Keypad.h\"\nconst byte ROWS = 4;\nconst byte COLS = 3;\nchar keys&#91;ROWS]&#91;COLS] =\n{\n\n{'1','2','3'},\n{'4','5','6'},\n{'7','8','9'},\n{'*','0','#'}\n};\n\nbyte rowPins&#91;ROWS] = {5,6,7,8};\nbyte colPins&#91;COLS] = {2,3,4};\nKeypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);\n\nchar PIN&#91;6]={'1','2','3','4','5','6'}; \/\/ Die Geheimzahl\nchar attempt&#91;6]={0,0,0,0,0,0};\nint z=0;\n\nvoid setup()\n{\nSerial.begin(9600);\n}\n\nvoid correctPIN() \/\/ wird bei korrekter PIN ausgef\u00fchrt\n{\nSerial.println(\"richtige PIN eingegeben\");\n}\n\nvoid incorrectPIN()\n{\nSerial.println(\"falsche PIN eingegeben\");\n}\n\nvoid checkPIN()\n{\nint correct=0;\n\nint i;\n\nfor(i=0; i&lt;6; i++)\n{\nif(attempt&#91;i]==PIN&#91;i])\n{\ncorrect++;\n}\n}\n\nif (correct==6)\n{\ncorrectPIN();\n}\n\nelse\n{\nincorrectPIN();\n}\n\nfor (int zz=0; zz&lt;6; zz++) \/\/ entfernt den vorherigen Eingabeversuch\n{\nattempt&#91;zz]=0;\n}\n\n}\n\nvoid readKeypad()\n{\nchar key = keypad.getKey();\nif (key != NO_KEY)\n{\n\nswitch(key)\n{\ncase '*':\nz=0;\nbreak;\ncase '#':\ndelay(100); \/\/ zum Entprellen\ncheckPIN();\nbreak;\ndefault:\nattempt&#91;z]=key;\nz++;\n}\n}\n}\n\nvoid loop()\n{\nreadKeypad();\n}\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arduino Projekt 28 bringt uns zu den numerischen Tastenfeldern.<\/p>\n","protected":false},"author":1,"featured_media":48,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[22],"class_list":["post-1307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","tag-arduino-gruppe-peine"],"_links":{"self":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/1307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/comments?post=1307"}],"version-history":[{"count":4,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/1307\/revisions"}],"predecessor-version":[{"id":2785,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/1307\/revisions\/2785"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media\/48"}],"wp:attachment":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media?parent=1307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/categories?post=1307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/tags?post=1307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}