Go Down

Topic: HC-06 modulo Bluetooth + bottone momentaneo + HC-SR501 PIR (Read 339 times) previous topic - next topic

nicman37

Salve a tutti. Sto preparando questo progetto per la tesina scolastica. è da poco che utilizzo arduino. sto cercando di far accendere e spegnere un led tramite diversi input che sono bluetooth, pulsante momentaneo che tramite software diventa uno switch e tamite un sensore di movimento. il problema è che non riesco a farlo funzionare. singolarmente so come farli funzionare però se li metto tutti insieme ho delle difficoltà ad esempio il sensore accende il led ma poi non si spegne più, il pulsante non funziona così come l'input bluetooth. allego codice e diagramma fatto con Fritzing. grazie dell'aiuto

Code: [Select]
int buttonPin = 7;   
int ledPin =  13; 
int pirPin = 2;
boolean onButton = false;
int buttonState = 0;
char bluetoothState = '0';
int pirState = 0;
boolean on = false;

void setup() {
  pinMode(ledPin, OUTPUT);     
  pinMode(buttonPin, INPUT);
  pinMode(pirPin, INPUT);
  Serial.begin(9600);   
}

void loop(){
  if(Serial.available()>0){
    bluetoothState = Serial.read();//1 on, 0 off
  }
  buttonState = digitalRead(buttonPin);
  pirState = digitalRead(pirPin);
 
  if (buttonState == HIGH) {   
    if(onButton==true){
      onButton=false;
    }  else{
      onButton=true;
    }
  }

  on = onButton == HIGH || pirState == HIGH || bluetoothState == '1';
 
   if (on == true) {   
    digitalWrite(ledPin, HIGH); 
  }
  else {
    digitalWrite(ledPin, LOW);
  }
  delay(250);
}

gpb01

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili
Search is Your friend ... or I am Your enemy !

gpb01

Dopo che avrai fatto quanto su richiesto ...
... considera la possibilità di spostare il modulo BT su altri due pin utilizzando la SoftwareSerial (... consigliati RX 10, TX 11) e di lasciare i pin 0 ed 1, che sono collegati al convertitore seriale <--> USB, per il collegamento con il PC ed il debug via seriale.

Guglielmo
Search is Your friend ... or I am Your enemy !

nicman37

Mi sono presentato. Se cambio i oin per il bluetooth non penso che questo risolva il mio problema. O sbaglio?

gpb01

Se cambio i oin per il bluetooth non penso che questo risolva il mio problema. O sbaglio?
Certo, ma almeno riesci a fare il "debug" che, con i pin 0 ed 1 occupati, mi devi spiegari come puoi fare ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

icio

Puoi anche passare alla mega2560 che ha ben 4 seriali hardware

nicman37

Io sto usando un Arduino mega 2560. Mi ero dimenticato di specificarlo

gpb01

... e allora cambia semplicemente porta seriale e ti eviti anche la SoftwareSerial! Come ti ha detto "icio", sulla MEGA hai 4 seriali ... sfruttale :D

Guglielmo
Search is Your friend ... or I am Your enemy !

nicman37

ok allora in sti giorni mi guardo come fare il debug e provo tutto

Go Up