Postagens

Mostrando postagens de 2015

Comando Bimanual com ARDUINO

Comando bimanual feito com arduino para ser utilizado em prensas, guilhotinas, rebitadeiras, dobradeiras, etc... o programa consiste em monitorar dois botoes e ligar uma saida em caso de acionamento simultaneo e em até 0,5 segundos de diferença, em caso de desacionamento de um dos botões a saida desliga ou em caso de ser acionado com uma diferença maior que 0,5 segundos a saida não aciona. o programa é descrito abaixo: #define botao1 2 #define botao2 3 #define saida 4 boolean aguarda_botao1 = false; boolean aguarda_botao2 = false; byte estado_botao1 = 0; byte estado_botao2 = 0; byte ultimo_estado_botao1 = 0; byte ultimo_estado_botao2 = 0; long unsigned int tempo1 = 0; long unsigned int tempo2 = 0; void setup(){   Serial.begin(9600);   Serial.println("Start");   pinMode(botao1,INPUT_PULLUP);   pinMode(botao2,INPUT_PULLUP);   pinMode(saida,OUTPUT);   estado_botao1 = HIGH;   ultimo_estado_bo...

Arduino, gravando e lendo eeprom, numero INT

Imagem
Galera! procurei na net e demorei a encontrar, quando encontrei modifiquei conforme precisava e consegui satisfazer as minhas necessidades. Então, eu precisava gravar um numero inteiro na EEPROM do arduino porém a eeprom grava apenas números de 0 a 255 ou seja um numero inteiro com valor de 12345 por exemplo, não cabe em apenas um endereço portanto devemos quebrar o numero em dois e salvar cada parte em um endereço. GRAVAÇÃO 1º - vamos quebrar a primeira parte do numero dividindo-o por 256. int numero = 12345; int parte1 = numero / 256;  //parte1 um vai receber apenas a parte inteira, ou seja, 48 2º - vamos pegar a segunda parte do numero (ou o resto) com o operador % (mod) int parte2 = numero % 256;  //parte2 vai receber apenas o resto da divisão, ou seja, 57 3º - agora podemos gravar cada parte em um endereço pois são menores que 255 // EEPROM.write(endereço,valor) EEPROM.write(0,parte1);   EEPROM.write(1,parte2);   ...