Pages: 1 [2]   Go Down
Author Topic: problema con arduino e keypad 4x4  (Read 1098 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-sad(((
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-razz )
l'unica differenza è che tu al posto di interval hai val nel tuo codice smiley-wink

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

per il resto rimane davvero identico
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Offline Offline
Full Member
***
Karma: 1
Posts: 145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho fatto questo ma non funziona lo so che sto rompendo troppo perchè sbaglio sempre? smiley-sad
Code:
/* @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);
}
Logged

Riva del Garda, TN / Forlì
Offline Offline
Edison Member
*
Karma: 7
Posts: 2247
Il piu' modesto al mondo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
/* @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?
Logged

Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

Offline Offline
Full Member
***
Karma: 1
Posts: 145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: 1 [2]   Go Up
Jump to: