AutoSpegnimento Striscia LED

Salve, ho creato un semplice sketch che mi permette di chiudere la mia striscia led che ho dietro al monitor, grazie ad un arduino nano , un transistor e un PIR per motion detection.

PIR = PIR HC-SR501
Transistor = NPN datasheet

Andatava tutto bene, se non che si sono uniti per sbaglio i due cavi volanti dei led e mi si è bruciato il transistor.
Non avendo più un NPN ma bensi 2 PNP lo ho sostituito ma non ho capito piu nulla e il circuito non funziona più. Chiaramente ho cercato di invertire i cavi per invertire il senso della corrente, ma evidentemente non ho ben capito come funzionano.

Sketch:

// ITALIAN: AUTOSPEGNIMENTO LED CON TEMPORIZZATORE FISSO A 30 MINUTI
// ENGLISH: 

/* VAR DICLARATIONS */

#define PIR 3    // D3 on arduino board
#define LED 13   // D13 
#define SWITCH 9 // D9 ON/OFF TRANSISTOR



void setup() {
  Serial.begin(9600);

  pinMode(PIR,INPUT);
  pinMode(LED,OUTPUT);
  pinMode(SWITCH,OUTPUT);
  
  digitalWrite(SWITCH,LOW);
  digitalWrite(PIR,LOW);
  digitalWrite(LED,LOW);
  
  delay(3000); // CALIBRATION TIME SENSOR
}


void loop() {

  if(digitalRead(PIR) == HIGH){
    
       digitalWrite(LED, HIGH);
       delay(50);
       digitalWrite(LED, LOW);
       delay(50);
       digitalWrite(LED, HIGH);
       delay(50);
       digitalWrite(LED, LOW);
       delay(50);
       digitalWrite(LED, HIGH);
       delay(50);
       digitalWrite(LED, LOW);
       
       digitalWrite(SWITCH,HIGH);
       
       
       delay(5000);
    } 
    
    
    
    if(digitalRead(PIR) == LOW){
  
       digitalWrite(LED, LOW);
       digitalWrite(SWITCH,LOW);
       delay(10);
       
    }


}

AutoSpegnimentoLED.pdf (419 KB)

Mi rispondo da solo, per mandare in saturazione il transistor bisogna fornire alla base un voltaggio quasi pari a 12V - 0.7V cosa che arduino non può fare.

Quindi ricompro un NPN è buona notte al secchio!

Puoi uare un PNP e interrompere il polo positivo. Per pilotare il PNP ti serve comunque un NPN

Ciao Uwe

Si avevo trovato questo schema e letto altri thread su questo forum, poi sono riuscito a trovare un altro NPN.
Trovo che per il mio progetto sia molto più facile con NPN.
Ho già messo tutto nella scatola, appena finisco pubblico tutto.

Sí, pilotare un NPN e percui interrompere la massa di un utenza é piú semplice. Non sempre é possibile. in quel caso si usa quel circuito.

Ciao Uwe

Ripensando a quando ho montato il PNP, quest'ultimo fa passare normalmente la corrente quindi bisogna fornire tensione alla base per chiudere il passaggio giusto?

Perchè pensandoci bene quando fornivo i 5V alla base il led (da 12V) di prova si attenuava di intensità.

Per spegnerlo del tutto avrei dovuto fornire circa 11,3V alla BASE, cosa che arduino non può fare da sé.

Confermate quello che ho detto?

Grazie.

Confermo quasi tutto.
I transistori PNP e NPN si pilotano in corrente . Non circola piú corrente nella base se la tensione aplicata é maggiore della tensioen sul emettitore -0,7V per i PNP e minore di 0,7 per i NPN.

Ciao Uwe

Ho ultimato il mio modesto progetto, solo che ho riscontrato un problema.

Funzionamento in breve:

Il rilevatore rileva un movimento e arduino da i 5V sulla base del transistor che fa passare i 12V dell’alimentatore.

Il problema che si verifica è questo: quando il PIR non rileva più movimento (dopo 120 sec ) il LED si spegne, ma ho notato che alcuni LED della striscia rimangono leggermente accesi.

Alimentatore usato un 12V 2A.

Da cosa può dipendere? Nel datasheet il transistor sopporta massimo 750mA.

Prima di fare qualunque prova insensata ( come provare un alimentatore 12V a 1A) volevo chiedere un vostro consiglio.

Grazie.

PS. Dato che le mie conoscenze sono limitate, ho optato per un progetto semplice, ma anche qui riscontro problemi sicuramente dovute alle lacune. Per quanto riguarda il codice ho avuto meno difficoltà perché ho sostenuto un esame all’università sul C.
Allego alcune foto del progetto