Olá, pessoal! Hoje vamos aprender como fazer um semáforo usando o Arduino e o Tinkercad. Bem interessante, não é mesmo?
Para isso, vamos utilizar três LEDs, um vermelho, um amarelo e um verde, assim como as cores dos semáforos. Além disso, vamos colocar um tempo para cada um desses LEDs ficar ligado e para fazer o controle de ligar e desligar os LEDs no tempo certo, vamos utilizar o Arduino simulado no Tinkercad.
Para começar, vamos entrar na conta do Tinkercad e entrar em circuitos:
Depois, vamos clicar em “Criar novo Circuito”:
Como novo circuito aberto, vamos agora buscar o Arduino UNO para colocar dentro do circuito, procurando no painel de componentes à direta da página.
Com o Arduino dentro do circuito, vamos procurar o código que tem dentro deles. Para isso, basta clicar em cima do Arduino e, então no botão código.
Caso apareça os blocos de programação, clique na forma de texto, que será a que vamos utilizar nesta aplicação.
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
O código inicial que aparece é o blink (pisca-pisca). Esse código faz com que o LED ligue, espere um segundo, desligue e espere um segundo e depois repita todo o processo em loop:
Para a nossa aplicação, vamos acrescentar mais dois LEDs como saídas do Arduino. Dentro do código do pisca-pisca já temos um LED definido no pino 13 do Arduino, como é mostrado no trecho do código abaixo na função setup.
Lembrando que a função setup roda apenas uma única vez, enquanto a função loop, como o próprio nome diz, se mantém rodando constantemente. Dentro da função setup, precisamos configurar mais dois pinos que serão saídas do Arduino e que serão conectados aos LEDs. Na nossa aplicação vamos definir, além do pino 13 para o LED vermelho, os pinos 8 para o LED amarelo e o 2 para o LED verde. Essa configuração fica na função setup, onde colocamos esse pino como saída, isto é, OUTPUT:
E agora, para o nosso semáforo funcionar, o que vamos fazer?
Vamos mexer na função loop para deixar o semáforo acendendo e apagando as luzes. Primeiro, vamos acender o LED vermelho, que está no pino 13. Para funcionar como um semáforo, devemos ao acender um LED apagar os outros. Assim, o LED amarelo, ligado no pino 8 terá que apagar, assim como o LED verde que está no pino 2. Para isso, vamos deixar o pino 13 com a saída com nível lógico alto, isto é, HIGH, enquanto mantemos os outros com a saída com nível lógico baixo, isto é, LOW. Em termos de código, isso é feito da seguinte forma:
Após o LED vermelho acender, é importante colocarmos um tempo de espera para controlar o tempo que o LED ficará aceso e para que possamos vê-lo. Isso é feito utilizando a função delay, que faz com que o Arduino aguarde um tempo (dado em milissegundos) sem fazer nada. Terminado esse tempo de delay, vamos para a segunda parte do código que vai acender o LED amarelo e apagar os outros. No final dessa segunda parte, também vamos colocar um delay, que representará o tempo que o LED amarelo ficará aceso. O mesmo raciocínio será feito para o LED verde, completando assim o ciclo do semáforo. O código pode ser visto abaixo:
Colocamos tempos diferentes aqui para representar o tempo de cada LED aceso, assim como seria feito em um semáforo comum. Colocamos 3 segundos para o vermelho, 1 segundo para o amarelo e 4 segundos para o verde.
Bom… já temos o código pronto. Agora vamos colocar os LEDs de fato. Lembrando que o LED tem duas partes, o ânodo e o cátodo. O ânodo é a parte positiva do LED que é ligada ao sinal de saída do Arduino. O cátodo é a parte que vai ficar ligada no terra, chamado de ground em inglês (GND).
É importante frisar que é necessário colocar um resistor em série com o LED, seja antes do anodo ou depois do cátodo, para limitar a corrente que irá circular no LED, protegendo-o de queimar. No nosso caso, vamos simular com um resistor de 220 Ω, como mostrado na figura, para cada um dos LEDs. As cores que o representam são vermelho na primeira faixa, vermelho também na segunda faixa e marrom na terceira faixa.
O circuito todo montado fica da seguinte maneira:
Agora vamos dar uma olhada para ver como ele funciona:Ficou bem legal, não é mesmo? Espero que tenham gostado dessa aplicação do Arduino. Em breve, vamos trazer mais novidades e simulações dentro do Tinkercad.
Um grande abraço e até o próximo post!
Depois, vamos clicar em “Criar novo Circuito”:
Como novo circuito aberto, vamos agora buscar o Arduino UNO para colocar dentro do circuito, procurando no painel de componentes à direta da página.
Com o Arduino dentro do circuito, vamos procurar o código que tem dentro deles. Para isso, basta clicar em cima do Arduino e, então no botão código.
Caso apareça os blocos de programação, clique na forma de texto, que será a que vamos utilizar nesta aplicação.
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
O código inicial que aparece é o blink (pisca-pisca). Esse código faz com que o LED ligue, espere um segundo, desligue e espere um segundo e depois repita todo o processo em loop:
Para a nossa aplicação, vamos acrescentar mais dois LEDs como saídas do Arduino. Dentro do código do pisca-pisca já temos um LED definido no pino 13 do Arduino, como é mostrado no trecho do código abaixo na função setup.
Lembrando que a função setup roda apenas uma única vez, enquanto a função loop, como o próprio nome diz, se mantém rodando constantemente. Dentro da função setup, precisamos configurar mais dois pinos que serão saídas do Arduino e que serão conectados aos LEDs. Na nossa aplicação vamos definir, além do pino 13 para o LED vermelho, os pinos 8 para o LED amarelo e o 2 para o LED verde. Essa configuração fica na função setup, onde colocamos esse pino como saída, isto é, OUTPUT:
E agora, para o nosso semáforo funcionar, o que vamos fazer?
Vamos mexer na função loop para deixar o semáforo acendendo e apagando as luzes. Primeiro, vamos acender o LED vermelho, que está no pino 13. Para funcionar como um semáforo, devemos ao acender um LED apagar os outros. Assim, o LED amarelo, ligado no pino 8 terá que apagar, assim como o LED verde que está no pino 2. Para isso, vamos deixar o pino 13 com a saída com nível lógico alto, isto é, HIGH, enquanto mantemos os outros com a saída com nível lógico baixo, isto é, LOW. Em termos de código, isso é feito da seguinte forma:
Após o LED vermelho acender, é importante colocarmos um tempo de espera para controlar o tempo que o LED ficará aceso e para que possamos vê-lo. Isso é feito utilizando a função delay, que faz com que o Arduino aguarde um tempo (dado em milissegundos) sem fazer nada. Terminado esse tempo de delay, vamos para a segunda parte do código que vai acender o LED amarelo e apagar os outros. No final dessa segunda parte, também vamos colocar um delay, que representará o tempo que o LED amarelo ficará aceso. O mesmo raciocínio será feito para o LED verde, completando assim o ciclo do semáforo. O código pode ser visto abaixo:
Colocamos tempos diferentes aqui para representar o tempo de cada LED aceso, assim como seria feito em um semáforo comum. Colocamos 3 segundos para o vermelho, 1 segundo para o amarelo e 4 segundos para o verde.
Bom… já temos o código pronto. Agora vamos colocar os LEDs de fato. Lembrando que o LED tem duas partes, o ânodo e o cátodo. O ânodo é a parte positiva do LED que é ligada ao sinal de saída do Arduino. O cátodo é a parte que vai ficar ligada no terra, chamado de ground em inglês (GND).
É importante frisar que é necessário colocar um resistor em série com o LED, seja antes do anodo ou depois do cátodo, para limitar a corrente que irá circular no LED, protegendo-o de queimar. No nosso caso, vamos simular com um resistor de 220 Ω, como mostrado na figura, para cada um dos LEDs. As cores que o representam são vermelho na primeira faixa, vermelho também na segunda faixa e marrom na terceira faixa.
O circuito todo montado fica da seguinte maneira:
Agora vamos dar uma olhada para ver como ele funciona:Ficou bem legal, não é mesmo? Espero que tenham gostado dessa aplicação do Arduino. Em breve, vamos trazer mais novidades e simulações dentro do Tinkercad.
Um grande abraço e até o próximo post!
Depois, vamos clicar em “Criar novo Circuito”:
Como novo circuito aberto, vamos agora buscar o Arduino UNO para colocar dentro do circuito, procurando no painel de componentes à direta da página.
Com o Arduino dentro do circuito, vamos procurar o código que tem dentro deles. Para isso, basta clicar em cima do Arduino e, então no botão código.
Caso apareça os blocos de programação, clique na forma de texto, que será a que vamos utilizar nesta aplicação.
// C++ code
//
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
O código inicial que aparece é o blink (pisca-pisca). Esse código faz com que o LED ligue, espere um segundo, desligue e espere um segundo e depois repita todo o processo em loop:
Para a nossa aplicação, vamos acrescentar mais dois LEDs como saídas do Arduino. Dentro do código do pisca-pisca já temos um LED definido no pino 13 do Arduino, como é mostrado no trecho do código abaixo na função setup.
Lembrando que a função setup roda apenas uma única vez, enquanto a função loop, como o próprio nome diz, se mantém rodando constantemente. Dentro da função setup, precisamos configurar mais dois pinos que serão saídas do Arduino e que serão conectados aos LEDs. Na nossa aplicação vamos definir, além do pino 13 para o LED vermelho, os pinos 8 para o LED amarelo e o 2 para o LED verde. Essa configuração fica na função setup, onde colocamos esse pino como saída, isto é, OUTPUT:
E agora, para o nosso semáforo funcionar, o que vamos fazer?
Vamos mexer na função loop para deixar o semáforo acendendo e apagando as luzes. Primeiro, vamos acender o LED vermelho, que está no pino 13. Para funcionar como um semáforo, devemos ao acender um LED apagar os outros. Assim, o LED amarelo, ligado no pino 8 terá que apagar, assim como o LED verde que está no pino 2. Para isso, vamos deixar o pino 13 com a saída com nível lógico alto, isto é, HIGH, enquanto mantemos os outros com a saída com nível lógico baixo, isto é, LOW. Em termos de código, isso é feito da seguinte forma:
Após o LED vermelho acender, é importante colocarmos um tempo de espera para controlar o tempo que o LED ficará aceso e para que possamos vê-lo. Isso é feito utilizando a função delay, que faz com que o Arduino aguarde um tempo (dado em milissegundos) sem fazer nada. Terminado esse tempo de delay, vamos para a segunda parte do código que vai acender o LED amarelo e apagar os outros. No final dessa segunda parte, também vamos colocar um delay, que representará o tempo que o LED amarelo ficará aceso. O mesmo raciocínio será feito para o LED verde, completando assim o ciclo do semáforo. O código pode ser visto abaixo:
Colocamos tempos diferentes aqui para representar o tempo de cada LED aceso, assim como seria feito em um semáforo comum. Colocamos 3 segundos para o vermelho, 1 segundo para o amarelo e 4 segundos para o verde.
Bom… já temos o código pronto. Agora vamos colocar os LEDs de fato. Lembrando que o LED tem duas partes, o ânodo e o cátodo. O ânodo é a parte positiva do LED que é ligada ao sinal de saída do Arduino. O cátodo é a parte que vai ficar ligada no terra, chamado de ground em inglês (GND).
É importante frisar que é necessário colocar um resistor em série com o LED, seja antes do anodo ou depois do cátodo, para limitar a corrente que irá circular no LED, protegendo-o de queimar. No nosso caso, vamos simular com um resistor de 220 Ω, como mostrado na figura, para cada um dos LEDs. As cores que o representam são vermelho na primeira faixa, vermelho também na segunda faixa e marrom na terceira faixa.
O circuito todo montado fica da seguinte maneira:
Agora vamos dar uma olhada para ver como ele funciona:
Ficou bem legal, não é mesmo? Espero que tenham gostado dessa aplicação do Arduino. Em breve, vamos trazer mais novidades e simulações dentro do Tinkercad.
Um grande abraço e até o próximo post!