Postagens

MAX7219 no PIC16F628A

Imagem
    Alguém já deve ter ficado cotando os pinos do PIC para poder multiplexar os displays de 7 segmentos os quais utilizam muitas saidas, por exemplo, para ligar 4 displays de 7 segmentos são usados nada mais nada menos do que 12 pinos o que é um número considerável de saídas e dependendo do projeto e do PIC utilizado fica impossível de utilizá-los.     Há sim outra forma de resolver isso, existe um circuito integrado que faz a multiplexação dos displays e que pode ligar até 8 display de 7 segmentos este é o MAX7219, o qual também pode multiplexar matrizes de LED.      MAX7219 datasheet     O MAX7219 tem um funcionamento bem simples. segue abaixo um modelo de escrita MAX7219_CS = 0; Soft_SPI_Write(0x0A);//comando Soft_SPI_Write(0x08);//valor MAX7219_CS = 1;    Ou seja, enviamos um bit baixo ao pino LOAD , logo após enviamos o comando e o valor que queremos escrever, depois disso enviamos o bit alto para o LOAD.    A tabela 2 do datasheet mostra os comandos do MAX7219

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_botao1 = HIGH;   estado_