Escolar Documentos
Profissional Documentos
Cultura Documentos
https://lucinio.wixsite.com/lucinioprezaaraujo
Blocos do Arduino
Entradas e saídas digitais
Conversor
Serial ↔ USB
Jack
USB
Cristal
CPU
Fonte de Atmel
alimentação
Microcontrolador
Jack
Alimentação
https://lucinio.wixsite.com/lucinioprezaaraujo
Arquitetura do Arduino
https://lucinio.wixsite.com/lucinioprezaaraujo
O microcontrolador
Um microcontrolador, ao contrário de um microprocessador, é desenhado e
construído de forma a integrar diversos componentes (CPU, RAM, ROM,
Porta série, Porta paralela, etc.) num único circuito integrado.
Microcontrolador: ATmega328 (datasheet)
https://lucinio.wixsite.com/lucinioprezaaraujo
Arduino uno - Caraterísticas
• Microcontrolador: ATmega328
• Tensão de operação: 5V
• Tensão recomendada (entrada): 7-12V
• Limite da tensão de entrada: 6-20V
• Pinos digitais: 14 (seis pinos com saída PWM)
• Entrada analógica: 6 pinos
• Corrente contínua por pino de entrada e saída: 40 mA
• Corrente para o pino de 3.3 V: 50 mA
• Quantidade de memória FLASH: 32 KB (ATmega328) onde
0.5 KB usado para o bootloader
• Quantidade de memória SRAM: 2 KB (ATmega328)
• Quantidade de memória EEPROM: 1 KB (ATmega328)
• Velocidade de clock (cristal): 16 MHz
https://lucinio.wixsite.com/lucinioprezaaraujo
Arduino uno - Alimentação
Internamente, o circuito do Arduino é alimentado
com uma tensão de 5V.
O Arduino UNO pode ser alimentado pela porta USB
ou por uma entrada do tipo “Power Jack” (com o
positivo ao centro) através de uma fonte externa
DC.
A recomendação é que a fonte externa seja de 7 V
a 12 V e pode ser ligada diretamente no conector de
fonte ou nos pinos Vin e Gnd.
A seguir são exibidos os conectores de alimentação para conexão de shields e módulos
na placa Arduino UNO:
https://lucinio.wixsite.com/lucinioprezaaraujo
Arduino IDE
O monitor serial é utilizado para
comunicação entre o Arduino e
o computador (PC).
https://lucinio.wixsite.com/lucinioprezaaraujo
Ciclo de desenvolvimento
https://lucinio.wixsite.com/lucinioprezaaraujo
Funções base
void setup() - Esta função apenas é executada uma vez e é normalmente utilizada para
executar a inicialização de variáveis, a inicialização da utilização bibliotecas, a definição dos
pinos (como input ou output), o início do uso de comunicação série, entre outros. Esta função
apenas volta a ser executada novamente ao ser efectuado o reset ou quando se desligar e
volta a ligar a placa de desenvolvimento Arduino.
void loop() - Esta função faz um “loop” sucessivo (como o próprio nome indica), ou seja,
todos os comandos existentes no interior desta função são sucessivamente repetidos, o que
pode permitir a leitura sucessiva de portas, a leitura sucessiva de parâmetros provenientes de
sensores externos e actuar de acordo com as condições estabelecidas.
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
Comentários
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
Constantes
https://lucinio.wixsite.com/lucinioprezaaraujo
Entradas analógicas e digitais
Portas digitais e analógicas
O Arduino possui tanto portas digitais como portas
analógicas.
As portas servem para comunicação entre o Arduino e
dispositivos externos, por exemplo: ler um botão,
acender um led ou uma lâmpada.
Conforme já mencionado, o Arduino UNO, possui 14
portas digitais e 6 portas analógicas (que também
podem ser utilizadas como portas digitais).
Os conversores analógicos-digitais (ADC) do Arduino
são de 10 bits.
Os valores lidos numa porta analógica variam de 0 a
1023 (10 bits), onde 0 representa 0V e 1023
representa 5V.
Portas digitais
As portas digitais trabalham com valores bem definidos, ou seja, no caso do Arduino esses
valores são 0V e 5V.
0V indica a ausência de um sinal e 5V indica a presença de um sinal.
Para escrever numa porta digital basta utilizar a função digitalWrite(pin, estado).
Para ler um valor numa porta digital basta utilizar a função digitalRead(pin).
https://lucinio.wixsite.com/lucinioprezaaraujo
Saídas PWM
O que é PWM?
PWM, do inglês Pulse Width Modulation,
é uma técnica utilizada por sistemas
digitais para variação do valor médio de
uma forma de onda periódica. A técnica
consiste em manter a frequência de
uma onda quadrada fixa e variar o
tempo que o sinal fica em nível lógico
alto. Esse tempo é chamado de duty
cycle, ou seja, o ciclo ativo da forma de
onda. No gráfico ao lado são exibidas
algumas modulações PWM.
https://lucinio.wixsite.com/lucinioprezaaraujo
Entradas analógica
Portas Analógicas
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
Exemplo:
https://lucinio.wixsite.com/lucinioprezaaraujo
Programa explicado
/*
-----------------------------------
1º Exercício
-----------------------------------
Ligar e desligar um LED por um segundo
*/
//------------------------------------
//Função principal
//------------------------------------
void setup() // Executa-se quando o arduino é ligado
{
pinMode(13,OUTPUT); // Inicializa o pin 13 como uma saída
}
//------------------------------------
//Função repetitiva
//------------------------------------
void loop() // Esta função executa-se o instante todo
// quando está ligado o Arduino
{
digitalWrite(13,HIGH); // Liga o LED
delay(1000); // Temporiza um segundo (1s = 1000ms)
digitalWrite(13,LOW); // Desliga o LED
delay(1000); // Temporiza um segundo (1s = 1000ms)
}
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
Numa linguagem de programação existem vários operadores que
permitem operações do tipo: Aritmética, Relacional, Lógica e Composta.
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
https://lucinio.wixsite.com/lucinioprezaaraujo
Programar no Arduino
https://lucinio.wixsite.com/lucinioprezaaraujo
https://lucinio.wixsite.com/lucinioprezaaraujo
Shields
É possível agregar novas
funcionalidades a uma placa do
Arduino.
As extensões das placas do Arduino
são chamadas de shields.
Existem shields para as mais diversas
funcionalidades, por exemplo:
Comunicação ethernet
Comunicação wifi
Comunicação bluethooth Ethernet Shield
Ponte H
Banco de relês
https://lucinio.wixsite.com/lucinioprezaaraujo
Adicionar uma biblioteca
Possivelmente algum dia vai precisar de adicionar uma biblioteca para trabalhar
com algum sensor ou outro componente no Arduino. Existem diversas bibliotecas
disponíveis na internet, que pode baixar e utilizar. Entretanto tem que adicioná-las
ao seu IDE para que o mesmo reconheça os comandos que está a utilizar.
Por fim, vamos verificar se a biblioteca foi mesmo detectada pelo IDE. Vá a Files
> Examples e verifique se a biblioteca que acabamos de adicionar está ali. Se
sim, a instalação ocorreu bem e já pode começar a utilizar a sua nova biblioteca.
Agora é só “chamá-la” no seu código, que neste caso ficaria: #include
<MsTimer2.h>. Vale a pena destacar que na própria página onde baixou a
biblioteca, possui as instruções de como utilizar a mesma.
https://lucinio.wixsite.com/lucinioprezaaraujo
Exercícios propostos
1.Faça um circuito onde três LEDs acendam em sequência, com um atraso
de um segundo entre eles, e depois apaguem igualmente em sequência.
https://lucinio.wixsite.com/lucinioprezaaraujo