{"product_id":"20pcs-keypad-4-button-key-module-switch-keyboard-for-uno-mega2560-breadboard","title":"20pcs Keypad 4 Button Key Module Switch Keyboard For UNO MEGA2560 Breadboard","description":"\u003cdiv\u003e\u003cspan style=\"font-size: 16px;\"\u003e\u003cstrong\u003eDescription: \u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv\u003e \u003c\/div\u003e\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eCan be inserted directly into uno mega2560, Ideal for linking up to your   UNO Mini Nano Mega2560 Breadboard etc, or others MCU ( AVR STM32 ARM PIC AT89C51 STC MSP430 STM8 FPGA CPLD etc.) \u003c\/span\u003e\u003c\/div\u003e\u003cdiv\u003e \u003c\/div\u003e\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e4-button Common Cathode key module\u003c\/span\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eGND \"K1 K2 K3 K4\" 4 PIN OUT 2.54mm\u003c\/span\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eSize: 12.7MM x 33MM.\u003c\/span\u003e\u003c\/div\u003e\u003cdiv\u003e \u003c\/div\u003e\u003cdiv\u003e\n\u003cspan style=\"font-size: 14px;\"\u003e\u003cspan style=\"font-size: 16px;\"\u003e\u003cstrong\u003eCircuit schematics:\u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"http:\/\/img.staticbg.com\/images\/oaupload\/banggood\/images\/3D\/0D\/bd9a964e-9b5d-41e3-bada-7bd7ee5f1770.jpg\" style=\"width: 425px; height: 472px;\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan style=\"font-size: 16px;\"\u003e\u003cstrong\u003ePackage includes:\u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e20 x Keyboard\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003euno\/mega2560 Code\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/******************************************************\/\/\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/*\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e_4key_uart\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eThis example code is in the public domain.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e*\/\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ Define key pin\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eint K1 = 13;\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eint K2 = 12;\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eint K3 = 11;\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eint K4 = 10;\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ variables will change:\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eint buttonState = 0; \/\/ variable for reading the pushbutton status\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ the setup routine runs once when you press reset:\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003evoid setup() {\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ initialize the keys pin as an input.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003epinMode(K1, INPUT);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003epinMode(K2, INPUT);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003epinMode(K3, INPUT);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003epinMode(K4, INPUT);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/Activate key pin internal pull-up resistors\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edigitalWrite(K1, HIGH);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edigitalWrite(K2, HIGH);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edigitalWrite(K3, HIGH);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edigitalWrite(K4, HIGH);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ initialize serial communications at 9600 bps:\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eSerial.begin(9600);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e\/\/ the loop routine runs over and over again forever:\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003evoid loop() {\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K1);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eif(!buttonState)Serial.print(\"k1 n\" );\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edo\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e{\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K1);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ewhile(!buttonState);\/\/Wait button release\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K2);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eif(!buttonState)Serial.print(\"k2 n\" );\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edo\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e{\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K2);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ewhile(!buttonState);\/\/Wait button release\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K3);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eif(!buttonState)Serial.print(\"k3 n\" );\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edo\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e{\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K3);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ewhile(!buttonState);\/\/Wait button release\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K4);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003eif(!buttonState)Serial.print(\"k4 n\" );\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edo\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e{\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ebuttonState = digitalRead(K4);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003ewhile(!buttonState);\/\/Wait button release\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003edelay(100);\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e}\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e    \u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 14px;\"\u003e \/\/******************************************************\/\/\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/14\/EC\/f862b9eb-1b9d-4cb9-9590-97abe5c7979b.jpg\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/6C\/9A\/f43917e5-289a-42aa-98c0-b3f70c22de77.jpg\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/8C\/F5\/ad8a9f62-c612-420a-85de-035f7ba4034d.jpg\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/69\/17\/18f4684e-2105-43fe-a0af-07d7fde40e65.jpg\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/89\/A9\/3315e5c6-2b49-4bd8-9450-5f81ef864f51.jpg\"\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/ser1\/banggood\/images\/C2\/CF\/4fc7ec29-121f-4d06-87e9-0e651d585d0f.jpg\"\u003e","brand":"Electronic Pro","offers":[{"title":"Default Title","offer_id":35468032835740,"sku":"1590012","price":1107.27,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2787\/9162\/products\/f862b9eb-1b9d-4cb9-9590-97abe5c7979b.jpg?v=1597149179","url":"https:\/\/electronic-pro-south-africa.myshopify.com\/products\/20pcs-keypad-4-button-key-module-switch-keyboard-for-uno-mega2560-breadboard","provider":"Electronic Pro ","version":"1.0","type":"link"}