Protetor do teclado numérico da exposição de Arduino LCD (folha de dados) para a placa de Freeduino ou de Arduino
Descrição do produto Este é um protetor muito popular do teclado numérico do LCD para a placa de Arduino ou de Freeduino. Pode estar diretamente obstrui na placa de Arudino, em nenhuma solda ou em mosca-fiação necessária. Um 16x2 HD44780 LCD compatível, caráter branco & luminoso azul.
Este protetor usa a biblioteca de Arudino LCD4Bit.
Atribuição do Pin
Pin |
Função |
Analógico 0 |
Botão (selecione, acima de, direito, para baixo e saiu) |
Digitas 4 |
DB4 |
Digitas 5 |
DB5 |
Digitas 6 |
DB6 |
Digitas 7 |
DB7 |
Digitas 8 |
RS (seleção da exposição dos dados ou do sinal) |
Digitas 9 |
Permita |
Digitas 10 |
Controle retroiluminado |
Código da amostra Uso do exemplo da biblioteca de LCD4Bit_mod
Transferência da biblioteca de LCD4Bit_mod
objeto do #include <LCD4Bit_mod.h> //create de //para controlar um LCD. //number das linhas em display=1LCD4Bit_mod lcd = LCD4Bit_mod (2); msgs messagechar de //Key [5] [15] = {“a APROVAÇÃO chave direita”, “acima da APROVAÇÃO chave”, “fecha para baixo ESTÁ BEM”, “deixou a APROVAÇÃO chave”, “a APROVAÇÃO chave seleta”}; int adc_key_val [5] = {30, 150, 360, 535, 760}; int NUM_KEYS = 5; adc_key_in do int; int key=-1; int oldkey=-1; instalação vaga () {pinMode (13, SAÍDA); //we usará o diodo emissor de luz da eliminação de erros para output uma pulsação do coração lcd.init (); //optionally, estabelece agora nossos ajustes característicos da aplicação da exposição, cancelando o que quer que o lcd fez em lcd.init () //lcd.commandWrite (0x0F); //cursor sobre, exposição sobre, piscamento sobre. (desagradável!) lcd.clear (); lcd.printIn (do “testes TECLADO NUMÉRICO… que pressionam”);} laço do vácuo () {adc_key_in = analogRead (0); //leu o valor do digitalWrite do sensor (13, ELEVAÇÃO); chave = get_key (adc_key_in); converso de //na imprensa chave se (chave! = oldkey) //se os keypress são detectados {atraso (50); espera de //para o adc_key_in do tempo do debounce = o analogRead (0); //leu o valor da chave do sensor = do get_key (adc_key_in); converso de //na imprensa chave se (chave! = oldkey) {oldkey = chave; se (chave >=0) {lcd.cursorTo (2, 0); //line =2, x=0 lcd.printIn (msgs [chave]); }}} digitalWrite (13, BAIXO);}/valor do converso CAD para fechar o get_key do numberint (int sem assinatura entrado) {int k; para (k = 0; k < NUM_KEYS; k++) {se (entrada < adc_key_val [k]) {k do retorno; }} se (>= NUM_KEYS de k) k = -1; //nenhum chave válida retorno pressionado k;}
Uso do exemplo da biblioteca a cristal líquido
//Sample que usa o ******************************************************* a cristal líquido do library#include <LiquidCrystal.h>/este programa testará o painel do LCD e o buttonsMark Bramwell, em julho de 2010 ********************************************************/seleciona os pinos usados no LCD lcd panelLiquidCrystal (8, 9, 4, 5, 6, 7); /defina alguns valores usados pelo lcd_key do painel e do buttonsint = 0; adc_key_in do int = 0; o btnNONE 5//do btnSELECT 4#define do btnLEFT 3#define do btnDOWN 2#define do btnUP 1#define do btnRIGHT 0#define do #define leu os read_LCD_buttons do buttonsint () {adc_key_in = analogRead (0); //leu o valor do sensor //meus botões quando lido é centrado nestes valies: 0, 144, 329, 504, 741 //nós adicionamos aproximadamente 50 2 aqueles valores e verificação para ver se nós somos próximos se (adc_key_in > 1000) btnNONE do retorno; //nós fazemos a isto a primeira opção para razões da velocidade desde que será o resultado mais provável se (adc_key_in < 50) btnRIGHT do retorno; se (adc_key_in < 195) btnUP do retorno; se (adc_key_in < 380) btnDOWN do retorno; se (adc_key_in < 555) btnLEFT do retorno; se (adc_key_in < 790) btnSELECT do retorno; btnNONE do retorno; //quando todos os outro falham, retorna este…}instalação vaga () {lcd.begin (16, 2); começo de //a biblioteca lcd.setCursor (0,0); lcd.print (“empurre os botões”); cópia de //um laço simples do vácuo da mensagem} () {lcd.setCursor (9,1); //movimento cursor a segundo linha “1" e 9 espaço sobre lcd.print (millis ()/1000); os segundos da exposição de //decorreram desde lcd.setCursor de ligação inicial (0,1); movimento de //ao começo da segunda linha lcd_key = read_LCD_buttons (); //leu o interruptor dos botões (lcd_key) //segundo que o botão foi empurrado, nós executa uma ação {btnRIGHT do caso: {lcd.print (“DIREITO "); ruptura; } btnLEFT do caso: {lcd.print (“SAIDO "); ruptura; } btnUP do caso: {lcd.print (“ACIMA "); ruptura; } btnDOWN do caso: {lcd.print (“PARA BAIXO "); ruptura; } btnSELECT do caso: {lcd.print (“SELECIONE”); ruptura; } btnNONE do caso: {lcd.print (“NENHUNS "); ruptura; }}}
Detalhes de empacotamento
-
Tipo da unidade:
-
parte
-
Peso do pacote:
-
0.1kg (0.220lb.)
-
Tamanho do pacote:
-
10cm x 4cm x 3cm (3.94in x 1.57in x 1.18in)