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

Exibições: 2811

Responder esta

Respostas a este tópico

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

Anexos

Fiz uma solução da seguinte maneira:

http://pastebin.com/Lsdjn8wT

/*** 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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço