Go Down

Topic: problema con arduino e keypad 4x4 (Read 1 time) previous topic - next topic

chry2000

ti giuro che non so cosa è successo! l ho lasciato attaccato 3 ore ed è andato poi tranquillamente!! ora funziona però non ho nessuna idea su come trasportare il codice sullo sketch del keypad :((((

superlol

il codice dei led è identico quindi lasci tutto invariato, e poi fai un vero copia e incolla del codice già fatto (il loop nel loop, setup nel setup e i resto nel resto :P )
l'unica differenza è che tu al posto di interval hai val nel tuo codice ;)

nel tuo caso val sarebbe il delay, che nel codice dei led sarebbe interval

per il resto rimane davvero identico
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

chry2000

ho fatto questo ma non funziona lo so che sto rompendo troppo perchè sbaglio sempre? :(
Code: [Select]
/* @file CustomKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates changing the keypad size and key values.
|| #
*/
#include <Keypad.h>       
long previousMillis = 0;       
long interval = 1000;         
long interval2 = 500; 
long previousMillis2 = 0;   
int time;
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'#','0','*','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
int alt;
void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
void loop(){
  char customKey = customKeypad.getKey();
     unsigned long currentMillis = millis();


     if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis; 
        if(customKey=='1'){
       alt=1000;
    }
  }
    if(currentMillis - previousMillis2 > interval2) {
    // save the last time you blinked the LED
    previousMillis2 = currentMillis; 
         if(customKey=='2'){
       alt=2000;
    }

}
Serial.println(alt);
  digitalWrite(13,HIGH);
  delay(alt);
  digitalWrite(13,LOW);
  delay(alt);
}

superlol

Code: [Select]
/* @file CustomKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates changing the keypad size and key values.
|| #
*/
#include <Keypad.h>

int ledState = LOW;
long previousMillis = 0;

int time;
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'#','0','*','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
int alt;
void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}
void loop(){
  char customKey = customKeypad.getKey();
   
    if(customKey=='1'){
       alt=1000;
    }
     if(customKey=='2'){
       alt=2000;
    }
   
   Serial.println(alt);
   unsigned long currentMillis = millis();
   if(currentMillis - previousMillis > alt) {
    previousMillis = currentMillis; 

    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    digitalWrite(13, ledState);
  }
}


così non è corretto?
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

chry2000

ahhhhh andava sul led ora funziona alla grande sei un grande grazie infinitivamente milleeeeeeeeeeeeee ( ti ho messo 3 karma)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy