01 - Introdução A Programação Com Robótica e Arduino
01 - Introdução A Programação Com Robótica e Arduino
programação
com robótica
e arduino
Sumário
1 Introdução 02
2 Robótica 04
3 Programação 10
Referências 19
introdução
Oi, seja bem vindo ao nosso curso introdutório de robótica e programação utilizando um
dispositivo chamado Arduino. Neste curso você irá começar a aprender a criar programas de
computador. Mas isso não será como nos outros cursos nos quais você faz seu programa e depois
executa ele no computador. Aqui você irá ter um contato inicial com a robótica montando circuitos que
serão controlados pelo Arduino.
Você irá ligar as mais diversas coisas (luzes, interruptores, motores, etc.) no Arduino e irá criar
um programa para que ele controle essas coisas. Legal não é?
Vamos começar então falando um pouco sobre robótica, programação e sobre o que é o
Arduino. Em seguida iremos para a parte prática, onde você irá aprender tanto a programar o Arduino
quanto a montar os circuitos que ele irá controlar.
Vamos começar nosso estudo então?
03
ROBÓTICA
o que é ?
A robótica é uma ciência que estuda como criar soluções automatizadas para nossos problemas.
Ela pode resolver tanto coisas simples (como ajustar a luz de uma sala de acordo com a luz exterior)
quanto complexas (como um robô autônomo em uma fábrica). Uma solução robótica é composta por
circuitos eletrônicos, que quando programados, controlam partes mecânicas e eletrônicas, a fim de
auxiliar nas atividades que são repetitivas ou podem que são mais complicadas e perigosas.
Podemos encontrar robótica em vários lugares, como na nossa casa (a máquina de lavar pode ser
vista como um exemplo), fábricas (robôs que montam carros), hospitais (robôs para cirurgias a
distância), agricultura (máquinas automatizadas para fazer colheita), dentre outros.
Robô é uma tecnologia pensada e projetada para auxiliar o humano na realização de determinadas
tarefas. Nos filmes geralmente os robôs são aquelas máquinas gigantes que se transformam em carros ou
que se parecem com humanos de ferro. No entanto os robôs não disparam lasers de seus olhos, não
querem dominar o mundo, não viajam no tempo e não conseguem criar seus próprios pensamentos e
emoções. Existe uma diferença entre robôs reais e robôs da ficção. Realmente existem robôs que têm
uma aparência semelhante ao homem, mas não são todos, pois o seu formato depende da atividade que
irá realizar. Em geral um robô é construído para uma atividade específica, dificilmente eles irão realizar
atividades a qual não foram ordenados, e isso implica na sua aparência podendo ser pequeno, alto, com
garra, pesado, leve e muito mais.
A tecnologia avança tão rápido e em tão curto tempo, que às vezes as pessoas têm medo daquilo
que não entendem/conhecem/dominam e acabam criando um sentimento de ameaça, fantasiando algo
distante da verdade. Até o momento os robôs não tem sentimento, não sabem o que é bom ou ruim, eles
fazem exatamente o que lhe foi programado.
Um exemplo muito famoso é o aspirador de pó robótico, pequeno e prático “robozinho” de
limpeza, que consegue aspirar a casa sozinho. Outro exemplos são robôs que ajudam nossos hospitais no
combate e prevenção contra o coronavírus usados em vários países no mundo, para evitar contato
humano, os robôs conseguem monitorar a ala de infectados por meio de câmeras, medir a temperatura
corporal de pacientes febris com sensor de temperatura, entre outros.
05
Figura 1: Aspirador de pó robótico.
Figura 2: Braço robótico
tipos de robótica
Na robótica industrial temos a utilização de robôs dentro das fábricas, para ajudar na produção,
como nas fábricas de carros que utilizam braços robóticos para montagem de carros.
06
Na robótica doméstica temos a aplicação da robótica para facilitar tarefas domésticas, como por
exemplo, cortar a grama ou aspirar a casa, como já falamos.
07
Já a robótica educacional usa a robótica
para auxiliar no ensino e aprendizagem. Pode ser
utilizada para ensinar programação (que é o que
faremos no nosso curso), matemática, física, etc.
Ela permite a aplicação prática da teoria vista em
sala de aula, tornando o aluno capaz de interagir
com a realidade, desenvolver o trabalho em equipe,
o raciocínio lógico, estimular a criatividade, a
capacidade para formular e resolver problemas.
Figura 7: exemplo da robótica educacional.
componentes
Um robô tem 3 partes principais: o controlador, os sensores e os atuadores. Vamos ver o que eles são.
CONTROLADOR
É a parte "central" de um robô, onde todo o controle de seu funcionamento ocorre. Nele
temos um, ou mais unidades de processamento, que irão gerar o controle do que o robô deve fazer.
Esse controle está todo definido no programa que está sendo executado pelo controlador. Ele recebe
como entrada informações do ambiente e gera como saída os controles que devem ser aplicados.
08
SENSORES
ATUADORES
São os elementos que o controlador manda fazer alguma coisa a partir da análise dos
valores dos sensores e da lógica do programa de controle do robô. Motores, braços robóticos, luzes,
buzzer, etc, são exemplo de atuadores.
09
programação
e
arduino
pensamento computacional
Neste curso queremos que vocês desenvolvam uma habilidade chamada "pensamento
computacional". Mas o que é isso? O pensamento computacional é você pensar como se um computador
fosse resolver seu problema, ou seja, entender o problema e como resolvê-lo a partir da ideia de um
computador processando seu problema.
Você deve está se perguntando como fazer isso não é mesmo? Para resolver um problema utilizando
pensamento computacional você precisa desenvolver quatro competências:
1- Abstração: Descrever o problema e identificar o que é importante, retirando do problema
aquilo que não influencia ou não é importante para a sua solução.
2- Decomposição: Dividir seu problema em partes. Isso faz com que algo complexo possa ser
visto com várias pequenas partes mais simples. Com isso você irá conseguir resolver cada parte
mais facilmente, fazendo com que a solução do problema inteiro fique mais fácil.
3- Reconhecimento de padrões: Ver se partes de seu problema não são iguais ou parecidas
entre elas ou com partes de outros problemas que você já resolveu. Você então pode usar
estratégias comuns para as parte que são parecidas ou então estratégias que deram certo em
outros problemas que você já resolveu aqui no seu novo problema.
4 - Algoritmos (pensamento algorítmico): Criar uma sequência dos passos que são
necessários para resolver o problema. A execução desses passos te levará então a solução do
problema. Na computação um algoritmo é então escrito em uma linguagem que o computador
possa entender (as linguagens de programação) e executar.
O pensamento computacional é uma habilidade que usa conceitos da computação mas que pode ser
aplicada em qualquer área ou disciplina que você for trabalhar ou estudar. Ele te ajuda a pensar nas coisas
de forma estruturada. Então, não importa qual seu problema, se você usar o pensamento computacional
você irá conseguir resolver seu problema de forma mais eficiente.
11
Figura 1: Os quatro pilares do pensamento computacional
algoritmos
Entender o conceito de algoritmo não é complicado. Se você já realizou alguma tarefa seguindo um
“passo a passo”, então já utilizou um algoritmo. Um algoritmo descreve, na forma de texto ou
fluxograma, as etapas para realização da tarefa que você queira executar. Nesse sentido, na computação,
o algoritmo serve para organizar as etapas de um processo.
Imagine a fabricação de um bolo como sendo a tarefa que você deve executar. A receita do bolo que
você segue para fazê-lo seria o algoritmo. Os ingredientes seriam os dados de entrada, uma vez que eles
seriam os componentes que você precisa para fazer o bolo dar certo. Os recipientes utilizados para fazer
o bolo são as variáveis envolvidas na fabricação, pois como o próprio nome já diz, elas variam de acordo
com a necessidade do programa, no caso, a receita do bolo. Por exemplo, imagine que você deseje fazer
um bolo redondo, para isso precisa de uma forma redonda, então, o formato do bolo varia de acordo com
a forma. E o “modo de fazer” consiste no passo a passo para executar a tarefa.
Em computação podemos definir um algoritmo como sendo uma forma genérica de se representar
o passo a passo que o programa deve seguir para sua conclusão e solucionar o problema que ele foi
construído para isso. Um algoritmo quando é escrito em uma linguagem que o computador entende (as
chamadas linguagens de programação) se torna então um programa de computador.
12
A seguir vemos dois exemplos de algoritmos para problemas do dia-a-dia (que não são de
computação):
Modo de Preparo:
1. Bata as claras em neve;
2. Reserve;
3. Bata bem as gemas com a margarina e o
açucar;
4. Acrescente o leite e farinha aos poucos sem
parar de bater;
5. Por ultimo agregue as claras em neve e o
fermento;
6. Coloque em forma grande de furo central
untada e enfarinhada;
7. Asse em forno médio, preaquecido, por
aproximadamente 40 minutos;
8. Quando espetar um palito e sair limpo estará
assado.
Figura 2: Algoritmo em forma de fluxograma.
Desafio:
Monte um algoritmo para trocar uma lampada.
linguagem de programação
Quando desenvolvemos um computador não podemos escrever utilizando uma linguagem natural
ao ser humano, pois, esse tipo de linguagem o computador não é capaz de entender, pois o computador
só entende 0 ou 1. Mas não criemos pânico, não é necessário escrever programas na linguagem do
computador ( usando apenas 0 e 1). Para programar um computador usamos uma linguagem
intermediária, mais próxima de nossa linguagem natural, que possa ser utilizada para comunicar-se com
13
a máquina e assim enviar os comandos que queremos que ela faça (ou seja, programar o computador). A
essa linguagem damos o nome de linguagem de programação.
Você sabia que o computador não tem inteligência? Quando queremos programar um computador
nós precisamos dizer para o computador o que fazer. Ele é na verdade um grande circuito que pode
realizar algumas tarefas, que chamamos de instruções. É a combinação dessas instruções que faz com
que ele execute o que queremos. Então a inteligência não está no computador e sim nas pessoas que
escrevem os programas que executam nos computadores.
Para se programar um computador primeiro precisamos criar o algoritmo com o passo a passo
para a solução de nosso problema. Em seguida temos que escrever esse algoritmo de forma que o
computador entenda, e para isso usamos as linguagens de programação.
Uma linguagem de programação define o os comandos (instruções) que podemos utilizar e as
regras de como escrever esses comandos. A partir daí podemos então escrever um programa de
computador. Então um programa é uma sequência ordenada desses comandos que fazem com que o
computador execute a função que queremos. Você pode programar em muitas linguagens de
programação dependendo do tipo de problema que você quer resolver. Alguns exemplo de linguagens de
programação que são usadas atualmente são: Python, Java, C, C++, Scratch, dentre outras. Mas no nosso
curso iremos utilizar uma linguagem de programação em blocos que permite a programação de uma
placa chamada Arduino. Falaremos um pouco mais sobre linguagens de blocos a seguir.
15
arduino
No nosso curso nós iremos desenvolver o pensamento computacional e ter uma introdução a
robóticas através da programação (em uma linguagem de blocos) de um dispositivo chamado Arduino.
Mas o que é um Arduino? O que ele faz? Posso utilizar ele no meu dia-a-dia?
O Arduino é uma placa eletrônica programável que nos permite trabalhar com a Computação
Física. Na Computação Física nós programamos um dispositivo de controle (no nosso caso o Arduino)
que estará ligado a entradas (como chaves, sensores de temperatura, etc.) que utilizaremos para controlar
saídas (como luzes, motores, etc.). Por exemplo, você pode medir a temperatura em uma sala e controlar
a velocidade de um ventilador de acordo com o calor que estiver fazendo. Esse controle estará definido
no seu programa que será executado no Arduino.
Aos dispositivos que usamos como entrada nós damos o nome de sensores, e aos que usamos
como saída nós chamamos de atuadores.
Mas vamos voltar ao Arduino. Ele é uma placa de baixo custo e de fácil aprendizagem para se
criar circuitos eletrônicos. Ele é composto por diversos conectores de entradas e saída e tem dentro dela
um microprocessador, que é como um pequeno computador (tem processador, memória e disco rígido
dentro dele). Ele tem um conector para ligar ao computador (porta USB), que serve tanto como fonte de
energia para a placa como para enviar os programas que você cria no computador. O Arduino pode ser
programado utilizando uma linguagem de programação textual ou uma linguagem de programação em
blocos. Como estamos iniciando nosso estudo sobre programação e Arduino, iremos então usar a
linguagem em blocos.
E, uma vez que você
envia o programa, ele fica
armazenado até você enviar um
novo programa. Então você
pode até desligar ele do
computador, mas para isso
precisará usar o conector de
fonte energia que tem na placa
(conector P4). A seguir temos a
foto de uma placa Arduino
chamada Arduino Uno:
Figura 8: Arduino Uno
16
Como você pode ver na foto, as portas do Arduino são de diversos tipos. Temos 14 pinos (ou
portas) digitais, que são portas que funcionam em apenas dois estados; ligado e desligado. Em eletrônica
digital chamamos o estado ligado de HIGH e o estado desligado de LOW. Na prática o estado ligado
significa que tem energia no pino e o sinal desligado que não há energia. Quando há energia temos um
sinal de 5V e quando não há temos 0V (V ou volts é como medimos energia, como em um pilha, que tem
1,5V). Esses pinos podem ser configurados para serem usados como entradas ou saídas, mas nunca como
as duas coisas ao mesmo tempo.
Alguns pinos digitais também podem ser utilizados em um modo especial de saída, chamada
PWM. Nesse caso nós conseguimos enviar diversos valores de tensão na saída e não apenas o 0V (LOW)
e o 5V (HIGH). Com isso podemos controlar dispositivos que podem variar seu funcionamento de
acordo com a tensão recebida, como a luminosidade de uma luz ou a velocidade de um motor.
Temos também 6 pinos chamadas de entradas analógicas. Esses pinos só podem ser utilizadas
como entradas e conseguem ler diversos valores de entrada entre 0 e 5V, parecido com o que o PWM faz
com as saídas. Um exemplo de uso da porta analógica de entrada é para a leitura de um sensor de
temperatura, que tem vários valores possíveis, e não apenas ligado ou desligado.
Além desses temos uma série de pinos de energia que podem ser utilizados para energizar os
componentes (sensores e/ou atuadores) que ligamos a nossa placa Arduino.
Essa é a descrição básica de nossa placa. A medida que formos avançando em nosso curso nós
iremos aprender mais sobre o funcionamento da placa, de seus pinos de entrada e saída, e como utilizar
os mais diversos sensores e atuadores que existem. Isso nos permitirá criar os mais diversos circuitos.
Veja alguns exemplos:
17
Figura 11: Sensor de umidade de solo
Por fim, saiba que o Arduino é uma família de placas, da qual nós vamos utilizar o Arduino UNO.
Outras placas existem e elas podem ser utilizadas de acordo com a necessidade de seu projeto. Se você
quiser um circuito compacto você usar um Arduino Nano, se precisa de mais pinos de entrada/saída deve
usar o Arduino Mega, por exemplo. Você pode, se tiver curiosidade, procurar na Internet mais sobre o
Arduino. Existem diversos sites e também canais do YouTube dedicados ao Arduino.
18
referências
Eduka Maker; O que a robótica pode ensinar para as crianças?; Disponível em: O que a Robótica
pode ensinar para as crianças?; Acessado em: 05/05/2020.
Fernando Osório; Eu, você, a Robótica e a SBC; Disponível em: Eu, você, a Robótica e a SBC – Hori-
zontes; Acessado em: 05/05/2020.
Impacta; O que é a Robótica industrial: entenda tudo sobre a área!; Disponível em: O que é a Robóti-
ca industrial: entenda tudo sobre a área; Acessado em: 24/04/2020.
Samuel Azevedo, Akynara Aglaé, Renata Pitta; Minicurso: Introdução a Robótica Educacional;
Disponível em: (PDF) Minicurso: Introdução a Robótica Educacional | Gildásio Macedo; Acessado em:
24/04/2020.
Arduino Descomplicado Como Elaborar Projetos de Eletrônica - OLIVEIRA, Cláudio Luís Vieira;
ZANETTI, Humberto Augusto Piovesana
19