Kit OpenM128 com teclado A/D

Olá,

Um excelente kit de desenvolvimento é o OpenM128 da Waveshare , com este kit poderemos aprender a fazer inúmeros projectos, trata-se de um kit que é composto por muitos periféricos do qual irei aqui abordar, um dos periféricos que achei bastante interessante é um teclado com 16 teclas, em que com apenas 1 linha A/D conseguimos enviar a tecla que foi pressionada.

AD-Keypad

A construção e o código é bastante simples, em cada switch esta acoplada 1 resistência com um determinado valor, no código lê-mos o valor correspondente a esse switch e atribuímos a função que pretendemos, muito mais simples do que o teclado convencional.

Na Imagem anexa, exemplifico de forma como podemos construir um teclado ADC artesanal:

KeyADC

O video demonstrativo não esta muito famoso, pois com o reflexo não consegui mostrar o valor da tecla que esta a ser pressionada, mas o importante é ver que cada tecla que pressiono mostra esse valor no LCD.

aqui apresento a função que permite seleccionar qual a tecla pressionada:

void key_scanf(unsigned int value)
{
if((value>=0)&&(value<=50))
lcd_display_string( "Press Button the KEY 0 ", BLACK, PURPLE, 0, 3 ); if((value>=50)&&(value<=80))
lcd_display_string( "Press Button the KEY 1 ", BLACK, PURPLE, 0, 4 ); if((value>=80)&&(value<=140))
lcd_display_string( "Press Button the KEY 2 ", BLACK, PURPLE, 0, 5 ); if((value>=140)&&(value<=200))
lcd_display_string( "Press Button the KEY 3 ", BLACK, PURPLE, 0, 6 ); if((value>=200)&&(value<=260))
lcd_display_string( "Press Button the KEY 4 ", BLACK, PURPLE, 0, 7 ); if((value>=260)&&(value<=330))
lcd_display_string( "Press Button the KEY 5 ", BLACK, PURPLE, 0, 8 ); if((value>=330)&&(value<=400))
lcd_display_string( "Press Button the KEY 6 ", BLACK, PURPLE, 0, 9 ); if((value>=400)&&(value<=460))
lcd_display_string( "Press Button the KEY 7 ", BLACK, PURPLE, 0, 10 ); if((value>=460)&&(value<=520))
lcd_display_string( "Press Button the KEY 8 ", BLACK, PURPLE, 0, 11 ); if((value>=520)&&(value<=590))
lcd_display_string( "Press Button the KEY 9 ", BLACK, PURPLE, 0, 12 ); if((value>=590)&&(value<=650))
lcd_display_string( "Press Button the KEY 10 ", BLACK, PURPLE, 0, 13 ); if((value>=650)&&(value<=700))
lcd_display_string( "Press Button the KEY 11 ", BLACK, PURPLE, 0, 14 ); if((value>=700)&&(value<=770))
lcd_display_string( "Press Button the KEY 12 ", BLACK, PURPLE, 0, 15 ); if((value>=770)&&(value<=835))
lcd_display_string( "Press Button the KEY 13 ", BLACK, PURPLE, 0, 16 ); if((value>=835)&&(value<=910))
lcd_display_string( "Press Button the KEY 14 ", BLACK, PURPLE, 0, 17 ); if((value>=910)&&(value<=999))
lcd_display_string( "Press Button the KEY 15 ", BLACK, PURPLE, 0, 18 );
}

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s