Nel pomeriggio ho pensato che la tua fosse una domanda ipotetica
steve-cr:
Quindi se come MSB ricevo un 1 poi spiegami come lo trasformo in numero decimale dato che mi mancano le altre 23 cifre binarie... E comunque non ha senso trasformarlo 24 volte...
nel pomeriggio ho crreduto la tua fosse una domanda retorica, poi ci ho pensato bene, e complice una panascè di troppo forse ho capito che la tua non è domanda ipotetica
questo è il tuo codice, preso dal mesagio numero 7
void setup() {
pinMode(3, OUTPUT);
pinMode(4, INPUT);
digitalWrite (3,LOW);
Serial.begin(9600);
}
void loop() {
unsigned long int numero=0;
if (digitalRead (4) == LOW) {
for (int i=0; i <= 24; i++){
digitalWrite (3,HIGH);
// data = digitalRead (4);
// NO NO, niente Stringhe
numero=numero*2+digitalread(4);
// mi ricordassi la sintassi degli shift di bit farei anche prima
//delay (1);
digitalWrite (3,LOW);
}
Serial.println (numero);
}
}
lo ho corretto qui, vedi se compila
ti ho lasciato commenteta una sola riga, dove ipostavi la variabile data
subito dpo hai la versione numerica
se compila ho buona confdenza che vada
casomai lasciami passare la sbornia
buonanotte