Go Down

Topic: Programmare cubo led 4x4x4 con due 74HC595 (Read 15435 times) previous topic - next topic

toti94

Quote
byte address_1= B00000000;
bitSet(i, address_1);

In pratica prima dichiaro il byte, poi setto su 1 il bit corrispondente al contatore del ciclo, da 0 a 7 sulla prima serie e da 7 a 15 sulla seconda serie :\

leo72


Etemenanki


Quote
per trasformare il blocco di 4 righe che scrive tutti 0 sulle uscite, c'e' un modo per mandare lo stesso comando contemporaneamente a tutte e 4 le uscite ? (sul reference non ho trovato nulla a proposito di questo) ... oppure bisogna per forza definire una subroutine esterna e richiamarla ogni volta ? .


Non ho capito di quale blocco parli :\


Mi riferivo a:

  digitalWrite(npn[0], LOW);
  digitalWrite(npn[1], LOW);
  digitalWrite(npn[2], LOW);
  digitalWrite(npn[3], LOW);

Per spegnere tutti gli strati ... mi chiedevo se fosse possibile con una digitalwrite sola passare lo stesso parametro a 4 o piu pin diversi (sul reference non ho trovato nulla a proposito di questo), o se fosse meglio creare una subroutine e richiamarla ogni volta ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

toti94

o fai ogni volta un ciclo così:
Code: [Select]

for(i=0;i<4;i++)
{
digitalWrite(npn[i], LOW);
}

oppure questo ciclo lo inserisci in una funzione che chiami spegni_livelli() e ogni volta te la richiami, altri modi non li conosco :\

Etemenanki

Si, era quello che intendevo ... una funzione esterna o un ciclo, non c'e' apparentemente modo di passare lo stesso comando a piu pin contemporaneamente con una sola digitalwrite ... grazie.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Go Up