Datman:
è possibile, ad esempio scrivere: digitalWrite(13, HIGH*ON)
In questo modo no perché se ON vale 1 quando usi digitalWrite(13, LOW*ON) il led rimane acceso, o si accende. Devi eseguire una operazione booleana e non un normale prodotto, la sintassi è digitalWrite(13, STATO & ON), STATO è il variabile che determina se il led è acceso/spento, ovviamente puoi usare direttamente HIGH e LOW, e ON è la variabile che abilita/disabilita l'accensione dei led, puoi accendere il led solo se tutti e due i valori sono a 1.
Potrei usare la variabile LED al posto di HIGH: digitalWrite(13, LED)
se LED ha valore HIGH, il led si accende; se LED ha valore LOW, invece si spegne.
Posso mettere int LED = HIGH? Il compilatore non da errore...
HIGH è una costante che vale 1.
Usare un tipo int per memorizzare un dato che non avrà mai un valore numerico molto grande. Usa un tipo byte oppure un tipo boolean, entrambi occupano solo 1 cella di RAM contro le 2 del tipo int.
Boh, le moltiplicazioni sono supportate in hardware quindi è giusto un'istruzione come l'AND bit a bit.
Diciamo che il primo è il modo a logica più corretto per fare un test di quel genere.