
















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Apostila de Arduino. Projetos para iniciantes
Tipologia: Notas de estudo
1 / 56
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Parabéns por adquirir o Kit Arduino Iniciante da RoboCore!
Este material é composto por 13 experimentos, que são intitulados módulos e projetos. O intuito principal é que o usuário que está começando a entender o fascinante mundo da eletrônica, ou mesmo o usuário que já tem boas noções, possa começar a construir protótipos utilizando sua placa Arduino. Para efeitos de explicação, chamamos de módulos os experimentos que, por si só, não apresentam grande efeito e, quando juntados 2 ou mais módulos, podemos fazer um projeto, que consiste em algo útil ou ao menos agradável de ser apreciado.
Abaixo segue a lista de módulos e projetos que podem ser construídos com o auxílio deste material:
Módulo 1 pág. 16 Componentes: 1 Botão + 1 Led Descrição: Conforme você pressiona um pushbutton, um led é aceso.
Dificuldade:
Módulo 2 pág. 18 Componentes: 3 Botões + 3 Leds Descrição: Conforme você pressiona qualquer um dos botões, leds de diferentes cores são acesos.
Dificuldade:
Projeto Piano pág. 20 Componentes: 3 Botões + 3 Leds + Buzzer Descrição: Cada botão toca uma nota musical diferente e acende um led. É expansível – por conta do usuário – para mais uma nota musical com o botão (e o led) reserva
Dificuldade:
Módulo 3 pág. 22 Componentes: 1 Sensor de Temperatura NTC Descrição: Com o auxilio da porta serial e do monitor serial, o usuário irá fazer a leitura e calibração do sensor de temperatura para fazer o projeto.
Dificuldade:
Projeto Alarme pág. 26 Componentes: 1 Sensor de Temperatura NTC + 1 buzzer Descrição: A partir dos valores colhidos no módulo 3, o usuário poderá montar um alarme que, se a temperatura de onde o sensor estiver localizado for maior, ou menor, ele soará.
Dificuldade:
Projeto Termômetro pág. 28 Componentes: 2 Leds Verdes + 2 Leds Amarelos + 2 Leds Vermelhos + Buzzer + 1 Sensor de Temperatura NTC Descrição: Conforme a temperatura do ambiente onde o sensor NTC está localizado aumenta, os leds coloridos acendem, como um termômetro. Se por algum motivo todos os 6 Leds forem acesos, um alarme deverá soar.
Dificuldade:
Como você já deve ter percebido o ambiente de desenvolvimento do Arduino não precisa ser instalado. Uma vez baixado em seu computador, ele pode rodar diretamente por se tratar de um aplicativo feito em Java. Também por este motivo, o ambiente de desenvolvimento pode rodar nos mais diversos sistemas operacionais (Windows, Linux, MAC), bastando apenas o download do ambiente que corresponde ao seu sistema operacional. O download pode ser feito na página: http://arduino.robocore.net/ e também existe uma cópia no CD que acompanha este kit, na pasta “\Ambiente de Desenvolvimento\” - para usar o ambiente de desenvolvimento que está no CD você DEVERÁ copiar para a raiz de seu disco rígido. Para abrir o programa, basta clicar duas vezes no ícone “arduino.exe”.
INSTALAÇÃO DO DRIVER ARDUINO
O dispositivo Arduino é totalmente Plug & Play. Uma vez rodando o ambiente de desenvolvimento, insira o cabo USB AB no Arduino e depois no computador. Seu computador deverá reconhecer automaticamente o Arduino e uma nova porta COM (no caso de sistema operacional Windows Vista, Windows 7 ou Linux). Caso o sistema operacional não reconheça a placa automaticamente, os drivers podem ser localizados na pasta “\arduino-1.0.1\drivers”.
Para selecionar esta nova porta COM onde o Arduino está localizado, abra o ambiente de desenvolvimento, então clique em TOOLS > SERIAL PORT> COM X (onde X é o número da porta que o Arduino foi instalado automaticamente). Na imagem a seguir temos um exemplo do que você deverá ver:
Note que o número da porta COM não é necessariamente 108 como na imagem acima. Cada computador poderá mostrar um número de porta diferente.
Seu Arduino não está sendo reconhecido pelo Windows 7? Veja abaixo a solução:
Por causa de fatores ligados a permissões do sistema, o Windows 7 algumas vezes impede que o driver seja instalado de uma determinada pasta, onde estão os drivers e ambiente de desenvolvimento do Arduino. Desta forma, temos que fazer com que o Windows “force” a instalação destes drivers de alguma forma.
Siga os seguintes passos:
Conecte seu Arduino à porta USB de seu computador. Aguarde até aparecer a mensagem de erro de instalação de driver. A mensagem deve se parecer com a seguinte:
Feche esta mensagem. Clique em “Iniciar” depois em “Dispositivo e Impressoras”. Você verá um dispositivo como “Não Especificado”, como mostra a figura abaixo:
Clique com o botão direito do Mouse neste “Dispositivo Desconhecido” e depois em Propriedades;
Clique na aba “Hardware” e depois em “Propriedades”;
Na nova janela, clique no botão “Alterar Configurações”;
Clique agora em “Atualizar Driver...”;
Na janela que abrir, clique em “Procurar Software de Driver no Computador”
No Windows 8, a instalação de drivers não assinados é um pouco diferente. Para instalar o driver corretamente, siga o seguinte procedimento:
ATENÇÃO: Antes de prosseguir, certifique-se que o você salvou todos os documentos que estão abertos em sua máquina. Pois sua máquina será reiniciada.
1 - Pressione as teclas "windows" e "R" simultâneamente. 2 - Copie e cole o seguinte comando: shutdown.exe /r /o /f /t 00 3 - Selecione "Troubleshoot" 4 - Selecione "Startup Settings" 5 - Selecione "Disable Driver Signature Enforcement" 6 - Instale novamente o driver do Arduino.
INSTALAÇÃO NO LINUX - Distribuição Ubuntu
A instalação dos drivers no Linux é muito fácil, basta entrar no terminal de comandos com a placa conectada ao computador, e digitar o seguinte:
$ sudo apt-get install arduino
INSTALAÇÃO NO LINUX - Distribuição Fedora 17 ou posterior
Digite o seguinte comando no terminal:
$ sudo yum install arduino
INSTALAÇÃO NO MacOSX
Para fazer a instalação no Mac basta copiar o programa para sua pasta de aplicativos, como qualquer aplicativo para Mac. Ao conectar a placa ao computador via cabo USB, o LED power irá ligar na placa e a mesma será automaticamente reconhecida pelo computador. Entre nos aplicativos e abra o Arduino IDE. Em Tools > Serial Port procure sua placa Arduino. A descrição da porta de comunicação será algo como /dev/tty.usbmodem juntamente a algum número de identificação.
Para salvar códigos em sua placa Arduino, você precisa selecionar qual placa está usando no ambiente de desenvolvimento Arduino. Para isto, basta ir ao menu TOOLS e depois BOARD, conforme a figura abaixo:
Atenção: Caso você não esteja utilizando a placa Arduino UNO, selecione a placa correta.
Atenção: Nos experimentos abaixo procure sempre utilizar o ambiente de desenvolvimento (IDE) Arduino maximizado.
Dica: Para tornar o envio de códigos do computador para a placa Arduino mais rápido, desconecte os periféricos de seu computador, como dispositivos de Bluetooth, etc.
O que isto faz: Quando o botão é apertado, os contatos entre os terminais de cada lado são ligados entre si.
Número de pinos: 4 pinos (os 2 pinos de cada lado já estão em contato normalmente. Quando o botão é apertado os 4 entram em contato)
O que isto faz: Varia a resistência dos terminais conforme a haste superior é girada
Número de pinos: 3 pinos (a resistência varia entre um dos pinos mais da extremidade para com o do centro)
O que isto faz: Emite uma luz quando uma pequena corrente o excita (apenas em uma direção, do pino mais longo para o pino mais curto)
Número de pinos: 2 pinos (um mais longo e outro mais curto)
O que isto faz: É uma resistência que varia conforme a temperatura a que é submetido
Número de pinos: 2 pinos do mesmo comprimento
O que isto faz: É uma resistência que varia conforme a luminosidade se altera sobre ele
Número de pinos: 2 pinos de mesmo comprimento
O que isto faz: trata-se de uma placa de plástico, cheia de pequenos furos com ligações internas, onde você irá fazer as ligações elétricas. Os furos nas extremidades superior e inferior são ligados entre si na horizontal, enquanto que as barras do meio são ligadas na vertical. Para ilustrar isto, veja abaixo como são as ligações internas da protoboard:
Cada fio azul acima representa uma ligação interna. Para deixar este componente totalmente entendido, veja o exemplo abaixo:
O led vermelho tem a extremidade direita ligada a um resistor. Este resistor está ligado a outro resistor por meio de uma das ligações internas superiores da protoboard. Este último resistor, por sua vez, está ligado à extremidade esquerda do led, utilizando uma das ligações internas inferiores da protoboard.
Número de pinos: na protoboard que acompanha o kit existem 840 furos, porém existem protoboards com menos e com mais furos.
Código:
Para iniciar o entendimento do código, devemos observar o que são e como são feitos os comentários em um código de linguagem C. Para fazer um comentário quer irá se desenvolver por mais de 1 linha, devemos usar os caracteres: /* para começar um comentário de mais de 1 linha */ para finalizar os comentários que foram feitos anteriormente
Para fazer um comentário em 1 linha apenas, podemos utilizar: // para fazer um comentário de apenas 1 linha Entendido isto, e se olharmos o código do BLINK mais a fundo, veremos que o código está escrito em apenas 11 linhas. Veja se você consegue identificar quais são estas 11 linhas. Vamos agora entender a estrutura dos programas. No inicio de todos os programas uma ordem deve ser respeitada:
O que são estas 5 estruturas citadas acima?
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. The circuit:
O diferencial de uma placa como o Arduino está profundamente ligada à estrutura de número 1 citada acima. Quando você estiver pensando em fazer algum projeto mirabolante, você pode ter certeza de que há 90% de chances de alguém já o ter feito. Desta forma, quando alguém já o fez, é bem provável que este alguém, em qualquer parte do mundo, já tenha escrito toda uma biblioteca para fazer o tal projeto. Por exemplo, digamos que em um sábado a noite dê uma vontade louca de fazer um carrinho de controle remoto controlado por um controle de PlayStation®. Você não faz a menor ideia de como começar a pensar em como programar este carrinho controlado por este controle tão comum no seu dia-a-dia. Então, a primeira coisa que você deve fazer é ir ao Google e perguntá-lo (pesquisar) se alguém já desenvolveu uma biblioteca para você utilizar um controle de PlayStation® com seu Arduino. Digite no Google: ARDUINO PLAYSTATION CONTROLLER LIBRARY. Na data que este documento está sendo redigido, você encontra “Aproximadamente 879.000 resultados“. E sim, um deles, pelo menos, é a biblioteca que você está precisando para desenvolver seu carrinho de controle remoto com controle de PlayStation®. Portanto, o que são Bibliotecas? São conjuntos de funções desenvolvidas para uma aplicação particular. Seu ambiente de desenvolvimento Arduino já vem com algumas bibliotecas instaladas. Para vê-las, simule que você quer importar uma biblioteca (apenas simule, não precisa clicar em nenhuma para importar). Para tanto, clique em SKETCH > IMPORT LIBRARY... e veja quantas bibliotecas prontas para seu uso já existem:
Neste momento não iremos utilizar nenhuma das bibliotecas mostradas acima, mesmo porque nosso programa BLINK não necessita de uma biblioteca para funcionar, pois é um programa muito básico e utiliza apenas escritas digitais e delays, funções que já estão inserida em todos os programas feitos no ambiente de desenvolvimento Arduino. Por este motivo você pode notar que o programa BLINK, após os comentários iniciais, começa com a declaração de variáveis: int ledPin = 13; // LED connected to digital pin 13
Por fim, neste programa, iremos analisar a estrutura Loop:
void loop() { digitalWrite(ledPin, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(ledPin, LOW); // set the LED off delay(1000); // wait for a second }
void loop() : De modo análogo ao setup, com o comando ao lado dizemos que irá começar o loop do programa, ou seja, o programa principal que ficará rodando por tempo indeterminado. Também é aberto com uma “{“ e fechado com uma “}”.
digitalWrite(ledPin, HIGH); // set the LED on : Escrita digital. Por tratar-se de um pino digital, ou você terá nível lógico 1 ou terá nível lógico 0, no caso de um led, ou teremos led acesso (1) ou teremos led apagado (0). O comando então liga o led, ou seja, envia 1 para o pino 13
delay(1000); // wait for a second : Delay é mais uma função pronta de seu arduino. O número que for inserido entre os parêntesis será o valor, em milissegundos, que o Arduino irá esperar para seguir para a próxima instrução. No caso, temos um delay de 1000 milissegundos, ou seja, uma espera de 1 segundo para executar a próxima instrução.
digitalWrite(ledPin, LOW); // set the LED off delay(1000); // wait for a second : Estes dois comandos são análogos aos dois vistos anteriormente, com a única diferença que a escrita digital escreverá um 0 no pino do led, ou seja, um nível lógico baixo: o led apagará e o Arduino espera 1 segundo para fazer a próxima instrução que, no caso, volta a ser o digitalWrite(ledPin, HIGH);.
Se este programa está 100% entendido, já podemos compilar o mesmo e fazer o upload para nossa placa Arduino. Para compilar o programa devemos clicar no botão Verify do ambiente de
desenvolvimento, para ver se não existe nenhum erro de código. O botão é o seguinte: Se na barra inferior aparecer a mensagem: Done Compiling, o programa está pronto para ser
enviado ao Arduino. Para tanto, basta clicar no botão Upload que é o seguinte:. Espere então o upload ser completado e pronto. Você deverá ver o led da placa piscando com intervalos de 1 segundo.
Vista toda esta explicação, agora sim podemos começar a estudar o primeiro módulo deste material.
Módulo 1 Componentes: 1 Botão + 1 Led Descrição: Conforme você pressiona um pushbutton, um led é aceso
Dificuldade:
Trata-se de fazer um botão acender um led quando pressionado e, quando solto, o led deverá apagar. Coloque os componentes como está sendo mostrado na imagem abaixo, bem como suas ligações:
Componentes utilizados: 01x Led Vermelho / 01x Resistor de 300Ω / 01x PushButton / 01x Resistor de 10kΩ / cabos diversos.
Dica: Caso tenha dificuldades em montar o circuito, a imagem a cima (e todas as outras imagens de circuitos) estão disponíveisem alta definição na pasta "Imagens dos Experimentos" no CD que acompanha este kit.
Módulo 2 Componentes: 3 Botões + 3 Leds Descrição: Conforme você pressiona qualquer um dos botões, leds de diferentes cores são acesos
Dificuldade:
Este módulo é uma expansão do módulo anterior. A diferença deste com o módulo 1, é que neste teremos mais 2 botões e mais 2 leds de cores diferentes. Você pode tentar montar sozinho o novo circuito, ou utilizar o modelo de ligações abaixo:
Componentes utilizados: 01x Led Verde / 01x Led Amarelo / 01x Led Vermelho / 03x Resistores de 300 Ω / 03x Resistores de 10k Ω / 03x Pushbutton / cabos diversos.
Neste ponto você já tem autonomia para desenvolver o resto do programa, mas se preferir, um código para utilizar os 3 botões pode ser o seguinte:
Código:
Lembrete: Nunca se esqueça dos ponto e vírgula (;) no final dos comandos em seu programa em C.
/***************************************
** ROBOCORE ARDUINO KIT INICIANTE **
** Módulo 2 ** ***************************************/ int ledPin1 = 13; int ledPin2 = 12; int ledPin3 = 11; int Botao1 = 2; int Botao2 = 3; int Botao3 = 4; int EstadoBotao1 = 0; int EstadoBotao2 = 0; int EstadoBotao3 = 0; void setup(){ pinMode(ledPin1, OUTPUT); pinMode(Botao1, INPUT); pinMode(ledPin2, OUTPUT); pinMode(Botao2, INPUT); pinMode(ledPin3, OUTPUT); pinMode(Botao3, INPUT); } void loop(){ EstadoBotao1 = digitalRead(Botao1); EstadoBotao2 = digitalRead(Botao2); EstadoBotao3 = digitalRead(Botao3); if (EstadoBotao1 == HIGH){ digitalWrite(ledPin1, HIGH); } else{ digitalWrite(ledPin1, LOW); } if (EstadoBotao2 == HIGH){ digitalWrite(ledPin2, HIGH); } else{ digitalWrite(ledPin2, LOW); } if (EstadoBotao3 == HIGH){ digitalWrite(ledPin3, HIGH); } else{ digitalWrite(ledPin3, LOW); } }