Tinkercad | Arduino e programação em texto Deixe um comentário

Vimos no artigo inicial sobre Tinkercad | Simulador de componentes eletrônicos as características do aplicativo e como criar o primeiro circuito eletrônico. Neste artigo será abordada a utilização do Tinkercad com Arduino e programação em texto.

Introdução

A Eletrônica por si só já é um campo fascinante. Conectando componentes e utilizando fontes de tensão, podemos obter circuitos simples e até mesmo mais complexos. Porém, com a integração do mundo computacional e o mundo físico, unimos a Eletrônica e a Programação, para facilitar cada vez mais o desenvolvimento de projetos.

O Arduino é uma das plataformas mais utilizadas para se desenvolver projetos eletrônicos por hobbistas e estudantes de diversas áreas.Também é bastante utilizado por interessados em aprender programação.

Para o aprendizado da plataforma Arduino, é possível dar os primeiros passos sem a necessidade da placa física. O Tinkercad possui o Arduino em sua biblioteca de componentes, além do suporte para dois tipos de programação: em texto e em blocos. Neste artigo, daremos o enfoque na programação em texto.

Programação em texto

Existem diversas linguagens e formas de se programar. No caso do Arduino, a linguagem mais utilizada é a Wiring, que é baseada na linguagem C/C++. O ambiente de programação é o Arduino IDE, onde é realizada a programação Wiring e por onde as instruções na programação são convertidas e transferidas para a placa Arduino.

Como estamos utilizando o Tinkercad, ele já possui um espaço próprio para programação Wiring, com espaço para digitar ou copiar um programa existente, além do recurso Serial Monitor, para verificar mensagens enviadas/recebidas via Serial do Arduino.

No Tinkercad, a programação Wiring é chamada de programação em texto, porque além da versão Wiring, há suporte para programação em blocos.

A seguir vamos abordar estes recursos para programação em texto.

Recursos para a programação em texto no Tinkercad

Para habilitar os recursos de programação, deve-se arrastar para a área de trabalho uma plataforma programável. No caso, localize o Arduino Uno R3 e o arraste até o centro da tela.

Demonstração de como adicionar o Arduino Uno R3 para simular programação no Tinkercad

Clique no Botão Código, localizado na parte superior (ao lado de Iniciar simulação). Serão abertas duas telas extras, como visto na próxima figura.

Imagem indicando botão código do Tinkercad

As telas abertas dentro do Tinkercad se referem à programação em blocos (veremos como realizá-la em outro artigo). Localize a palavra Blocos e clique. Será aberto um menu suspenso como na Figura abaixo.

Menu suspenso mostrando as opções de programação

Dentre as opções de programação, temos: Blocos; Blocos + texto; Texto. Escolha a opção Texto. Será aberta uma janela, que pergunta sobre o fechamento do editor de blocos.

Janela pedindo a confirmação para alternar o Tinkercad para programação em texto

Clique em Continuar. Será exibida a tela a seguir:

Destaques importantes no Tinkercad para programação em texto

A tela exibida na imagem anterior tem alguns destaques importantes para a programação:

  • Download code: Serve para baixar o código com extensão *.ino, o mesmo utilizado na IDE Arduino. Você pode utilizar o código em uma placa real.
  • Bibliotecas: É possível utilizar bibliotecas em um código na simulação. Dentre as opções disponíveis, temos: EEPROM (para uso de memória não volátil), IRremote (para leitura e interpretação de sinais de infravermelho), LiquidCrystal (para uso de displays LCD), Keypad (para funções de teclado), NeoPixel (para efeitos em LEDs endereçáveis), Servo (para controle de servomotores), SoftwareSerial (para uso de porta serial em outros pinos não nativos do Arduino), SD (para leitura e escrita em cartões SD), Wire (para aplicações variadas) .e Stepper (para motores de passo). Atenção: não é possível a utilização nem instalação de bibliotecas externas.
  • Select device: Serve para escolher qual placa Arduino vai receber a programação. Podemos usar mais de uma placa na mesma simulação.
    Área de programação: Onde o código em texto será digitado.
  • Monitor Serial: Área para envio/escrita de informações via serial. Ao clicar serão mostrados recursos extras logo abaixo da área de programação. Veja a figura:

Imagem mostrando os recursos do Monitor Serial

Dentre os recursos extras, temos:

  1. Área onde serão mostrados os dados recebidos/enviados em formato texto.
  2. Text input: entrada de texto para ser enviado via serial
  3. Send text: Após digitar o texto, clique no botão Env para ser enviado pela serial. Este botão funciona somente quando a simulação está ativa.
  4. Clear text: Serve para apagar as informações a serem enviadas na entrada de texto.
  5. Toggle: Muda para o formato Plotter, onde é possível visualizar os dados recebidos em formato gráfico.

A seguir, dois exemplos de programação em texto.

GIF exemplificando a programação em texto no Tinkercad

Exemplo 1: Pisca-pisca no Tinkercad em programação de texto

O primeiro programa para se testar uma placa Arduino é o Blink, que nada mais é que um pisca-pisca de um em um segundo. Este código está disponível assim que a opção de programação em texto é habilitada.

Código padrão no Tinkercad para programação em texto

Onde LED_BUILTIN é o LED ligado ao pino 13 do Arduino Uno R3. O código configura este pino como saída (OUTPUT) e em loop infinito, faz com que esta saída esteja em nível alto (LED acende), aguarda um segundo (1000 milissegundos), coloca a saída em nível baixo (LED apaga) e aguarda mais um segundo, até que a simulação seja parada. O interessante é poder testar o código sem precisar de nenhum elemento extra.

