Board 8 relè con funzionamento opposto?!

Salve ragazzi, è il primo post che scrivo qui sopra.
Sono un Ingegnere meccanico laureando a l'Aquila...come sapete, ingegneria meccnica e elettronica/linguaggio di programmazione non vanno spesso a braccetto, anzi, diciamo che elettronica e meccanico è un po' come acqua e fuoco.
Però a me piace sia l'acqua che il fuoco e da sempre sono stato appassionato di elettronica, nonostante ho scelto come facoltà ingegneria meccanica.
Da un po' di tempo mi sono avvicinato ad Arduino, secondo me una delle piattaforme più versatili in assoluto in campo di automazione a basso costo, e, sempre secondo me, dovrebbe essere RIGOROSAMENTE insegnata agli studenti di corsi di automazione industriale, invece di perdere ore e ore a spiegare i PLC, che magari hanno un SW di programmazione proprietario.

Come potete immaginare la mia "cultura" sull'elettronica è molto molto base, quindi vi vorrei esporre un problema che ho riscontrato ultimamente e vedere se ho capito il tutto.

Ho realizzato tempo fa un progettino con Arduino che permetteva di ottenere il comando di 8 relè, sia tramite un controllo seriale bluetooth (4 uscite), sia tramite un sensore di luminosità (2 uscite) e tramite due switch di presenza (le altre 2). Un micro impianto domotico che serve ad accendere le luci del giardino con un funzionamento "crepuscolare", un apertura e chiusura del garage al passaggio su delle bande che mi attivano lo switch di presenza. Delle 4 uscite comandate tramite bluetooth, una per comandare il cancello pedonale e una per aprire la porta di casa. Insomma, più che domotica è più una "nerdata" :grin:

E siccome le nerdate piacciono, un amico mi ha chiesto di replicarglielo.
Niente di più semplice, ho comprato un arduino UNO, un modulo bluetooth hc-05 e una board 8 relè (diversa dalla mia). Carico lo sketch, vado a vedere e...funzionamento totalmente invertito. I relè che devono essere attivi sono spenti e viceversa. Controllo i jumper che presenta quest'ultimo sulla scheda, ma non ci capisco nulla e non lo tocco.

Vi faccio vedere gli schemi:

Questa è la board che ho io, alll'uscita HIGH di un pin corrisponde l'attivazione del relativo relè

Questa è l'altra board del mio amico, con i relè optoisolati, che ho preso perchè era in offerta a 6 euro
Al pin in funzione HIGHT corrisponde il relè disattivato, e, correggetemi se sbaglio, questo avviene perchè ai capi dell'emettitore dell'optoisolatore, da una parte è presente la VCC che proviene dall'alimentazione, dall'altro capo c'è IN1 che se è in hight ha la stessa ddp di VCC e quindi non fluisce corrente. Sbaglio?

Funzionalmente le due schede funzionano invertite, giusto?

Vi ringrazio

E' del tutto normale il comportamento della scheda con gli optoisolatori.

Come hai riscontrato, il funzionamento è invertito: il segnale HIGH che sulla scheda con transistor PNP provocava l'accensione del relè, sull'altra lo disattiva.

Se osservi lo schema, il LED spia (e quindi il LED dell'optoisolatore) si accende con un segnale LOW.

Puoi risolvere la cosa a livello software semplicemente invertendo la logica di funzionamento.

Ti ringrazio,
Sì, infatti ho fatto un trova e sostituisci, aggiunto 8 stringhe per mettere tutti le uscite in high e ho risolto, ma ero curioso di sapere se avevo fatto bene i "ragionamenti". Purtroppo, come detto, io l'elettronica l'ho appresa alla "guarda, impara, applica" e non con un percorso di studio lineare.
Mi confermi che, nonostante l'uscita in high, il flusso di corrente è nullo (sostanzialmente non consumo)?

Con l'uscita HIGH la corrente è trascurabile, mentre quando è LOW la corrente dipende dal resistore da 1k presente tra i +5V ed il LED di segnalazione: considerando una caduta di tensione di 3V per i due LED in serie, corrente sarà I = V / R = (5V - 3V) / 1000 ohm = 2mA.