sábado, 16 de janeiro de 2021

Aula 04 - Módulo LED 8mm Tipo Semáforo


    O Módulo LED 8mm Tipo Semáforo é composto por 3 LEDs, sendo um na cor verde, um na cor amarela e outro na cor vermelha. A disposição dos LEDs no módulo faz com que o mesmo fique parecido com um semáforo e isto possibilita projetos bem interessantes.
    O Módulo LED 8mm Tipo Semáforo conta com os pinos para controle individual de cada LED e a configuração dos LEDs é catodo comum.

© Direitos de autor. 2021: Gomes; Sinésio Raimundo. Última atualização: 01/04/2021 .

sexta-feira, 15 de janeiro de 2021

EX04 - Programa: Música com o Arduino

No site Mundo Projetado há um código que simplifica e facilita bastante o processo de tocar uma música com Arduino.

Figura 01 - Diagrama para teste

O que você precisa fazer é colocar as notas, em ordem, da musica que você deseja tocar na variável musica que fica no início do programa. E, no fim da variável, escrever “Fim”. As notas disponíveis são: Do, Re, Mi, Fa, Sol, La, Si, Do#, Re#, Fa#, Sol# e La#. Não use acentos para escrever as notas e escreva a primeira letra maiúscula e a segunda minuscula. E caso exista uma pausa entre as notas, basta escrever “Pausa”. 

Exemplo: se a música possui as notas Dó, Ré#, Mi, uma pausa e a nota Fa nessa ordem, eu devo escrever: char* musica[] = {“Do”,”Re#”,”Mi”, “Pausa”, “Fa”, “Fim”};

Logo depois defina, também em ordem, o tempo – em ms – de cada nota e da pausa na variável duracao. O tempo segue a ordem respectiva da variável música: o primeiro numero é a duração da primeira nota, o segundo nº da segunda nota e por aí vai. E o tempo também define a duração da pausa. 

Pegando o mesmo exemplo anterior, a variável poderia ficar assim: int duracao[] = {200, 300, 400, 100, 300};

Observe que a pausa foi de 100ms. Feito isso, resta apenas configurar o pino do buzzer: char buz = 2;

Agora é só criar sua melodia e fazer o teste. Se você quiser ouvir a marcha imperial que tem na programação, comente a linha “tocar(musica,duracao);”  e descomente a linha “tocar(starwars,dur);”.

Arquivo do código fonte - Musica com Arduino está disponível em: 21_01_03_Musica_com_Arduino_SRG (PDF)

© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 21/02/2021

quinta-feira, 14 de janeiro de 2021

EX03 - Programa: Liga buzzer intermitente no Arduino

O programa abaixo, liga o buzzer de maneira intermitente a cada 10 segundos na placa Arduino. Neste projeto, teremos uma rotina para atribuir uma função de soma, onde a variável ao alcançar o valor programado muda sua rotina e aguarda 10 segundos para iniciar novamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Programa : Liga Buzzer intermitente no Arduino
//Autor : Sinésio Gomes
//Data :13/01/2021

int buzzer = 10; // Declara a variável "LED" do tipo inteiro no endereço "10"
 
void setup()
pinMode (buzzer, OUTPUT);//Define o buzzer como saida }

void loop()
{
int i = 0;    // Variável para contar o número de vezes que o buzzer piscou while (i < 3) { // Liga o buzzer três vezes digitalWrite (buzzer, HIGH); // Atribui nível lógico alto ao pino do buzzer delay (500); // Espera 500 milissegundos (1/2 segundo) digitalWrite (buzzer, LOW); // Atribui nível lógico baixo ao pino do buzzer delay (500); // Espera 500 milissegundos (1/2 segundo) i = i + 1; } // Aumenta o número de vezes que o buzzer ligou delay (10000); } // Espera 10 segundos para piscar o buzzer de novo  

Figura 01 - Circuito - Liga Buzzer Intermitente.

Arquivos do código fonte - Liga buzzer intermitente está disponível em: 21_01_03_Liga_Buzzer_ Intermitente_SRG (PDF)

© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 13/02/2021

quarta-feira, 13 de janeiro de 2021

EX02 - Programa: Liga, mantém e desliga LED com botão no Arduino

O programa abaixo, liga, mantém e desliga o led com um único botão ligado na placa Arduino. Os botões de pressão (push button) apenas mudam seu estado enquanto estamos pressionando, voltando ao seu estado original quando o botão é liberado. Neste projeto, teremos uma rotina para atribuir a um só botão duas funções de ligar e desligar um componente eletrônico qualquer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Programa : Liga, mantém e desliga Led com único botão no Arduino
//Autor : Sinésio Gomes
//Data :13/01/2021

int led = 0; // Declara a variável "LED" do tipo inteiro no endereço "0"
int botão = 11;//Declara a variável "botão" do tipo inteiro no endereço "11"
int funçãoa = 0; // Declara a variável "função a" com valor inicial 0
int funçãob = 0; // Declara a variável "função b" com valor inicial 0
int estado = 0; // Declara a variável "estado" com valor inicial 0
 
void setup()
{ pinMode (led, OUTPUT); //Define o led como saida
  pinMode (botão, INPUT); //Define o botão como entrada
}
 
void loop()
{funcaoa = digitalRead (botao); // ler o valor enviado pelo botão if ((funcaoa == HIGH) && (funcaob == LOW))
{estado = 1 - estado; delay (500); // tempo apertando o botão } funcaob=funcaoa; if (estado == 1)
{ digitalWrite (led, HIGH); // liga o led } else { digitalWrite (led, LOW); // desliga o led }
}

Vimos acima neste programa como empregar duas funções em um único botão no Arduino, como desligar e ligar uma lâmpada usando o mesmo botão. 

Em muitos projetos de automação temos a função de apagar e de acender uma lâmpada pelo celular ou por um controle infravermelho e nosso interruptor mecânico comumente usado fica atrapalhando esse tipo de esquema, por exemplo, se a lâmpada estiver acesa pelo interruptor convencional você não tem como apaga-la pelo seu controle automatizado com relé.

Figura 01 - Circuito - Liga, mantém e desliga LED

Outra dificuldade é que os códigos de programação mais encontrados na internet só atribuem uma função a um botão, teríamos que usar dois botões, um para ligar e outro para desligar a lâmpada, o que torna o projeto mais caro e mais complicado.

Com o uso de variáveis no programa, podemos a atribuir duas funções em um único botão.

Quando o código estiver pronto para ser carregado na placa, conecte a placa Arduino no seu computador, entre no menu ferramentas, escolha o modelo da placa e a porta na qual a mesma está conectada. Então clique no botão de compilação. Isso irá verificar se existe algum erro no código e gerar o arquivo de programa necessário para carregar na placa. Se estiver tudo OK, clique no botão carregar. Isso irá gravar o programa na placa. Caso não apareça nenhum erro, você deverá ver o LED apagado, ao acionar o botão pela primeira vez, o lede acende, ao acionar o botão novamente o LED apaga..

Arquivos do código fonte - Liga, mantém e desliga Led com um único botão está disponível em: 21_01_02_Liga_Desliga_LED_SRG (PDF)

© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 13/02/2021