Para esta aplicação utilizei o Módulo LED 8mm Tipo Semáforo que é 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.
A primeira coisa que fazemos no início do programa é colocar uma pequena observação sobre o nome do programa, sua função e quem o criou:
1 2 3 | // Programa : Semáforo Rua Avenida com Arduino // Autor : Sinésio Gomes// Data : 16/05/2023 |
- Comece uma linha com barras duplas ( // ) e tudo o que vier depois dessa linha será tratado como um comentário. Uma das boas práticas de programação é documentar o seu código por meio das linhas de comentário. Com elas, você pode inserir observações sobre como determinada parte do programa funciona ou o que significa aquela variável xyz que você criou. Isso será útil não só para você, se precisar alterar o código depois de algum tempo, como também para outras pessoas que utilizarão o seu programa.
Após os comentários, vem a estrutura do setup(). É nela que definimos que os pinos de 8 a 13 do Arduino serão utilizados como saída.
4 5 6 7 8 9 10 11 12 13 14 | void setup() { //Define as portas dos led's como saídas pinMode(8, OUTPUT); pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT); } |
Por último, temos o loop(), que contém as instruções para acender e apagar os led's da vias, e também o intervalo entre essas ações.
15 16 17 18 19 20 21 22 23 24 25 26 50 | void loop() { //Acende e apaga os led's de cada semáforo das vias digitalWrite(8, HIGH); digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
//Aguarda o intervalo especificado delay(6000); // A estrutura de programação acima irá se repetir para cada intervalo //de funcionamento do semáforo, mudando apenas o led que será acionado //e o intervalo de tempo. } |
- A linha do código contendo digitalWrite(13, HIGH) coloca a porta 13 em nível alto (HIGH, ou 1), acendendo o led embutido na placa.
- O comando delay(6000), especifica o intervalo, em milissegundos, no qual o programa fica parado antes de avançar para a próxima linha.
- O comando digitalWrite(13, LOW), apaga o led, colocando a porta em nível baixo (LOW, ou 0), e depois ocorre uma nova parada no programa, e o processo é então reiniciado.
Figura 02 - Módulo LED 8mm. |
O arquivo do diagrama elétrico - Semáforo de duas vias estará disponível em: 23_05_01_Circuito_Semáforo_duas_vias_SRG (PDF).
Exercício proposto pelo Professor Murilo Henrique Miranda.
© Direitos de autor. 2023: Gomes; Sinésio Raimundo. Última atualização: 16/05/2023
Nenhum comentário:
Postar um comentário