Come si usa la libreria 74HC595

Buongiorno a tutti,
innanzitutto vi ringrazio per la cortesia dimostratami.
Poi avendo fatto un po di prove mi è risultato buono il suggerimento di

brunello22:
esistono degli operatori che lavorano sui bit Xor e Or

esempio

 byte ledGiallo = 16;

byte ledRosso = 8;
 byte ledVerde = 4;

byte a = ledGiallo + ledRosso + ledVerde ; // accende tre led
 My595.Send595Pin(a, 1);

a = a ^ ledGiallo + ledRosso  ; // esegue Xor e spegne ledGiallo e ledRosso
 My595.Send595Pin(a, 1);
 
 a = a | ledGiallo ; // Esegue Or e riaccende  ledGiallo
 My595.Send595Pin(a, 1);
 
 a = a | ledRosso ; // Esegue Or e riaccende  ledRosso
 My595.Send595Pin(a, 1);

a = a ^ ledRosso  ; // esegue Xor e spegne ledRosso
 My595.Send595Pin(a, 1);

ma almeno a me da un problema......cioè che se comando un led ed eseguo altre istruzioni e poi ne comando un'altro il led precedente si spegne.......
siccome sto creando un progetto della lettura da rfid con disinserimento allarme accensione luci se al momento dell'apertura c'è buio, e reinserimento dell'allarme, vi mando i due sketch completi.
Provate a fare il confronto e poi ditemi cosa sbaglio....

grazie ancora

lettore_apriporta_case_2.ino (4.61 KB)

lcd_con_led_3_fili_rfid_prova.ino (6.6 KB)