Curso de Básico Arduino!
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Aula 1: Introdução ao Arduino e Portas Digitais
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Quem sou eu?
Wellington Cássio Faria Formação: Curso técnico – Médio (2o grau) Técnico em Eletrônica Industrial, CEP - Centro de Educação Profissional Tancredo Neves (julho/2010) - concluída. Graduação Engenharia da Computação, Inatel (junho/2015) - cursando. Atividades: Bolsista de Iniciação Científica Conversão de sistemas de medição analógicos para digitais na Agrometereologia utilizando plataforma Arduino. Monitor Voluntário Cas@viva - Arduino Natural : Paraisópolis - MG
O que é ARDUINO? É uma plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador Atmel AVR de placa única, com suporte de entrada / saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
O que que quer dizer open-source?
As placas podem ser construídas à mão ou comprado pré-montado, o software (IDE) pode ser baixado gratuitamente. Os projetos de hardware de referência (arquivos de CAD) estão disponíveis sob uma licença
de código aberto, você é livre para adaptá-los às suas
necessidades .
Ministrado por: Wellington Cássio Faria Contato: [email protected]
O que é ARDUINO?
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Hardware do ARDUINO UNO
Portas Digitais 0 à 13
PWM: 3, 5, 6, 9, 10,
e 11 ( ~ ) Comunicação Serial:
1 e 0 (TX e RX)
Portas Analógicas
0 à 5 Alimentação Externa
USB
Barramento de Extensão
Microcontrolador ATmega328
Botão para Reiniciar
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Programação do Arduino Programação do Arduino pode ser dividido em três partes principais: estruturas,
valores (variáveis e constantes) e funções.
A linguagem
tem origem em Wiring,
e é essencialmente C/C++
Ministrado por: Wellington Cássio Faria Contato: [email protected]
PIC assembly X PIC em C X Arduino
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Ministrado por: Wellington Cássio Faria Contato: [email protected]
PIC assembly X PIC em C X Arduino
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Shields do Arduino: Shields são placas que podem ser conectados em cima do Arduino estendendo as suas capacidades. Os diferentes shields seguem a mesma filosofia que do Arduino: eles são baratos de produzir e fáceis de montar e programar.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Arduino Ethernet Shield
O Shield permite que Arduino conecte-se à internet. Existe uma entrada de cartão micro-SD , que pode ser usado para armazenar arquivos para
disponibilizar na web.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Arduino WiFi Shield
O Shield permite que que Arduino conecte-se à internet usando o WiFi. O Shield WiFi pode se conectar a redes sem fio que operam de acordo com as especificações 802.11be 802.11g. Há uma entrada de cartão micro-SD , que pode ser usado para armazenar dados que podem serem transmitidos via WiFi.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Arduino Wireless SD Shield
O Shield permite que uma que Arduino para comunicar sem fios com um módulo sem fios(RF). Ele baseia-se nos módulos Xbee produzidos pela Digi. Há um slot para cartão SD.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Shield Arduino GSM Shield
O shield conecta o Arduino à internet usando a rede GPRS sem fio. Você também pode fazer / receber chamadas de
voz (você vai precisar de um alto-falante externo e circuito de microfone) e enviar / receber mensagens SMS.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Arduino Motor Shield
O shield permite
que você controle dois motores DC com sua placa Arduino, controlando a velocidade , a direção de cada um de forma independente.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
MP3 Player Shield
O MP3 Player Shield tem a impressionante capacidade de decodificação de MP3 e a funcionalidade de armazenamento do cartão SD. Agora você pode puxar arquivos MP3 a partir de um cartão SD e reproduzi-los usando apenas este shield,
efetivamente transformando todo o Arduino em um completo MP3 Player! O Shield de MP3ainda utiliza o decodificador de áudio MP3 VS1053B IC para decodificar os arquivos de áudio. O VS1053 também é capaz de decodificar áudio Ogg Vorbis/MP3/AAC/WMA/MIDI e codificação IMA ADPCM.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
LCD Shield
O LCD Shield Color, fornece uma forma fácil de conectar o popular Nokia 6100 LCD no Arduino.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Shield EasyVR
The Shield EasyVR é um shield de reconhecimento de voz para placas Arduino integrando um módulo EasyVR. Ele inclui todas as funcionalidades do módulo EasyVR que simplifica a conexão à placa Arduino e PC.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Sensores
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Sensores
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Sensores
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Livros
Ministrado por: Wellington Cássio Faria Contato: [email protected]
#MãoNaMassa!
Ministrado por: Wellington Cássio Faria Contato: [email protected]
#MãoNaMassa! O setup() é função para configurações inicias. Use-se: • Inicializar variáveis. • Configuração de pino (entrada ou
saída) É executada apenas uma vez, após cada reinicialização da placa Arduino.
o loop() faz exatamente o que seu nome sugere, e laços infinito. O Código no loop() ativamente “seu programa” a placa Arduino.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Portas Digitais 0 à 13
PWM: 3, 5, 6, 9, 10,
e 11 ( ~ ) Comunicação Serial:
1 e 0 (TX e RX)
Funções para portas Digitais
Ministrado por: Wellington Cássio Faria Contato: [email protected]
pinMode( )
Sintaxe: pinMode (pino, modo) Parâmetros: pino: o número do pin cujo modo que você deseja definir modo: INPUT (Entrada) OUTPUT (Saída) INPUT_PULLUP (Entrada com PULL-UP) Retorno: Nenhum
Configura o pino especificado como uma entrada ou saída.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
pinMode( )
Configuração de Portas Digitais:
pinMode (pino, modo)
modo: INPUT (Entrada)
OUTPUT(Saída) INPUT_PULLUP (Entrada
com PULLUP interno, essa opção não é
necessário o circuito PULLUP externo
podendo assim ser ligado diretamente no
GND. *Não se utiliza para entradas analógicas.
Quando pressionado “envia” 0 volts(GND)
(LOW) para porta.
Quando pressionado “envia” 5 volts (HIGH)
para porta.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
digitalWrite()
Sintaxe: digitalWrite (pino, valor) Parâmetros: pino: o número do pino valor: HIGH (ALTO ) ou LOW (BAIXO) Retorno: Nenhum
Escreve uma valor ALTO ou valor BAIXO para um pino digital configurado como SAÍDA.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
digitalRead()
Sintaxe digitalRead (pino) Parâmetros pino: o número do pino digital que você quer ler configurado como ENTRADA Retorno: HIGH ou LOW
Lê o valor de um pino digital especificado, ALTO ou BAIXO
definido como ENTRADA.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Exercício Portas Digitais
1- Faça um programa que faça o LED1 da placa (pino 13) piscar de 1 em 1 segundo. Ligue um outro LED2 no pino 4 da porta digital e toda vez que o botão(PULL-UP Interno pino 3) for precisado o LED2 deve ligar, caso contrario o LED2 deve ficar apagado.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Exercício Portas Digitais 2- Faça um programa que se botão(D2) estiver pressionado pisque 3 LED (D4,D5,D6) cada um de cada vez da direita para esquerda no intervalo de 1 segundo. Se o botão não tiver pressionado pisque 3 LED (D4,D5,D6) cada um de cada vez da esquerda para direita no intervalo de 1 segundo.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Aula 2: Portas Analógicas, Comunicação Serial e LCD
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Funções para portas Analógicas
Portas Analógicas
0 à 5
PWM: 3, 5, 6, 9, 10,
e 11 ( ~ )
Ministrado por: Wellington Cássio Faria Contato: [email protected]
analogReference( )
Configura a tensão de referência utilizada para a entrada analógica (SETUP)
As opções são: • DEFAULT: a referência analógica
padrão de 5 volts • INTERNAL: referência igual a 1,1
volts(ATmega168 ou ATmega328) • INTERNAL1V1: referência 1.1V
referência (apenas Arduino Mega) • INTERNAL2V56: referência 2.56V
(apenas Arduino Mega) • EXTERNAL: referência de tensão
aplicada ao pino AREF (0 a 5V ) Sintaxe: analogReference(tipo) Parâmetro: tipo: DEFAULT, INTERNO, INTERNAL1V1, INTERNAL2V56 ou EXTERNAL. Retorno: Nenhum
Ten
são d
e R
eferê
ncia
Ministrado por: Wellington Cássio Faria Contato: [email protected]
analogRead( ) Lê o valor do pino analógico especificado.
Mapeia tensões de entrada entre 0 e tensão de referência em valores
inteiros entre 0 e 1023
Sintaxe: analogRead (pino) Parâmetros: pino: o número do pino de entrada analógica. Retorno: Número inteiro de 0 a 1023
Convertendo Retorno em Tensão:
𝑇𝑒𝑛𝑠ã𝑜 = 𝑅𝑒𝑡𝑜𝑟𝑛𝑜 𝑥 𝑇𝑒𝑛𝑠ã𝑜 𝑑𝑒 𝑅𝑒𝑓ê𝑟𝑒𝑛𝑐𝑖𝑎
1024
Ministrado por: Wellington Cássio Faria Contato: [email protected]
analogWrite( )
Escreve um valor tensão no pino especificado PWM.
Sintaxe: analogWrite(pino, valor) Parâmetros: pino: Número do pino . Valor : Entre 0 (0 Volts/ 0% Duty) a 255 (5 Volts/100% Duty). Returno: Nenhum
𝑇𝑒𝑛𝑠ã𝑜 𝑛𝑜 𝑃𝑖𝑛𝑜 = 5 𝑥 𝑣𝑎𝑙𝑜𝑟
255
Arduino Uno: PWM: 3, 5, 6, 9, 10,
e 11 ( ~ )
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Funções para Comunicação Serial
Comunicação Serial:
1 e 0 (TX e RX)
Usado para a comunicação entre a placa Arduino e um computador ou outros dispositivos.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Serial.begin( )
Define a taxa de dados em bits por segundo (Banda) para a transmissão de
dados serial .
Sintaxe: Serial.begin (velocidade) Parâmetros: Velocidade: em bits por segundo (banda) Retorno: Nenhum
Para se comunicar com o computador, use uma dessas taxas: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 ou 115200.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Serial.print( ) Imprime/Envia dados para a porta
serial/computador.
Sintaxe: Serial.print (val) Parâmetros: val: o valor para imprimir - qualquer tipo de dados
millis (): Retorna o número de milissegundos desde que o Arduino começou a executar o programa atual. delay(): Pausa o programa para a quantidade de tempo (em milissegundos) especificado como parâmetro. (1000 milissegundos são um segundo.)
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Serial.read( ) / Serial.available( )
Lê os dados de entrada Serial.
Sintaxe: Serial.read () Parâmetros: Nenhum Retorna: Um numero inteiro referente a tabela ASCII.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Tabela ASCII
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Exercício
1- Faça um programa que leia o sensor LM35 utilizando a porta analógica 0, e envia esse dado para computador de 1 em 1 segundo em ºC.
Ministrado por: Wellington Cássio Faria Contato: [email protected]
O sensor LM35 é um sensor de precisão, fabricado pela National Semiconductor ,que apresenta uma saída de tensão linear relativa à temperatura em que ele se encontrar no momento em que for alimentado por uma tensão de 4-20Vdc e GND, tendo em sua saída um sinal de 10mV para cada Grau Celsius de temperatura.
LiquidCrystal Biblioteca
Ministrado por: Wellington Cássio Faria Contato: [email protected]
Esta biblioteca permite que uma placa Arduino possa controlar um LCD baseado no
Hitachi HD44780
LiquidCrystal Biblioteca
Ministrado por: Wellington Cássio Faria Contato: [email protected]
LiquidCrystal () Cria uma variável do tipo LiquidCrystal. Sintaxe: LiquidCrystal “NOME” (rs, enable,D4, D5,D6,D7)
begin () Especifica as dimensões (largura e altura) do display. Sintaxe: lcd.begin (colunas, linhas) Parâmetros: lcd: uma variável do tipo LiquidCrystal colunas: o número de colunas do LCD linhas: o número de linhas do LCD
LiquidCrystal Biblioteca
Ministrado por: Wellington Cássio Faria Contato: [email protected]
print () Imprime texto ao LCD. Sintaxe: lcd.print (dados) Parâmetro: lcd: uma variável do tipo LiquidCrystal dados: os dados para imprimir (char, byte, int, long, ou string)
LiquidCrystal Biblioteca
Ministrado por: Wellington Cássio Faria Contato: [email protected]
setCursor () Posicione o cursor LCD, isto é, definir o local em que o texto subseqüente é escrito no LCD. Sintaxe: lcd.setCursor (coluna, linha) Parâmetros: lcd: uma variável do tipo LiquidCrystal coluna: a coluna na qual se posiciona o cursor (sendo 0 a primeira coluna) linha: a linha em que a posição do cursor (sendo 0 a primeira linha)
Exercício
Ministrado por: Wellington Cássio Faria Contato: [email protected]
2- Faça um programa que imprima na Primeira linha o seu primeiro nome e na segunda linha o primeiro nome do seu parceiro de bancada. 4- Entre em file/exemples/LiquidCrystal/Scroll e rode o programa.
FIM
Ministrado por: Wellington Cássio Faria Contato: [email protected]
www.facebook.com/engenheiromaonamassa
Top Related