Bom dia, gostaria de saber como faço para guardar um valor em um vetor, por exemplo estou utilizando um teclado matricial, e quero enviar valores para o atmega 328p(Arduino uno), como seria para mim enviar um valor 150 ?, meu professor disse que eu fizesse com vetores declarasse um vetor de 3 posições, mais como faço para guardar cada valor em uma respectiva posição, por exemplo o número 1 na posição 0 do vetor o número 5 na posição 1 do vetor e o numero 0 na posição 2 do vetor, e depois transformar isso em um numero e enviar para uma variavel, quem puder ajudar agradeço
Tags:
Está usando as teclas * e # ?
você poderia usar eles para definir o inicio e o final da sua informação ,dessa forma você poderia armazenar qualquer valor dentro de uma variável, o vetor ficaria desnecessário. Se servir desse modo posso tentar ajudar você.
Serve sim, se puder me ajudar agradeço.
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <TimerOne.h>
unsigned int numero;
char key;
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2,3,4,5}; //connect to row pinouts
byte colPins[COLS] = {6,7,8}; //connect to column pinouts
Keypad keypad = Keypad( makeKeymap(keys), rowPins,colPins, ROWS, COLS );
void setup()
{
pinMode(9, OUTPUT);
Serial.begin(9600);
lcd.begin(16,2);
}
void loop(){
key = keypad.getKey();
Timer1.initialize(numero);
Timer1.pwm(9, 300);
if (key != NO_KEY)
{
numero = key - 48;
lcd.print(numero);
}
}
Oi TT,
faça o seguinte:
defina uma string (ex string str;), defina outra string (ex string str2;), depois leia o valor do teclado e coloque na
primeira string, depois faça: str2 = str2 + str; e voce acumulará os valores digitados na string str2.
depois pode transforma-la em numero inteiro : Numero = str2.toInt();
e você terá um numero composto dos dígitos digitados.
Rui
Teste que funcionou:
Como não tenho teclado usei a entrada pela serial.
Rui
Fiz uma solução da seguinte maneira:
/*** Fiz esse código com referência de:
**** http://blog.filipeflop.com/arduino/teclado-matricial-4x4-arduino.html
****/
Eduardo Silva quase esqueço de falar sobre o código que você me enviou e não estava dando certo aqui realmente eram as ligações, mal contato no GND, somente, valeu cara obrigado.
Bom dia Eduardo Silva, comentei a linha que você me sugeriu, mais não consegui deixar do modo que gostaria,queria que quando pressionasse a tecla '*' além de habilitar a entrada dos valores aparecem os números um por um, do modo que está somente aparecem os valores depois que pressiono '#' ,se tiver como você me ajudar, você tem algum curso de lógica de programação on line para indicar ?
Além de comentar a linha que eu lhe disse você deve colocar abaixo dela a escrita da string no lcd, dessa forma a cada número digitado vai ser logo mostrado
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por