ARDUINO BÁSICO Lição I Frederico José Dias Möller 28/01/14 Frederico Möller 1
SUMÁRIO ● O Mínimo ● Introdução – Plataforma de que? ● Para começar: blink – Plataforma de – Hardware prototipagem – Software ● Vantagens e ● Definição desvantagens ● Setup ● Arduino.cc ● Loop ● Arduino IDE – A função digitalWrite() – Configurando o bicho – A função delay() 28/01/14 Frederico Möller 2
SUMÁRIO ● Um pouco de – Hardware programação – Software ● Exercício 2 – Variáveis – Laços ● Revisão – Condicionais ● Leitura ● Exercício 1 complementar ● Lendo... ● Exemplo: Alterar led 28/01/14 Frederico Möller 3
INTRODUÇÃO ● O Arduino é uma plataforma de prototipagem eletrônica italiana. ● É conhecida por seu fácil uso, podendo ser usada até por “leigos”. ● Tem preço relativamente accessível, bom suporte online e uma boa configuração de hardware. 28/01/14 Frederico Möller 4
PLATAFORMA DE QUE??? ● O Atmel é um microcontrolador. ● Ele pode ser ligado a sensores, atuadores, módulos de RF... ● Ele também pode ser programado para agir dentro de uma rotina, reagir a sinais de sensores... 28/01/14 Frederico Möller 5
PLATAFORMA DE QUE? ● No entanto, é preciso montar um circuito de alimentação para manter o mesmo em operação. ● Para programá-lo, é necessário usar um módulo programador. ● É necessário criar extensões de seus pinos, para poder ligar sua saídas à periféricos. 28/01/14 Frederico Möller 6
PLATAFORMA DE PROTOTIPAGEM ● Quando reunimos todos esses elementos em uma só placa, temos a plataforma de prototipagem eletrônica. ● O Arduino, não é um microcontrolador, o Arduino é uma PPE. 28/01/14 Frederico Möller 7
VANTAGENS E DESVANTAGENS ● Acessível ● Limitação de funções em nome da ● Fácil programação facilidade de ● Grande variedade de programação módulos disponíveis ● Não aproveita no mercado totalmente a ● Muitos tutoriais na capacidade de seu internet hardware 28/01/14 Frederico Möller 8
Arduino.cc ● A página oficial do arduino é http://arduino.cc/ ● Podemos encontrar lá produtos, tutoriais, um fórum de discussões... ● Lá também podemos encontrar a IDE do arduino e seus drivers. 28/01/14 Frederico Möller 9
Arduino IDE ● É o ambiente de programação do arduino ● Vem com exemplos embutidos ● É leve e gratuita 28/01/14 Frederico Möller 10
Configurando o bicho ● Uma vez instalada a ● Em “board” selecionamos o modelo de Arduíno que IDE e os drivers iremos usar. FTDI é necessário ● Em “serial port” a porta configurar a mesma onde o Arduíno está para o Arduíno em conectado. uso. ● Em “programmer” o tipo ● Fazemos isso no de programador do Arduíno. (Em geral é menu “Tools”. Arduíno ISP) 28/01/14 Frederico Möller 11
O Mínimo ● O Arduino tem duas grandes funções SETUP básicas: – A função setup (){} – E a função loop (){} LOOP 28/01/14 Frederico Möller 12
O Mínimo ● A função setup(){} ● A função loop(){} define as seria a função “main” configurações de do arduino... mas na hardware com as quais verdade ela nem o arduino irá trabalhar sempre é necessária ● Ex.: Quais pinos serão ● Tudo o que for de saída, quais serão escrito na função de entrada, b.rate... loop será repetido indefinidamente 28/01/14 Frederico Möller 13
PARA COMEÇAR... blink ● Vamos começar com um programa simples, um “blink” ● Blink é um programa de fazer um led piscar 28/01/14 Frederico Möller 14
Hardware ● Vamos usar: – 1 led 5mm – 1 resistor de 220 Ω – 1 placa de matrizes – E é claro, um Arduíno ● O Arduíno fornece uma tensão de 5v, como V=Ri, devemos ligar o led em série com o resistor de 220 ohms 28/01/14 Frederico Möller 15
Hardware 28/01/14 Frederico Möller 16
Software definição ● Nosso objetivo é fazer com que um led fique piscando, ou seja, alterne seu estado a cada t segundos ● Ou seja, o Arduíno deverá fornecer corrente para o led por t segundos, depois deverá cortar essa corrente por mais t segundos e repetir isso indefinidamente. 28/01/14 Frederico Möller 17
Software: Setup ● Se é o led que vai receber um sinal do Arduíno, então ele deverá estar ligado à um pino de saída. ● Assim, informamos ao Arduíno que o pino 13 será um pino de saída 28/01/14 Frederico Möller 18
Software loop ● Uma vez que o programa rodará indefinidamente, ou seja, após rodar a última instrução ele voltará para a primeira, podemos (devemos) escrevê-lo dentro da função loop. 28/01/14 Frederico Möller 19
digitalWrite(pino,valor) ● A função digitalWrite faz com que um dos pinos digitais emita um sinal, alto ou baixo. ● Ela recebe a numeração do pino e um HIGH para sinal alto e um LOW para baixo 28/01/14 Frederico Möller 20
delay(num) ● A função delay faz com que o microcontrolador espere por um número de milésimos de segundos antes de executar a próxima operação 28/01/14 Frederico Möller 21
Software blink ● Tentem agora escrever o programa blink ● Se parece com o ? programa ao lado? ● Tentem carregar ele no Arduíno através do botão: 28/01/14 Frederico Möller 22
Um pouco de programação ● Antes de prosseguirmos vamos falar um pouco mais da linguagem usada no Arduíno ● O Arduíno usa uma linguagem simples, bastante intuitiva. É possível, com realizar com um único comando uma tarefa que levaria umas boas 10 linhas em outras plataformas. ● Outra característica é que essa linguagem é um dialeto do C ansi, ou seja, a sintaxe das duas é muito parecida. 28/01/14 Frederico Möller 23
Variáveis ● Assim como no C, as instruções são executadas na ordem em que foram escritas. ● Em diversas ocasiões é possível que o Arduíno tenha que trabalhar com números e palavras armazenados em sua memória, estes são chamados de variáveis ● Antes de uma variável ser usada, ela precisa ser declarada, ou seja, seu nome e tipo deve aparecer no escopo do programa. 28/01/14 Frederico Möller 24
Variáveis ● Tipos: ● Exemplos ● int ● int – Números inteiro – 16, 15, 2, 0 ● float ● float – Números reais – 5.2 , 0.001, 3.5679 ● char ● char – “letras” – 47, 'a', “ ” 28/01/14 Frederico Möller 25
Laços ● Laços de repetição são usados quando um determinado grupo de instruções deve ser executado diversas vezes, até que um objetivo seja alcançado. ● A função “loop” de certa forma é um laço de repetição, mas ela só pode ser chamada uma vez. ● Temos os laços for, while e do-while 28/01/14 Frederico Möller 26
Laço ● For: – O laço só será executado e continuará – for(condição inicial; sendo até que o objetivo objetivo; ação após seja alcançado cada laço) ● Do-while – Usado em geral para – do{}while(objetivo) repetições contadas – Igual ao o while, mas as ● While instruções serão executadas pelo menos – while(objetivo) uma vez 28/01/14 Frederico Möller 27
Condicionais ● É uma tomada de decisão, com base em um teste lógico. ● Tem o formato if(teste lógico){} else{} ● O bloco else é opcional. ● Se o teste lógico for verdadeiro, ele executa as instruções dentro do 1º bloco. ● Se não, executa as dentro do bloco else{} 28/01/14 Frederico Möller 28
Um pouco de programação ● À esquerda temos um exemplo de um programa que faz um de dois leds piscarem cerca de 998x ● Um led piscará se o número for primo e o outro se não for. 28/01/14 Frederico Möller 29
Um pouco de programação ● Em 1 temos declarações de variáveis. ● As variáveis i e j são do tipo inteiro. ● A variável a é do tipo booleana. 28/01/14 Frederico Möller 30
Um pouco de programação ● O tipo booleano só pode assumir valores lógicos, ou seja, verdadeiro ou falso. ● Voltando nas variáveis inteiras, notem que se quisermos, podemos atribuir um valor ao declararmos, como fizemos com i. 28/01/14 Frederico Möller 31
Um pouco de programação ● Em dois temos o início de um ciclo, será executado enquanto i for menor que 1000. ● Se tivéssemos atribuído 1000 ou mais para i, esse ciclo NUNCA seria executado! 28/01/14 Frederico Möller 32
Um pouco de programação ● Se fosse um ciclo do- while, as instruções em seu interior seriam executadas pelo menos uma vez, independente do valor de i ● Em 3 atribuímos um valor para a 28/01/14 Frederico Möller 33
Um pouco de programação ● Em 4 abrimos um laço for. ● Sua condição inicial é a variável j tendo o valor de i. ● Ele será executado enquanto j for maior que um. ● Ao fim de cada execução, j será diminuído em uma unidade. 28/01/14 Frederico Möller 34
Um pouco de programação ● Em 5, dentro do ciclo, executamos uma operação com ª ● No caso uma operação lógica. ● 'a' assumirá o seu valor antigo, ou o valor lógico da expressão: – “O resto da divisão de i por j é igual a zero” 28/01/14 Frederico Möller 35
Recommend
More recommend