Ciao a tutti,
sono alle prime armi con Arduino, e sono decisamente poco capace. Per adesso sto facendo alcuni semplici progetti, ed ho riscontrato un problema che non riesco a risolvere. Sto cercando di controllare un motorino tramite telecomando, utilizzando un sensore pir. Il codice che utilizzo è il seguente
#include <IRremote.h>
int receiver = 11;
IRrecv irrecv(receiver);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(9, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume();
}
if ( results.value == 0xE13DDA28 ){ //quando premo il tasto 1 sul telecomando
digitalWrite(9, HIGH);
}
if ( results.value == 0xAD586662 ){ //quando premo il tasto 2 sul telecomando
digitalWrite(9, LOW);
}
}
Una volta attaccata la scheda al pc inizio a premere il tasto 1 del telecomando (samsung) facendo partire il motore. E qui si presenta il problema, infatti sul monitor seriale iniziano a comparire valori diversi da quello predefinito, e risulta difficile spegnere il motore con il tasto 2 avvicinandosi al sensore con il telecomando, e praticamente impossibile se si è lontani. Io non capisco, non mi dava questo problema quando comandavo dei led :~
Il motorino è collegato ad arduino tramite la breadboard e ho utilizzato un transistor per controllarlo (http://www.fairchildsemi.com/ds/BS/BS170.pdf questo modello per essere precisi). Essendo alle prime armi non so come gestire la cosa, e dato che sono intenzionato a costruire una macchinina comandata a distanza tramite il sensore pir vorrei sapere come risolvere questo problema. Potrebbe essere il transistor la causa? Grazie anticipatamente