Accesnsione laser tramite seriale

Ciao a tutti,

scusate la semplicità della domanda, ma ho paura di rovinare tutto...

Ho acquistato un Diodo laser 5V (questo), sapete come devo collegarlo ad arduino per poterlo accendere?
Fin'ora l'ho utilizzato collegando un cavo a "gnd" e l'altro ai "5v", ma vorrei poterlo controllare tramite comunicazione seriale con un codice di questo tipo:

char accensione;
void setup() {
  Serial.begin(9600);
}
void loop() {
  accensione = Serial.read();
  if (accensione == 'on') {
    //...
  }
  else if (accensione == 'off') {
    //...
  }
  Serial.println(accensione);
}

Grazie!

Ciao Keccoricci,

allora...arduino dalla seriale legge un byte alla volta...che poi decidi tu che cos'è.

hai dichiarato una variabile globale char accensione; dato che non è un array di char ma solo una "singola" char conterra solo un carattere; poi hai incluso due condizioni

  if (accensione == 'on') {
    //...
  }
  else if (accensione == 'off'){

}

per come detto prima char non avrà due caratteri, o più, al suo "interno" ma solo uno; altra cosa una sigola lettera (o carattere) lo metti tra due apici singoli ...quando hai più di un carattere usa i doppi apici "".

Altra cosa...inizi il tuo loop con:

accensione = Serial.read();

in pratica arduino leggerà sempre dal buffer della seriale anche quando non serve (nessun byte in coda) e non è positivo.

prova con:

  if (Serial.available()) {
    accensione = Serial.read();
  }

in questo caso nel monitor seriale seleziona "nessun fine riga"; diversamente devi filtrare il/i caratteri speciali '\n' e/o '\r'

ORSO2001:
Ciao Keccoricci

Ciao ORSO2001,

Grazie mille per i consigli!
Ora provo a sistemare il codice.

Per quanto riguarda la connessione dei due fili del diodo laser, come mi devo comportare con i pin?
immagino di dover collegarli al 5V, al gnd e a un PIN controllato dal codice.

Grazie

Fondamentalmente, quel modulino e' come un led ... pilotalo con un transistor in open-collector e sei a posto ...

Etemenanki:
Fondamentalmente, quel modulino e’ come un led … pilotalo con un transistor in open-collector e sei a posto …

Scusa, l’inesperienza, ma non ho idea di cosa sia un transistor in open-collector.
Ti dispiacerebbe chiarirmi le idee? :slight_smile:

Scusa il disturbo,
Buona serata!

A sinistra un Transistor ( NPN ), al centro il collegamento Open Collector, a destra il montaggio

Grazie a tutti per i preziosi consigli! :wink:
ho risolto!

Buona giornata