Botões com múltiplas funções e trava
Nesse artigo vai ser apresentado uma aplicação onde explora um pouco mais a aplicação de entradas e saídas digitais do Arduino. Também vai ser apresentado uma nova ferramenta que ajuda muito o usuário durante a elaboração de um circuito, o 123D circuits da empresa Autodesk.
fonte: http://www.123dapp.com/circuits
Circuits.io
Pensando no desenvolvedores de projetos voltados especificamente para as áreas de automação e eletrônica, o 123D circuits é um software em nuvem, que permite que o usuário construa circuitos e simulem ensaios on-line na plataforma open source do Arduino.
Outro recurso que o software dispõe é a opção do usuário imprimir o circuito criado para uma impressora 3D a partir do app que a ferramenta já trás. E as vantagens não param por aí, o serviço é acessível a todos, o uso é gratuito, onde o usuário que ainda não tem uma conta no site da Autodesk, deve cadastrar-se e usufruir, tendo acesso a diversos componentes, chips além do Arduino.
Acessando o site da Autodesk, 123D circuits o usuário encontra uma plataforma de desenho semelhante ao ambiente do Fritzing, que é o mais utilizado para representar as ligações em um circuito eletrônico.
fonte: próprio autor
Criando uma aplicação com 123D Circuits
Vou fazer como demonstração um circuito simples com um código onde usarei dois botões que vão ser atribuídos mais de uma função à eles, teremos um botão para acionar ligação em diversos leds em sequência e outro botão para desligá-los também sequencialmente. Depois de simulado vou comparar a fidelidade da simulação com a situação prática do circuito.
Com todos os componentes selecionados a montagem do circuito deve ficar como o esquema demonstrado na figura abaixo.
fonte: próprio autor
Para essa montagem é necessário ter em mãos:
1 Arduino ou compatível;
1 protoboard
2 capacitores 1uF eletrolítico
2 chaves tipo push button
2 resistores 1kohm
6 resistores 220 ohm
6 Leds de cores variadas
fios jumpers
Código fonte
Copie e cole o código fonte usado como exemplo que se encontra abaixo para verificar o funcionamento, consiste em uma sequência de leds sendo acionado um por vez em uma ordem "crescente" e depois sendo possível o desligamento obedecendo uma ordem "decrescente".
fonte: próprio autor
//** Elaborado por Tony Emerson Marim em 11/11/2016.
/** mecatronizei@gmail.com **/
/** Botão com multiplas funções */
void setup()
{
pinMode(13, OUTPUT);
pinMode(7, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
digitalWrite(13, LOW);
digitalWrite(7, LOW);
digitalWrite(14,LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
pinMode(2, INPUT);
pinMode(3, INPUT);
}
char cont = 0;
boolean flagb1 = 0, flagb2 = 0;
void loop()
{
boolean botao1 = digitalRead(2);
boolean botao2 = digitalRead(3);
if( (botao1 == 1) && (flagb1 == 0))
{
flagb1 = 1;
}
if( (botao1 == 0) && (flagb1 == 1))
{
flagb1 = 0;
cont++;
}
if( (botao2 == 0) && (flagb2 == 0))
{
flagb2 = 1;
}
if( (botao2 == 1) && (flagb2 == 1))
{
flagb2 = 0;
cont--;
}
if(cont > 6) cont = 6;
if(cont < 0) cont = 0;
leds(cont);
delay(10);
}
void leds(byte ledsCont)
{
switch(ledsCont)
{
case 0:
digitalWrite(13, LOW);
digitalWrite(7, LOW);
digitalWrite(14,LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
break;
case 1:
digitalWrite(13, HIGH);
digitalWrite(7, LOW);
digitalWrite(14,LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
break;
case 2:
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(14,LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
break;
case 3:
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(14,HIGH);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
break;
case 4:
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(14,HIGH);
digitalWrite(15, HIGH);
digitalWrite(16, LOW);
digitalWrite(17,LOW);
break;
case 5:
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(14,HIGH);
digitalWrite(15, HIGH);
digitalWrite(16, HIGH);
digitalWrite(17,LOW);
break;
case 6:
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(14,HIGH);
digitalWrite(15, HIGH);
digitalWrite(16, HIGH);
digitalWrite(17,HIGH);
break;
}
}
Diferente da maioria dos softwares de simulação com a plataforma Arduino, o 123D circuits trabalha com o código escrito pelo usuário, utilizando as bibliotecas, sendo possível escrevê-los além da conhecida IDE do Arduino, então não há a necessidade do usuários localizar a pasta onde foi gerado o arquivo . HEX e importá-lo.
No vídeo que segue é possível ver o funcionamento simulado e o projeto montado, demonstrando a fidelidade do software.
Curtiu? Increva-se na nossa FanPage e Compartilhe!
Inscreva-se no nosso canal!
Baixe o projeto completo nesse Link!
fonte: próprio autor
No vídeo que segue é possível ver o funcionamento simulado e o projeto montado, demonstrando a fidelidade do software.
Curtiu? Increva-se na nossa FanPage e Compartilhe!
Inscreva-se no nosso canal!
Baixe o projeto completo nesse Link!
Bons estudos!
Nenhum comentário:
Postar um comentário