Clique no botão Código para ocultar a área de programação. Clique em Iniciar simulação e olhe para o LED L na placa:

GIF demonstrando a funcionalidade do código padrão do Tinkercad. Mostrando o LED L na placa piscar uma vez por segundo

O LED L pisca de um em um segundo, conforme programação. Faremos a inserção de um circuito eletrônico com um LED externo e resistor de 330Ω, montados sobre um protoboard (placa de ensaio). Arraste os itens para a tela e monte o circuito mostrado. Você pode usar o recurso de scroll do mouse para aumentar ou diminuir o zoom.

Esquemático eletrônico no Tinkercad do circuito com um LED externo e resistor de 330 Ohms

Onde:

  • Fio vermelho conecta o pino 9 do Arduino ao anodo do LED;
  • Resistor 330Ω está entre terminal catodo do LED e um fio preto que vai para o (-) da placa de ensaio;
  • Outro fio preto conecta o (-) da placa de ensaio até um dos GNDs do Arduino.

OBS: Caso tenha dúvidas sobre como montar um circuito eletrônico, consulte o artigo Tinkercad | Simulador de componentes eletrônicos que você terá um passo-a-passo completo.

Clique novamente no botão Código para realizar modificações. Altere o código como descrito a seguir:

// Blink modificado
#define LED 9 // Define pino 9 para LED
void setup() {
// Define LED como saída
pinMode(LED, OUTPUT);
}

void loop() {
// Acende LED
digitalWrite(LED, HIGH);
// Aguarda 1000 ms (1s)
delay(1000);
// Apaga LED
digitalWrite(LED, LOW);
delay(500); // Aguarda 500 ms (0,5s)
}
// Fim do programa

Após as modificações, oculte a parte do código e inicie a simulação.

GIF mostrando a simulação no Tinkercad do LED no pino 9 piscando 1 vez por segundo

Perceba que o LED L na placa não acende mais, pois o código não contém mais LED_BUILTIN. E que o LED vinculado ao pino 9 se mantém aceso por 1s e apagado por meio segundo.

Caso o funcionamento do circuito não esteja de acordo com o esperado, verifique se as conexões estão corretas e se o código apresentou algum erro. Lembrando que você pode modificar o código como bem preferir, colocando o LED em outro pino, mudando os tempos de acender e apagar, ou até mesmo inserindo mais LEDs. Experimente!

Exemplo 2: Usando um sensor de luminosidade no Tinkercad

Neste exemplo faremos uso do Monitor Serial para mostrar valores relativos ao índice de luminosidade. Para isto, serão necessários: um resistor de 10kΩ, um fotorresistor (também conhecido como LDR), bem como a placa Arduino e uma placa de ensaio. Monte o circuito como demonstrado a seguir.

Imagem ilustrando o esquemático de circuito com LDR no Tinkercad

Onde:

  • Um fio vermelho conecta um dos terminais do fotorresistor até o (+) da placa de ensaio;
  • Resistor 10kΩ está entre o outro terminal do fotorresistor e um fio preto que vai para o (-) da placa de ensaio;
  • Fio verde conecta o mesmo terminal do fotorresistor que está com o resistor 10k até o A0;
  • Outro fio preto conecta o (-) da placa de ensaio até um dos GNDs do Arduino;
  • Outro fio vermelho conecta o (+) da placa de ensaio até o 5V do Arduino.

Quando terminar a montagem, abra a área de código e insira o código a seguir:

// Sensor de temperatura
#define sensor 0 //Define pino A0 como sensor
void setup(){
// Define velocidade da Serial
Serial.begin(9600);
}

void loop(){
// Realiza leitura do sensor e armazena em variável valor
int valor = analogRead(sensor);
// Exibe valor no Monitor Serial
Serial.println(valor);
// Aguarda 100 ms
delay(100);
}
// Fim do programa

Quando o código e a montagem estiverem prontos, inicie a simulação sem ocultar a parte do código. Diminua o zoom para visualizar o circuito e programa ao mesmo tempo.

Com a simulação em andamento, clique sobre o fotoresistor. Vai aparecer um botão deslizante, que é o índice da luminosidade do Tinkercad. Ao arrastar para a esquerda, é mais escuro, para a direita mais claro.

Simulação demonstrando o funcionamento do LDR

Para visualizar a mudança de valores conforme luminosidade, basta clicar em Monitor Serial. Serão mostrados valores entre 0 a 1023, sendo os valores baixos para o ambiente mais escuro e o valores mais altos para ambientes muito claros.
Para visualizar em forma de gráfico, clique no botão Toggle e serão mostrados ao lado dos valores numéricos um gráfico correspondente aos valores de luminosidade.

GIF demonstrando a função do botão Toggle no Tinkercad

Considerações finais

Neste artigo vimos dois exemplos iniciais utilizando programação em texto: um pisca-pisca com um LED e um sensor de luminosidade. Claro que é possível expandir muito mais, tanto em relação aos circuitos montados quanto às possibilidades dos códigos. O importante é praticar, se atentar aos erros e testar as possibilidades antes de ir para uma montagem real.
Gostou de conhecer mais sobre o aplicativo Tinkercad? Ter a possibilidade de se treinar montagem de circuitos e programação neste aplicativo faz com que se perca o receio de se iniciar em uma bancada real, com bastante opções de uso de componentes eletrônicos e até uso de bibliotecas.

Deixe seu comentário logo abaixo se gostou do artigo. E, caso queira postar ou tirar dúvidas, acesse nossa Comunidade Maker no Facebook.

Faça seu comentário

Acesse sua conta e participe