Go Down

Topic: Controllo contemporaneità pressione pulsanti (Read 423 times) previous topic - next topic

matrix77

Jan 10, 2013, 10:07 pm Last Edit: Jan 10, 2013, 11:19 pm by UweFederer Reason: 1
Ciao, oggi mi trovo di fronte ad un piccolo quesito; in sostanza vorrei controllare la pressione simultanea di 2 pulsanti, gestiti in questo modo:

Code: [Select]
/*  
#include <ColorLCDShield.h>
#define BACKGROUND  BLACK
LCDShield lcd;
int buttonPins[3] = {3, 4, 5};

void setup()
{
 /* Set up the button pins as inputs, set pull-up resistor */
 for (int i=0; i<3; i++)
 {
   pinMode(buttonPins[i], INPUT);
   digitalWrite(buttonPins[i], HIGH);
 }  
 
 /* Initialize the LCD, set the contrast, clear the screen */
 lcd.init(PHILLIPS);
 lcd.contrast(40);
 lcd.clear(BACKGROUND);  

void loop()
{  
if ((digitalPins[1]) && (digitalPins[2]))// non ridete mentre leggerete questa riga :smiley-roll:
 {
   lcd.setStr("CIAO", 80, 22, C_COLOR, WHITE);
   }
}


Questi pulsanti, fanno parte dello shield "display Nokia 6100" e non avendo assegnati degli ingressi specifici, non so proprio come fare a comparare gli array ad una valore di riferimento.

In sostanza: se buttonPins acquisisce valore=[1] e buttonPins acquisisce valore=[2] esegui operazione...

Ciao

lesto

quasi giusto: però manca qualcosa.

Code: [Select]

if ((digitalPins[1]) && (digitalPins[2]))


hai azzeccato il numero dei pin dei pulsanti che vuoi leggere (credo, occhio che il C partea contare da 0 non da 1!), però manca il comando per leggere lo stato di quei pin....

se per scriverci uno stato di default (la pullup a HIGH) hai usato la digitalWrite, allora per leggere il loro stato userai la?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

matrix77


lesto

ora aggiungi il comando, controllando che entrambi i pin "rispondano" LOW (datoche normalmente i pulsanti li hai messi come HIGH), allora sono entrambi premuti
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

matrix77


Go Up