{"product_id":"tb371-4-key-mcu-keyboard-button-board-compatible-uno-mega2560-pro-mini-nano-due-raspberry-pi-teensy-geekcreit-for-arduino-products-that-work-with-official-arduino-boards","title":"TB371 4 Key MCU Keyboard Button Board Compatible UNO MEGA2560 Pro Mini Nano Due Raspberry Pi Teensy++ Geekcreit for Arduino - products that work with official Arduino boards","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\u003e1. 4-button Common Cathode key module(When pressed output low level). \u003c\/div\u003e\u003cdiv\u003e2. GND K1 K2 K3 K4\" 4 PIN OUT  2.54mm\u003c\/div\u003e\u003cdiv\u003e3. Working voltage: DC 0-48V \u003c\/div\u003e\u003cdiv\u003e4. Size: 12.7 x 33mm\u003c\/div\u003e\u003cdiv\u003e5. It can be inserted directly into Arduiuo uno mega2560 due,Ideal for linking up to your  Arduiuo UNO Mini Nano Mega2560 Breadboard raspberry pi banana pi  etc,or others MCU PLD CPU ( AVR STM32 ARM PIC C51 NRF24LE1 CC2530 MSP430 STM8 FPGA CPLD etc.)\u003cbr\u003e \u003c\/div\u003e\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cstrong\u003eCircuit schematics:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp open=\"\" style=\"box-sizing: border-box; margin: 0px; font-size: 14px; line-height: inherit; font-family: \"\u003e \u003c\/p\u003e\n\u003cp open=\"\" style=\"box-sizing: border-box; margin: 0px; font-size: 14px; line-height: inherit; font-family: \"\u003e\u003cimg height=\"472\" src=\"https:\/\/ae01.alicdn.com\/kf\/HTB1CdiHGpXXXXb6aXXXq6xXFXXXG\/221872405\/HTB1CdiHGpXXXXb6aXXXq6xXFXXXG.jpg\" style=\"box-sizing: border-box; border-style: none; vertical-align: middle; max-width: 100%;\" width=\"425\"\u003e\u003c\/p\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cstrong\u003eArduiuo uno\/mega2560 Code\u003c\/strong\u003e\u003c\/span\u003e\n\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\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size:14px;\"\u003e\/*\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size:14px;\"\u003eArduiuo_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\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\u003c\/div\u003e\n\u003cspan style=\"font-size:14px;\"\u003e \/\/******************************************************\/\/\u003cbr\u003e\u003cbr\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cstrong\u003ePackage Included:\u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e1 x \u003c\/span\u003e\u003cspan style=\"\"\u003e4 Key MCU Keyboard Matrix Button Board\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/banggood\/images\/0E\/68\/72973951-50b0-46b6-bafc-087195e3e8ca.JPG\"\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/banggood\/images\/10\/8D\/41d66882-6653-4611-88c9-96413f2e0827.JPG\"\u003e\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/imgaz.staticbg.com\/images\/oaupload\/banggood\/images\/39\/4D\/c2bfaee6-4af7-421d-8cf7-ad8a4caaefad.JPG\"\u003e","brand":"Electronic Pro","offers":[{"title":"Default Title","offer_id":35467792351388,"sku":"1650825","price":210.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2787\/9162\/products\/1e86b96e-0dfe-49ef-b7fa-0eb38556a84b.jpg?v=1597148663","url":"https:\/\/electronic-pro-south-africa.myshopify.com\/products\/tb371-4-key-mcu-keyboard-button-board-compatible-uno-mega2560-pro-mini-nano-due-raspberry-pi-teensy-geekcreit-for-arduino-products-that-work-with-official-arduino-boards","provider":"Electronic Pro ","version":"1.0","type":"link"}