Ominide 474 punti

Arduino - Convertitore Decimale Binario 8 bit


Oggi avremo a che fare con un progetto un po' particolare: realizzare un convertitore di numeri decimale in numeri binari a 8 bit con il solo ausilio della scheda Arduino, senza altri strumenti. Quindi assicurati di avere a portata di mano:
-Una scheda Arduino UNO;
-Il software di programmazione Arduino.
Questo progetto consiste nel collegamento al monitor seriale, al quale forniremo dei numeri decimali che il nostro convertitore trasformerà in binario.
Sappiamo benissimo che per convertire un numero decimale in binario è necessario eseguire una divisione a catena per 2 e successivamente considerarne i resti.
È ciò che faremo fare al nostro Arduino, eseguire una serie di divisioni, considerarne il resto, e stampare il risultato sul monitor seriale.

Programmazione

void setup(){
Serial.begin(9600); //Impostiamo la comunicazione col monitor seriale alla velocità di 9600 baud
}
void loop(){
int val = Serial.parseInt(); //Chiamiamo val il valore che immetteremo nel monitor seriale
if(val > 0){ //se il valore immesso è maggiore di 0, ovvero se inseriamo qualcosa,
if(val < 256){ //e se il valor immesso è minore di 256
int restouno = val%2; //chiamiamo restouno il resto del numero diviso per 2.
int restodue = ((val-restouno)/2)%2; //chiamiamo restodue il resto del numero meno il resto diviso per due, e così via, a catena.
int restoquattro = ((((val-restouno)/2)-restodue)/2)%2;
int restootto = ((((((val-restouno)/2)-restodue)/2)-restoquattro)/2)%2;
int restosedici = ((((((((val-restouno)/2)-restodue)/2)-restoquattro)/2)-restootto)/2)%2;
int restotrentadue = ((((((((((val-restouno)/2)-restodue)/2)-restoquattro)/2)-restootto)/2)-restosedici)/2)%2;
int restosessantaquattro = ((((((((((((val-restouno)/2)-restodue)/2)-restoquattro)/2)-restootto)/2)-restosedici)/2)-restotrentadue)/2)%2;
int restocentoventotto = ((((((((((((((val-restouno)/2)-restodue)/2)-restoquattro)/2)-restootto)/2)-restosedici)/2)-restotrentadue)/2)-restosessantaquattro)/2)%2;
Serial.print(restocentoventotto); //stampa il resto del bit corrispondente a 128
Serial.print(restosessantaquattro); //stampa il resto del bit corrispondente a 64
Serial.print(restotrentadue); //stampa il resto del bit corrispondente a 32
Serial.print(restosedici); //stampa il resto del bit corrispondente a 16
Serial.print(restootto); //stampa il resto del bit corrispondente a 8
Serial.print(restoquattro); //stampa il resto del bit corrispondente a 4
Serial.print(restodue); //stampa il resto del bit corrispondente a 2
Serial.println(restouno); //stampa il resto del bit corrispondente a 1

}else{
Serial.println("Numero troppo grande!"); //se la condizione è falsa, ovvero il numero è maggiore o uguale di 256, il monitor restituirà la frase tra gli apici.
}
}
}

Il gioco è fatto. Basta aprire il monitor seriale ed inserire un numero minore di 256 per avere la sua conversione in binario!

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Metti mi piace per copiare
Sono già fan
oppure registrati
Consigliato per te
Maturità 2018: come si fa il saggio breve? La guida completa