1. Vamos programar um semáforo! Tens tudo pronto? Abre a tua conta Tinkercad para começares a atividade.
• Se já tiveres conta criada, clica em Entrar.
• Se não tiveres conta, clica no botão INSCREVA-SE AGORA e pede ajuda a um adulto para realizar os passos seguintes.
Por segurança, e para proteger a nossa privacidade, é recomendável:
– evitar utilizar o nome completo como username;
– utilizar uma palavra-passe que contenha uma maior diversidade de caracteres (maiúsculas, números e símbolos), mas nunca dados pessoais como, por exemplo, a data de nascimento.
Caso o Tinkercad não esteja em português, podes alterar o idioma no fundo da página principal.
2. Após criares a tua conta, no lado direito da página principal, clica em Circuitos. Depois, clica no botão verde Criar novo Circuito.
NOTA: Podes clicar nas imagens demonstrativas da ferramenta para ampliares.
Ao clicares nesse botão, verás a interface do Tinkercad assim:
• No lado direito do ecrã, na zona assinalada a vermelho, encontras uma lista de componentes que podes usar;
• Na zona assinalada a verde, encontras o botão Iniciar simulação. Clica neste botão, sempre que quiseres testar o funcionamento do teu circuito;
• Na zona assinalada a roxo, encontras dois botões: um botão para rodar o componente e outro para apagá-lo;
• Na zona assinalada a rosa, podes desfazer ou refazer as ações que efetuaste no projeto;
• Na zona assinalada a laranja, podes criar anotações e exibi-las ou escondê-las;
• Na zona assinalada a amarelo, podes escolher a cor e o tipo dos fios de ligação a utilizar;
• Para usares um componente, basta selecioná-lo e arrastá-lo para a área de trabalho, assinalada a azul.
3. No lado direito do ecrã, na zona anteriormente assinalada a vermelho, pesquisa pela palavra “arduino”. Arrasta o Arduino Uno R3 para a área de trabalho.
O Arduino é uma plataforma de prototipagem, ou seja, permite-nos construir projetos, envolvendo eletrónica e programação. Para a parte de programação, já temos tudo o que precisamos. Vamos agora construir o circuito elétrico.
4. Primeiro, no lado direito do ecrã, pesquisa por “placa”. Arrasta a Placa de ensaio pequena para a área de trabalho, como na imagem.
O que arrastaste também é conhecido como breadboard. Esta é a placa onde vais construir o circuito. A breadboard contém vários furinhos ligados entre si, através de colunas. Estes permitem-nos simplificar os circuitos, ao evitar o uso de muitos fios. Para criar um fio, clica no furo onde o queres colocar e clica outra vez no local onde é suposto ligar esse fio, que pode ser ou não a breadboard.
Na barra de menu, podes mudar a cor do fio, clicando no botão com a cor verde. Também podes apagar o fio. Para isso, seleciona-o, clicando sobre ele, e, na barra menu, clica no botão Excluir (botão com a forma de um balde do lixo) ou clica na tecla Delete do teclado.
5. Vamos montar o seguinte circuito:
Vais precisar de um Visor de sete segmentos e uma resistência (no Tinkercad, uma resistência chama-se resistor). O Visor de sete segmentos é um pequeno ecrã que mostra números formados por segmentos/tracinhos luminosos, como se vê em alguns relógios e despertadores.
Pesquisa por “Visor de sete segmentos” na barra de pesquisa.
Arrasta o componente para cima da breadboard. Como reparaste, apareceu uma caixa do lado direito deste componente, onde aparecem as definições do Visor. Em Comum, seleciona a opção Catódica.
Em seguida, vais ligar os fios da breadboard aos pinos do Arduino. Os pinos do Arduino permitem-nos que os sinais fluam do circuito para o Arduino e depois para o computador e vice-versa. Estes sinais podem ser digitais quando aceitam dois estados e analógicos quando aceitam sinais que são contínuos. Os sinais digitais estão associados a ações como o ligar ou desligar de uma luz enquanto os analógicos a medições de temperatura, humidade…
Estes sinais são recebidos e transmitidos pelo Arduino através de dois grandes tipos de pinos:
• Os digitais assinalados a vermelho;
• Os analógicos assinalados a verde.
Dentro dos pinos digitais, existem pinos assinalados com ~. Estes pinos digitais são especiais pois através de sinais digitais simulam sinais analógicos. São chamados PWM (Pulse-width modulation).
Em baixo, estão descritos outros pinos que é importante conheceres:
• RES – O RESET permite-te fazer um reset externo do Arduino ao programares a placa física;
• 3,3 V – Alimenta o Arduino com 3,3 V e uma corrente máxima de 50 mA;
• 5 V – Alimenta o Arduino com 5 V e uma corrente máxima de 50 mA;
• GND – O GROUND, também conhecido como terra.
Liga os vários fios da breadboard aos pinos do Arduino.
• O fio verde liga a penúltima linha horizontal da breadboard ao pino GND do Arduino;
• O fio preto liga o último pino, a contar da esquerda para a direita, que está por baixo do visor de sete segmentos, ao pino 0 do Arduino;
• O fio vermelho liga o penúltimo pino, a contar da esquerda para a direita, que está acima do visor ao pino 1 do Arduino;
• O fio laranja liga o último pino, a contar da esquerda para a direita, que está acima do visor, ao pino 2 do Arduino;
• O fio amarelo liga o penúltimo pino, a contar da esquerda para a direita, abaixo do visor ao pino 3 do Arduino;
• O fio azul turquesa liga o segundo pino, a contar da esquerda para a direita, que está abaixo do visor, ao pino 4 do Arduino;
• O fio azul liga o primeiro pino, a contar da esquerda para a direita, abaixo do visor, ao pino 5 do Arduino;
• O fio roxo liga o segundo pino, a contar da esquerda para a direita, que está acima do visor, ao pino 6 do Arduino;
• O fio rosa liga o primeiro pino, a contar da esquerda para a direita, que está acima do visor, ao pino 7 do Arduino.
O circuito recebe eletricidade do Arduino. Contudo, esta é excessiva para o uso que lhe vais dar. Para retirar este “excesso” de eletricidade, pesquisa por “resistor” na barra de pesquisa, e liga a resistência à penúltima linha horizontal da breadboard como na imagem:
A unidade de medida da resistência elétrica é o Ohm (Ω). Quando colocas a resistência na placa, irá aparecer uma caixa que te permite alterar o valor da tua resistência. Para este circuito, altera as definições da resistência para 220Ω, escrevendo “220” à frente do campo Resistência e selecionando a unidade Ω.
6. Agora que já montaste o circuito, vais dar-lhe instruções: dizer, através de código, o que ele tem de fazer para funcionar. Primeiro, na barra de menu, no lado direito do ecrã, clica no botão Código. Irá aparecer uma janela abaixo. Aí, clica na seta ao lado da palavra Bloco e seleciona a opção Texto. Irá aparecer uma nova janela. Clica em Continuar.
Existe algum código previamente escrito como exemplo. Apaga-o e escreve o código abaixo:
7. Passa com o cursor do rato por cima do visor. Se reparares, todos os pinos do visor estão identificados, cada um corresponde a um dos tracinhos luminosos do visor. A cada pino do visor ligamos um pino digital do Arduino, também devidamente identificado.
8. Na zona destacada a azul na imagem, através do código, damos um nome a cada um dos pinos do visor, tendo em conta a identificação dos mesmos, e identificamos os pinos do Arduino a que estes estão ligados. Por exemplo, o pino DP do visor chama-se “dp” no código e está ligado ao pino 0, logo o código correspondente a esse pino é int dp = 0.
Na zona destacada a vermelho, usamos a função pinMode(). Este diz ao computador se um determinado componente dá ou recebe informação. Neste caso, indica-nos se o Visor de sete segmentos dá (INPUT) ou recebe (OUTPUT) informação do Arduino.
Como é o Arduino que está a “mandar” o visor fazer algo, significa que o visor está a receber informação, logo é identificado com o código de OUTPUT. Criamos uma linha de código para cada pino do visor.As linhas de código anterior estão escritas “dentro” do void setup(). Tudo o que está escrito dentro da função void setup() é lido pelo Arduino apenas uma vez.
Na zona destacada a roxo, dizemos a cada um dos segmentos, ou tracinhos, do Visor de sete segmentos o que estes têm de fazer. Por exemplo:
• Quando escreves digitalWrite(a, HIGH);, estás a dizer ao tracinho correspondente ao pino A do visor (referido no código como “a”) para ele acender (HIGH);
• Quando escreves delay(2000), estás a dizer aos tracinhos que esperem 2 segundos; O delay() conta o tempo milissegundos (ms), pelo que 2000 ms = 2s;
• Quando escreves digitalWrite(a, LOW);, estás a dizer ao tracinho correspondente ao pino A do visor (referido no código como “a”) para este se desligar (LOW);O código está escrito “dentro” da função void loop(). Tudo o que está escrito dentro do void loop() é lido pelo Arduino infinitas vezes (até o mandares parar).
Agora que já sabes a que ações correspondem as linhas de código que já tens, copia o resto do código!
digitalWrite(dp,HIGH);
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
delay(2000);
digitalWrite(dp,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(2000);
digitalWrite(dp,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
delay(2000);
digitalWrite(dp,HIGH);
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(2000);
digitalWrite(dp,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(2000);
digitalWrite(dp,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
delay(2000);
}
9. Clica no botão Iniciar simulação para veres o que acontece. Repara: o visor conta do 0 a 6!
10. Explora o Tinkercad e cria novos circuitos com o Arduino.