Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

RoboCore Arduino Kit Iniciante V6.1, Notas de estudo de Informática

Apostila de Arduino. Projetos para iniciantes

Tipologia: Notas de estudo

2014

Compartilhado em 09/11/2014

paulo-oliveira-cqp
paulo-oliveira-cqp 🇧🇷

5

(1)

2 documentos

1 / 56

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
ARDUINO KIT INICIANTE V6.1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38

Pré-visualização parcial do texto

Baixe RoboCore Arduino Kit Iniciante V6.1 e outras Notas de estudo em PDF para Informática, somente na Docsity!

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:

INSTALAÇÃO DO SOFTWARE ARDUINO

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:

  1. 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:

  2. Feche esta mensagem. Clique em “Iniciar” depois em “Dispositivo e Impressoras”. Você verá um dispositivo como “Não Especificado”, como mostra a figura abaixo:

  3. Clique com o botão direito do Mouse neste “Dispositivo Desconhecido” e depois em Propriedades;

  4. Clique na aba “Hardware” e depois em “Propriedades”;

  5. Na nova janela, clique no botão “Alterar Configurações”;

  6. Clique agora em “Atualizar Driver...”;

  7. Na janela que abrir, clique em “Procurar Software de Driver no Computador”

INSTALAÇÃO NO WINDOWS 8

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.

SELEÇÃO DE PLACA ARDUINO

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.

• CHAVE MOMENTÂNEA

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)

  • Detalhes: http://en.wikipedia.org/wiki/Push_button (em inglês)
  • POTENCIÔMETRO

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)

  • Detalhes: http://pt.wikipedia.org/wiki/Potenci%C3%B4metro

• LED

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)

  • Detalhes: http://pt.wikipedia.org/wiki/Diodo_emissor_de_luz

• SENSOR DE TEMPERATURA NTC

O que isto faz: É uma resistência que varia conforme a temperatura a que é submetido

Número de pinos: 2 pinos do mesmo comprimento

  • Detalhes: http://pt.wikipedia.org/wiki/Negative_Temperature_Coefficient

• SENSOR DE LUMINOSIDADE LDR

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

  • Detalhes: http://pt.wikipedia.org/wiki/Ldr
  • DISPLAY DE LCD O que isto faz: Mostra dados lidos pelo Arduino em letras e números, muito utilizado em diversos equipamentos eletrônicos. Este dispositivo mostra os dados que estão dentro do Arduino para os seres humanos de uma forma inteligível. Número de pinos: 16 pinos. Iremos usar apenas 10 pinos.
  • Detalhes: http://pt.wikipedia.org/wiki/LCD

• PROTOBOARD

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.

  • Detalhes: http://pt.wikipedia.org/wiki/Protoboard

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:

  1. Estrutura de Inclusão de Bibliotecas
  2. Estrutura de Declaração de Variáveis
  3. Estrutura Setup
  4. Estrutura Loop
  5. Demais estruturas de funções

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:

  • LED connected from digital pin 13 to ground.
  • Note: On most Arduino boards, there is already an LED on the board connected to pin 13, so you don't need any extra components for this example. Created 1 June 2005 By David Cuartielles http://arduino.cc/en/Tutorial/Blink based on an orginal by H. Barragan for the Wiring i/o board */ int ledPin = 13; // LED connected to digital pin 13 // The setup() method runs once, when the sketch starts void setup() { // initialize the digital pin as an output: pinMode(ledPin, OUTPUT); } // the loop() method runs over and over again, // as long as the Arduino has power 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 }

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); } }