Pages: [1]   Go Down
Author Topic: Controllo contemporaneità pressione pulsanti  (Read 322 times)
0 Members and 1 Guest are viewing this topic.
(Italy)
Offline Offline
Full Member
***
Karma: 2
Posts: 171
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
/*  
#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
« Last Edit: January 10, 2013, 05:19:05 pm by UweFederer » Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quasi giusto: però manca qualcosa.

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

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

(Italy)
Offline Offline
Full Member
***
Karma: 2
Posts: 171
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

DigitalRead per caso?

Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ora aggiungi il comando, controllando che entrambi i pin "rispondano" LOW (datoche normalmente i pulsanti li hai messi come HIGH), allora sono entrambi premuti
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

(Italy)
Offline Offline
Full Member
***
Karma: 2
Posts: 171
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok grazie Lesto, adesso provo
Logged

Pages: [1]   Go Up
Jump to: