MINICURSO DE ARDUINO Ministrantes Equipe Jaguar Desenvolvedores Equipe
- Slides: 55
MINICURSO DE ARDUINO Ministrantes: Equipe Jaguar Desenvolvedores: Equipe Jaguar
Explicaremos o que é Arduino e suas utilidades. O QUE É ARDUINO
Arduino • É uma plataforma de computação física – consegue “perceber” a realidade através de sensores e tomar ações físicas para controlá-la através de atuadores; • Para isso, utiliza de uma placa de Entrada/Saída microcontrolada baseada em bibliotecas e sintaxe que simplificam a linguagem C/C++.
Utilidades
A seguir mostraremos algumas informações sobre a plataforma Arduino. PLATAFORMA
Plataforma • Foi projetado para ser de fácil entendimento, programação e aplicação, podendo ser utilizado como ferramenta educacional sem muitos conhecimentos de eletrônica. • O Arduino utiliza o micro controlador (MCU) Atmega. Um MCU é um “computador” em um chip, possuindo, também, processador, memória e periféricos, porém é utilizado para funções específicas;
Especificações técnicas do Arduino UNO. ESPECIFICAÇÕES TÉCNICAS
Arduino UNO
Apresentaremos o ambiente de programação do Arduino. AMBIENTE DE PROGRAMAÇÃO
Divisão do ambiente. • O software Arduino pode ser rudemente dividido em três partes: - Inclusão de bibliotecas, variáveis e pinos; - Setup (onde se preestabelece algumas definições, como se um pino é de entrada ou saída, por exemplo); - Loop (programação em si: leitura de pinos de entrada e tomada de decisões/ações). • Obs. : o “setup” e o “loop” são grandes estruturas de controle, logo têm início e “void”.
Ensinaremos a maneira de se conectar ao Arduino pelo computador. CONEXÃO
Conexão com o arduino • Conecte o Arduino no computador e espere o reconhecimento; • Na barra de menu da plataforma de programação, vá em “Tools >> Board >> Arduino UNO”; • Depois, volte em “Tools >> Serial Port >> COMX”; • Quando a programação estiver pronta, aperte clique no botão “Verify”. Se houver algum problema em seu programa, o software irá denunciá-lo, mostrando a linha em que ocorreu e qual o possível problema; • Depois de corrigidos todos os problemas e verificado novamente, aperte o botão “Upload” que irá embarcar seu programa no Arduino.
A seguir apresentaremos algumas referências na linguagem utilizada pelo Arduino. REFERÊNCIAS DA LINGUAGEM
Operadores Tipos de operadores operações Operadores aritméticos +, -, =, etc. Operadores booleanos &&, ||, !”A” Operadores de comparação ==, !=, <=, etc.
Sintaxe if • Estruturas de controle (if, else, for, etc. ): if(condição) { ação; } else { ação 2; } • Obs. : todas as linhas do programa que não são de estruturas de controle devem terminar com “; ”
Sintaxe else if • else if(condição) { Ação 1; } else { Ação 2; } • Obs. : O uso do else if não acarreta a necessidade do uso da função else finalizando.
Sintaxe pinos • Os pinos podem ser declarados com qualquer nome, desde que sejam declarados como “int”; • O endereço físico deve ser atribuído a esse nome através de um “=”; int nome = 6; • Os pinos analógicos devem ser atribuídos a endereços do tipo “Ax”. Por exemplo: int nome = A 5;
Variáveis • As variáveis são aquelas responsáveis por guardar valores que podem ser posteriormente retomados. Por exemplo, registrar os dados lidos por um sensor em um determinado momento; • Qualquer informação vinda do meio externo deve ser salva em uma variável para poder ser utilizada futuramente; • Além disso, deve-se definir o tipo de variável (int , char, long etc. );
Variáveis • Para serem utilizadas, as variáveis devem ter sido definidas na área específica para tal fim. Nesta zona, deve ser igualada a seu valor inicial (se houver) ou simplesmente se termina a linha com “; ”; int nome_variável = 0; ou int nome variável;
Constantes • As constantes são aquelas utilizadas, geralmente, como parâmetros; • As mais utilizadas são INPUT/OUTPUT, true/false, etc. HIGH/LOW,
Funções • Digitais I/O – pin. Mode() digital. Write() digital. Read(); • Analógicas I/O – analog. Reference() analog. Read() analog. Write() – PWM; • Temporais – millis() micros() delay. Microseconds(); • Matemáticas – min() max() abs() map().
Mostraremos os parâmetros das funções do Arduino. PAR METROS DAS PRINCIPAIS FUNÇÕES
Digitais I/O • pin. Mode(pino, OUTPUT/INPUT) – utilizada para setar se um determinado pino será de entrada (INPUT) ou saída (OUTPUT). Deve ser utilizada na área de setup; • digital. Write(pino, HIGH/LOW) – utilizada para “escrever” no pino selecionado nível lógico 1 (HIGH) ou 0 (LOW); • digital. Read(pino) – utilizada para “ler” se o pino está com valor lógico 1 ou 0.
Temporais • millis() – utilizada para contar quantos milissegundos se passaram desde que a plataforma começou a funcionar; • delay(valor) – utilizada para que o programa espere determinado tempo. Esse período de espera é parametrizado por “valor” em sua sintaxe (em milissegundos).
DESAFIOS
Blink • Programa básico padrão que utiliza as principais funções digitais e pode ser realizado apenas com a placa do Arduino; • Há um LED interno na placa ligado ao pino digital 13; • Deve-se fazer com que esse LED pisque com período de 2 s (acenda, permaneça 1 s aceso, apague, permaneça 1 s apagado, acenda de novo e assim por diante); Obs. : Lembrem-se de que primeiro se deve declarar tudo (pinos, variáveis se necessário), depois setar os pinos e só assim começar o loop.
Semáforo • Um LED normal possui um catodo (parte negativa) e um anodo (parte positiva). Fisicamente o catodo é a maior parte interna de um LED. A outra, menor, é o anodo; • O catodo deve ser ligado à trilha do terra. O anodo deve receber o sinal vindo do Arduino. • Para esse desafio serão utilizados três LEDs (verde, amarelo e vermelho) e estes devem funcionar semelhante a um sinal de trânsito. Porém, ficando 1 s aceso apenas em cada cor.
Apresentaremos mias funções utilizadas. MAIS FUNÇÕES
Analógicas • analog. Read(pino) – utilizada para “ler” o valor de tensão de um pino. Porém, o número retomado por esta não é a tensão em si, e sim um valor digital de 0 (0 V) a 1023 (5 V) (leitura de 10 bits); • analog. Write(pino, valor) – utilizada para “escrever” o valor de tensão que deve sair por um pino. Porém, seu parâmetro deve ser um número de 0 (0 V) a 255 (5 V) (escrita de 8 bits). Com isso, pode-se criar um PWM (Pulse Width Modulation – Modulação por Largura de Pulso) que se utiliza para controlar a velocidade de um motor ou a intensidade luminosa de um LED, por exemplo.
Matemáticas • map(valor, mínimo_origem, máximo_origem, mínimo_desejado, máximo_desejado) – utilizada para interpolar um valor de determinada escala para outra. Por exemplo, para “escrever” em um pino um valor proporcional à leitura de outro pino (“valor”), utiliza-se esta função.
DESAFIOS
Controlando Brilho LED Potenciômetro • Agora deve-se controlar o brilho de um LED; • O brilho do LED devera ser proporcional ao giro do potenciômetro. • Lembrem-se que o arduino executa a leitura em 10 bits e somente permite a escrita em 8 bits, portanto se faz necessário interpolar esse valor usando a função map.
Serial • Serial. println(informação a ser printada) – utilizada para printar um valor ou informação quando aberto o serial monitor. Para isso é necessário declará-lo no setup da seguinte maneira: Serial. begin(9600); • Caso seja uma variável já utilizada apenas é escrito o nome dela, caso você queira nomear algo dependendo de comparações, por exemplo, é necessário que o nome esteja entre “” dentro dos parênteses.
LDR • Neste exemplo você terá que utilizar a leitura do LDR e printar no serial monitor se ela é preta ou branca. Dica: informação você deve LER a vinda do componente (que é analógico, ou seja, o valor retomado é um número e não HIGH/LOW). Lembrese de que a parte analógica lê de 0 a 1023.
BIBLIOTECAS
Resumo • As bibliotecas nos proporcionam ampliar o horizonte de programação que se tem utilizando apenas as funções e estruturas padrões; • Podem incluir funções, constantes, etc; • Devem ser declaradas na área específica para este fim, segundo a seguinte sintaxe: #include <Nome_Bilblioteca. h>;
Exemplos • Liquid. Crystal – permite a utilização de um display de cristal líquido (LCD) matricial através de um shield; • Servo – permite o controle de servomotores adicionando funções para tal; • XBee – permite a utilização de um módulo Zig. Bee também através de um shield.
DESAFIO
Display 7 Segmentos • Neste desafio o objetivo é fazer um contador cíclico que funcione de 0 a 9, mudando de 1 em 1 segundo. • Lembre-se que existe uma biblioteca para sua utilização e é necessário incluí-la. • Quando utilizado essa programação a declaração tem que ser: • LM 7 Seg. Direct disp(2, 3, 4, 5, 6, 7, 8, 9, false); // pinos ilustrativos • O setup: disp. define. Digits(1, 0, 0); • Loop: disp. value. Write(valor_desejado);
BIBLIOGRAFIA
Bibliografia FONSECA, Erika G. Pereira, BEPPU, Mathyan Motta. Apostila Arduino – Universidade Federal Fluminense. Pgs. 1 a 21. Engenheirando. Disponível em www. engenheirando. com. Acessado em 12 de novembro de 2012. Language Reference. Disponível no site da Arduino.
AGRADECIMENTOS
MEIOS PARA CONTATO
Contatos • Site: equipejguar. com. br • Facebook: facebook. com. br/Equipe. Jguar. VR • Youtube: youtube. com. br/Equipe. Jaguar • Email: contato
- Jaguar
- Jaguar land rover swot analysis
- Sasqa
- Npsd jaguar nation
- Theory of natural selection
- Tragacanth biological source
- The jaguar summary
- Jurnal eliminasi
- Jaguar electronic parking brake
- Jaguar poem ted hughes
- Amazon food chains
- Rain
- Quantos jogadores formam uma equipe de futsal? *
- Trabalho em equipe
- Trabalho em equipe
- Travail d'équipe
- Casal ligação ens
- Modello per piccole equipe
- Trabalho em equipe perguntas
- Nomes para equipe
- Inuk equipe mobile
- équipe
- Remerciement équipe pédagogique
- Uma equipe de cientistas lançará uma expedição
- Katzenbach e smith
- Modello per piccole equipe
- Modello per piccola equipe
- Onda p
- Planning equipe
- Réunion d'équipe
- Travail d'équipe
- As 17 incontestáveis leis do trabalho em equipe
- Arduino digital read
- Arduino uno anatomy
- Arduino programlama dili
- Arduino tone komutu
- Arduino obd2 data logger
- Arduino leonardo mouse move
- Monitoreo arduino
- Xxapple mega
- Dds arduino
- Arduino operatory
- Af motor library zip download
- 아두이노 인터럽트
- Https://www.arduino.cc/
- Java serial communication arduino
- Arduino stdio.h
- Parallel communication
- Arduino kroz jednostavne primjere
- Stazione meteo con arduino
- #include servo.h
- Ciclo do while arduino
- Arduino exercises
- Simon says arduino with buzzer
- Frank hagenaars
- Arduino