{"id":2855,"date":"2024-09-09T12:15:49","date_gmt":"2024-09-09T12:15:49","guid":{"rendered":"https:\/\/iotthinghub.com\/?p=2855"},"modified":"2024-09-09T12:57:48","modified_gmt":"2024-09-09T12:57:48","slug":"keypad-interface-smart-lock","status":"publish","type":"post","link":"https:\/\/iotthinghub.com\/?p=2855","title":{"rendered":"Keypad Interface &amp; Smart Lock"},"content":{"rendered":"\n<p class=\"has-text-color has-link-color wp-elements-95e52183c0db4c5cd70de3f8e620d146 wp-block-paragraph\" style=\"color:#5c5c5c\">We previously interface Keypad with Atmel microcontroller. Now we will interface keypad with STm32. We will interface STm32 with 3&#215;4 matrix keypad. 4 rows which will be output pins and 3 columns which will be input with pull-up enable.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-color has-link-color wp-elements-2bea4e894cdf049d71b727807f011b6e wp-block-paragraph\" style=\"color:#5c5c5c\">Since the input pins are pull-up enable the default value is 1 and active with logic 0 to the pin. So our first step is to sequentially set &amp; reset the rows. We will reset(0) one row at a time and other rows will be set(1). For example if we press 1 then row1 will be zero and column1 will get a value of 0. So our logic is whenever a switch will press the corresponding row and column will zero. Since there are 4 rows we will create a loop of 4 and read the input.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"775\" height=\"433\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/pinout-keypad-3x4-1.jpg\" alt=\"\" class=\"wp-image-2858\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/pinout-keypad-3x4-1.jpg 775w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/pinout-keypad-3x4-1-300x168.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/pinout-keypad-3x4-1-768x429.jpg 768w\" sizes=\"(max-width: 775px) 100vw, 775px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-d5609308dc28635c6c9f6035d67b9219 wp-block-paragraph\" style=\"color:#5c5c5c\">If we define each rows and column with a value then we will easily get the code. Since each row and column has a unique value we easily find out which switch is pressed. For example if we define row1 as 0x08 and column1 as 0x08, then if 1 is pressed the code will be 0x88. Here we use any GPIO pins and we predefine some value. That will help you to changed GPIO according to your desire GPIO. For example we use following pins and row &amp; column as-<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"99\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-6-1024x99.jpg\" alt=\"\" class=\"wp-image-2862\" style=\"width:745px;height:auto\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-6-1024x99.jpg 1024w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-6-300x29.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-6-768x74.jpg 768w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-6.jpg 1407w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; auto-links: false; title: ; quick-code: false; notranslate\" title=\"\">\n#define ROW1_RESET   HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET)\n#define ROW1_SET     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET)\n#define ROW2_RESET   HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET)\n#define ROW2_SET     HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET)\n#define ROW3_RESET   HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_RESET)\n#define ROW3_SET     HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_SET)\n#define ROW4_RESET   HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_RESET)\n#define ROW4_SET     HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,GPIO_PIN_SET)\n#define COLUMN1      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)\n#define COLUMN2      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)\n#define COLUMN3      HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_2)\n<\/pre><\/div>\n\n\n<p class=\"has-text-color has-link-color wp-elements-a14d7039db3af34a19d8d430a9eafbee wp-block-paragraph\" style=\"color:#5c5c5c\">In the define section change the pin according to yours desire GPIO. Now the main logic as follow-<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; auto-links: false; title: ; quick-code: false; notranslate\" title=\"\">\nunsigned char keycode,keyPressed=&#039;\\0&#039;,i;\nuint8_t row,column,column1,column2,column3;\nfor(i=0;i&lt;4;i++)\n\t{ HAL_Delay(1);\n\tif(i==0){\n\t\tROW1_RESET; ROW2_SET; ROW3_SET; ROW4_SET;\n\t\t\t\trow=0x08;\n\t\t\t}\n\telse if(i==1){\n\t\tROW1_SET; ROW2_RESET; ROW3_SET; ROW4_SET;\n\t\t\t\trow=0x04;\n\t\t\t}\n\telse if(i==2){\n\t\tROW1_SET; ROW2_SET; ROW3_RESET; ROW4_SET;\n\t\t\t\trow=0x02;\n\t\t\t}\n\telse if(i==3){\n\t\tROW1_SET; ROW2_SET; ROW3_SET; ROW4_RESET;\n\t\t\t\trow=0x01;\n\t\t\t}\n\tHAL_Delay(1);\n\tif(COLUMN1) column1=0; else column1=0x80;\n\tif(COLUMN2) column2=0; else column2=0x40;\n\tif(COLUMN3) column3=0; else column3=0x20;\n\tcolumn=column1|column2|column3;\n\tHAL_Delay(20);\n\tif(column != 0x00)\n\t{ HAL_Delay(20);\n\tif(column == 0x00) goto OUT;\n\tkeycode=(row&amp;0x0f)|(column&amp;0xf0);\n\tswitch(keycode)\n\t\t{\n\t\t\tcase (0x88): keyPressed = &#039;1&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x48): keyPressed = &#039;2&#039;;\n\t\t\t\t \t\t break;\n\t\t\tcase (0x28): keyPressed = &#039;3&#039;; \n\t\t\t   \t\t\t break;\n\t\t\tcase (0x84): keyPressed = &#039;4&#039;;\n\t\t\t\t \t\t break;\n\t\t\tcase (0x44): keyPressed = &#039;5&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x24): keyPressed = &#039;6&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x82): keyPressed = &#039;7&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x42): keyPressed = &#039;8&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x22): keyPressed = &#039;9&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x81): keyPressed = &#039;*&#039;; \n\t\t\t\t \t\t break;\n\t\t\tcase (0x41): keyPressed = &#039;0&#039;;\n\t\t\t\t \t\t break;\n\t\t\tcase (0x21): keyPressed = &#039;#&#039;; \n\t\t\t\t \t\t break;\n\t\t}\n\t\tOUT:;\n\t}\n<\/pre><\/div>\n\n\n<p class=\"has-text-color has-link-color wp-elements-694369c5c2073d3ce6240f444247929d wp-block-paragraph\" style=\"color:#5c5c5c\">We display the key pressed value in 0.91&#8243; OLED display. Similarly we can use 4&#215;4 matrix keypad with only 1 addition of column4.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"904\" height=\"370\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/3x4-keypad-Interface.jpg\" alt=\"\" class=\"wp-image-2871\" style=\"width:406px;height:auto\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/3x4-keypad-Interface.jpg 904w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/3x4-keypad-Interface-300x123.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/3x4-keypad-Interface-768x314.jpg 768w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center has-text-color has-link-color wp-elements-af06fe222824dcdc4a72c8c3eca4013c wp-block-paragraph\" style=\"color:#5c5c5c\">3&#215;4 Keypad Connection<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"STM32 Keypad Interface\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/tEWBhZ7zbeE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-074f862a655ba1b87a4fa69758ec810c wp-block-paragraph\" style=\"color:#5c5c5c\">In ATmel microcontroller we developed a password locker with 3&#215;4 matrix keypad. In this section we will make a smart password locker with STM32F103C8Tx with 4&#215;4 matrix keypad. The connection as follow-<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"517\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-1024x517.jpg\" alt=\"\" class=\"wp-image-2899\" style=\"width:792px;height:auto\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-1024x517.jpg 1024w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-300x151.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-768x387.jpg 768w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-1536x775.jpg 1536w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passowrd-locking-2048x1033.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"95\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-7-1024x95.jpg\" alt=\"\" class=\"wp-image-2875\" style=\"width:798px;height:auto\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-7-1024x95.jpg 1024w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-7-300x28.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-7-768x72.jpg 768w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-7.jpg 1405w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-a727436f1f981537267d0621de44fb4e wp-block-paragraph\" style=\"color:#5c5c5c\">STM32F103C8T6-Blue_Pill is a low cost development board has internal 8MHz crystal. Connect the load in PB3 which is configuring as output. Here 0-9,*,# digits has value and other digits are define as-<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"164\" src=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-8-1024x164.jpg\" alt=\"\" class=\"wp-image-2877\" style=\"width:749px;height:auto\" srcset=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-8-1024x164.jpg 1024w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-8-300x48.jpg 300w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-8-768x123.jpg 768w, https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/function-8.jpg 1217w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-b73af37e526cccdd4ce03721d8867852 wp-block-paragraph\" style=\"color:#252525\">Note: Here \u2018D\u2019 key is used for enter. No other external switch has been used. Just download the hex file and burn it in STM32 ST-LINK Utility. For hide key just pressed C key, a \u2013 sign indicate it. If you want to see your input character just presses C again.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/3x4-Matrix-Keypad-STM32F030R8.rar\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--50)\">Download (3&#215;4 Matrix Keypad)<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/Passwrad-Lock-STM32F103C8T6.hex\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--50)\">Download(smart lock.hex)<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<style type=\"text\/css\">\n#foogallery-gallery-2883 .fg-image { width: 200px; }<\/style>\n\t\t\t<div class=\"foogallery foogallery-container foogallery-carousel foogallery-lightbox-foogallery fg-carousel fg-ready fg-light fg-border-thin fg-shadow-outline fg-loading-default fg-loaded-fade-in fg-caption-hover fg-hover-fade fg-hover-zoom\" id=\"foogallery-gallery-2883\" data-foogallery=\"{&quot;item&quot;:{&quot;showCaptionTitle&quot;:true,&quot;showCaptionDescription&quot;:true},&quot;lazy&quot;:true,&quot;template&quot;:{&quot;maxItems&quot;:5,&quot;scale&quot;:0.11999999999999999555910790149937383830547332763671875,&quot;gutter&quot;:{&quot;min&quot;:-40,&quot;max&quot;:-20,&quot;unit&quot;:&quot;%&quot;},&quot;autoplay&quot;:{&quot;time&quot;:5,&quot;interaction&quot;:&quot;pause&quot;},&quot;centerOnClick&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;activePosition&quot;:&quot;center&quot;}}\" data-foogallery-lightbox=\"{&quot;thumbs&quot;:&quot;bottom&quot;,&quot;thumbsCaptions&quot;:false,&quot;thumbsBestFit&quot;:false,&quot;thumbsSmall&quot;:false,&quot;thumbsCaptionsAlign&quot;:&quot;default&quot;,&quot;info&quot;:&quot;bottom&quot;,&quot;infoVisible&quot;:true,&quot;infoOverlay&quot;:true,&quot;infoAlign&quot;:&quot;default&quot;,&quot;transition&quot;:&quot;fade&quot;,&quot;hoverButtons&quot;:false,&quot;fitMedia&quot;:false,&quot;noScrollbars&quot;:true,&quot;preserveButtonSpace&quot;:true,&quot;buttons&quot;:{&quot;fullscreen&quot;:true,&quot;info&quot;:true,&quot;thumbs&quot;:false},&quot;video&quot;:{&quot;autoPlay&quot;:true}}\" style=\"--fg-title-line-clamp: 0; --fg-description-line-clamp: 0;\" >\n\t<button type=\"button\" class=\"fg-carousel-prev\" title=\"Previous\"><\/button>\n\t<div class=\"fg-carousel-inner\">\n\t\t<div class=\"fg-carousel-center\"><\/div>\n\t\t<div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-1.jpg\" data-attachment-id=\"2884\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-1\/1229477538.jpg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-2.jpg\" data-attachment-id=\"2885\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-2\/2231056340.jpg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-3.jpg\" data-attachment-id=\"2886\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-3\/4092693391.jpg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-4.jpg\" data-attachment-id=\"2887\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-4\/646190314.jpg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-5.jpg\" data-attachment-id=\"2888\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-5\/3533656422.jpg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-6.jpeg\" data-attachment-id=\"2889\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-6\/2590366845.jpeg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-7.jpeg\" data-attachment-id=\"2890\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-7\/3898866767.jpeg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div><div class=\"fg-item fg-type-image fg-idle\"><figure class=\"fg-item-inner\"><a href=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/2024\/09\/smart-lock-8.jpeg\" data-attachment-id=\"2891\" data-type=\"image\" class=\"fg-thumb\"><span class=\"fg-image-wrap\"><img decoding=\"async\" width=\"200\" height=\"200\" class=\"skip-lazy fg-image\" data-src-fg=\"https:\/\/iotthinghub.com\/wp-content\/uploads\/cache\/2024\/09\/smart-lock-8\/1857469983.jpeg\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%20viewBox%3D%220%200%20200%20200%22%3E%3C%2Fsvg%3E\" loading=\"eager\"><\/span><span class=\"fg-image-overlay\"><\/span><\/a><\/figure><div class=\"fg-loader\"><\/div><\/div>\t<\/div>\n\t<div class=\"fg-carousel-bottom\"><\/div>\n\t<div class=\"fg-carousel-progress\"><\/div>\n\t<button type=\"button\" class=\"fg-carousel-next\" title=\"Next\"><\/button>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We previously interface Keypad with Atmel microcontroller. Now we will interface keypad with STm32. We will interface STm32 with 3&#215;4 matrix keypad. 4 rows which will be output pins and 3 columns which will be input with pull-up enable. Since the input pins are pull-up enable the default value is 1 and active with logic [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-2855","post","type-post","status-publish","format-standard","hentry","category-arm-standards-peripherals"],"_links":{"self":[{"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/posts\/2855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2855"}],"version-history":[{"count":19,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/posts\/2855\/revisions"}],"predecessor-version":[{"id":2900,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=\/wp\/v2\/posts\/2855\/revisions\/2900"}],"wp:attachment":[{"href":"https:\/\/iotthinghub.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iotthinghub.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}