Go Down

Topic: Controllo contemporaneità pressione pulsanti (Read 543 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


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


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