Enviado em 20/12/2016 - 06:31h
Estou querendo fazer uma calculadora com operaçoes +, -, * e / que retorna um valor em binario nos leds, so que estou com um problema na hora de converter o numero decimal para binario, a logica que estou utilizando funciona para algumas operaçoes. Segue o codigo abaixo:
int contador = 0, contador1 = -1, contador2 = -1, sinal = -1;
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
contador = 0;
if (Serial.available() > 0) {
contador1 = Serial.read();
Serial.flush();
}
if( Serial.available() > 0){
sinal = Serial.read();
Serial.flush();
}
if( Serial.available() > 0){
contador2 = Serial.read();
Serial.flush();
}
switch(sinal){
case '+':
contador = contador1 + contador2;
break;
case '-':
contador = contador1 - contador2;
break;
case '*':
contador = (int)contador1 * contador2;
break;
case '/':
contador = (int)contador1 / contador2;
break;
}
digitalWrite(11,contador % 2);
digitalWrite(10,(contador >> 1) % 2);
digitalWrite(9,(contador >> 2) % 2);
digitalWrite(8,(contador >> 3) % 2);
digitalWrite(7,(contador >> 4) % 2);
delay(5000);
contador1 = -1;
contador2 = -1;
sinal = -1;
apagaLeds();
delay(1000);
}
void apagaLeds(){
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)