curso de arduino automaÇÃo & robÓtica. caracterÍsticas e simplicidade utiliza...

157
CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA

Upload: internet

Post on 17-Apr-2015

139 views

Category:

Documents


20 download

TRANSCRIPT

Page 1: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CURSO DE ARDUINO

AUTOMAÇÃO & ROBÓTICA

Page 2: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction Set Computer ou Computador

com um Conjunto Reduzido de Instruções. 20 MIPS (milhões de instruções por segundo). Memória flash: 8kb,16kb, 32kb, 128kb, 256kb. 14 portas digitais 6 portas analógicas Oferece um IDE e bibliotecas de alto nível Hardware e Software Open-Source Programado em C/C++ Transferência de firmware via USB

Page 3: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

TIPOS DE ARDUINO

Arduino 2009Arduino MegaArduino UNOArduino ADK (Google ADK - Android)Arduino BTArduino NanoLilyPad

Page 4: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

TIPOS DE ARDUINO

Page 5: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CARACTERÍSTICAS DO ARDUINO UNOMicrocontrolador Atmega 328

Voltagem Operacional 5V

Voltagem de entrada (recomendada) 7-12V

Voltagem de entrada (limites) 6-20V

Pinos E/S digitais 14 (dos quais 6 podem ser saídas PWM)

Pinos de entrada analógica 6

Corrente CC por pino E/S 40 mACorrente CC para o pino 3,3V 50 mA

Flash Memory32 KB (ATmega328) dos quais 0,5KB são utilizados pelo bootloader

SRAM 2 KB (ATmega328)EEPROM 1 KB (ATmega328)Velocidade de Clock 16 MHz

Page 6: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ARDUINO UNO

Page 7: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RODANDO O PROGRAMA BLINK

INSTALANDO O ARDUINO E O SKETCH

CONFIGURANDO O MODELO DO ARDUINO

ESCOLHENDO A PORTA SERIAL

Page 8: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

INTERFACE DA IDE

Page 9: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PROTOBOARD

Page 10: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquema

Page 11: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PORTAS DIGITAIS

Trabalha com 0 e 1 na lógica binária- De 0 à 0,8 volts = 0– De 2 à 5 volts = 1

Page 12: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PORTAS ANALÓGICAS

• Valor lido é análogo à tensão• 0 volts = 0• 2,5 volts = 512• 5 volts = 1023• Conversor A/D de 10 bits: 0 à 1023

Page 13: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Porta PWM

Page 14: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Na prática

• Ligamos componentes em portas digitais comuns, pwm ou analógica.

• Fazemos leitura e escrita nestas portas a fim de obter um dado ou um determinado comportamento.

• Processamos os dados no microcontrolador.

Page 15: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Alguns exemplos de componentes

Page 16: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PROGRAMAÇÃO

Dois métodos são obrigatórios:void setup(){}

 void loop(){}

 setup() : será executado uma única vez ao ligar a placaloop() : será executado infinitamente

Page 17: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PROGRAMAÇÃO

• Comando pinMode()

• Comando digitalWrite()

• Comando digitalRead()

• Comando analogRead()

• Comando analogWrite()

Page 18: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

LED• O diodo emissor de luz conhecido pela sigla LED (Light Emitting Diode).• Sua funcionalidade básica é a emissão de luz

Page 19: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 20: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RESISTOR

• Função: limitar a quantidade de corrente elétrica.

• Resistência elétrica é a oposição à passagem de uma corrente

elétrica, medida em ohms.

• O valor da resistência de um resistor pode ser identificado de

acordo com as cores apresentadas em sua cápsula.

Page 21: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RESISTOR

Page 22: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RESISTOR

Page 23: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 1 PISCA LEDQue resistor devemos utilizar?

Arduino – saída: 5 voltsLed vermelho: 1,6 voltsCorrente do Led: aprox. 20 mA

Aplicando a lei de Ohm:R – é a resistência elétrica medida em ohm (Ω)U – é a tensão medida em volt (V)i – é a corrente elétrica medida em ampère (A)U = R . iR = U / iR = (5,0 – 1,6) / 0,020R = 3,4 / 0,020R = 170 omhsUtilizar resistor 170 omhs

Page 24: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Materiais necessários:

• Arduino• Protoboard• Fios de conexão• LED• Resistor de 220 ohms

Page 25: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquema

Page 26: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios

• Altere o programa anterior para 3 LEDs piscarem sequencialmente.

Page 27: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CLASSE SERIAL

• Permite a comunicação do Arduino com o computador através da porta

serial (via USB).

• Instruções:

• Serial.begin(9600); // inicia a comunicação do Arduino com o

computador utilizando a velocidade 9600 bits por segundo

• Serial.println(x); //--- envia o valor de x como decimal para o computador

Page 28: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

LDR (Light Dependent Resistor)

• Um LDR é um transdutor de entrada (sensor) que converte a

luz em valores de resistência

• É feito de sulfeto de cádmio (CdS) ou seleneto de cádmio

(CdSe).

• Sua resistência diminui quando a luz é muito alta, e quando

a luz é baixa, a resistência no LDR aumenta.

Page 29: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 2 – LUZ AMBIENTE

• Materiais necessários:• Arduino• Protoboard• Fios de conexão• LDR• Resistor de 10k

Page 30: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquema

Page 31: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ExercíciosAcender o LED quando o ambiente estiver escuro e

apagar o LED quando o ambiente estiver claro.

Page 32: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CHAVE TÁCTIL

• Também conhecida como Push Button ou Chave de Toque, fecha contato quando pressionada

Page 33: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 3 ACENDER LED COM CHAVE TÁCTIL

Materiais necessários:ArduinoProtoboardFios de conexãoBotão táctilResistor de 10kLEDResistor de 220 ohm

Page 34: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 35: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios

O LED devera ficar apagado quando clicar na chave táctil ele se acende após clicar novamente ele se apaga.

Page 36: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 37: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Os Símbolos

usados na construção de funções são os seguintes:

{ } Dentro das chaves vão os procedimentos (statements) que a função deve executar;

; - O ponto-e-vírgula é usado para marcar o final de um Procedimento;

// - comentário de uma linha: qualquer caracter depois das duas barras é ignorado pelo programa;

/*...*/ - comentário em várias linhas: qualquer texto colocado entre esses símbolos também é ignorado pelo programa

Page 38: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exemplo:

/*

Nesse código a função setup( ) ativa a porta serial em 9600 bits/s e a função loop( ) fica transmitindo a frase ‘Hello World!’ pela porta serial a cada 2 segundos.

*/

void setup( ){

Serial.begin(9600);

// inicializa a porta serial

}

void loop( ){

Serial.println(“ Hello World! “);

// transmite frase

delay(2000);

}

Page 39: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CONSTANTESSão valores predefinidos que nunca podem ser alterados. Na linguagem C do Arduino são 3 os grupos de constantes; os dois componentes de cada grupo sempre podem ser representados pelos números binários 1 e 0.

TRUE/FALSE são constantes booleanas que definem estados lógicos. Verdadeiro é qualquer valor que não seja zero. Falso é sempre o valor zero.

HIGH/LOW essas constantes definem as tensões nos pinos digitais do Arduino. Alto é uma tensão de 5 volts; baixo o terra (ou 0 volt).

INPUT/OUPUT são constantes programadas pela função pinMode( ) para os pinos do Arduino; eles podem ser entradas (de sensores) ou podem ser saídas (de controle)

Page 40: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

VARIÁVEIS São posições na memória de programa do Arduino marcadas com um nome e o tipo de informação que irão guardar. Essas posições podem estar vazias ou podem receber um valor inicial. Os valores das variáveis podem ser alterados pelo programa.

Escopo da Variável Uma variável pode ser declarada em qualquer parte do programa. Se for declarada logo no início, antes da função setup( ), ela tem o escopo de Variável Global, e por isso ela pode ser usada por qualquer função no programa. Se declarada dentro de uma função ela tem o escopo de Variável Local, e só pode ser usada pela própria funçãoDeclaração da Variável como as funções, toda variável deve serdeclarada antes de ser chamada. Essa declaração consiste em atribuir previamente um tipo e um nome à variável. Tipos de variáveis:byte - esse tipo armazena 8 bits (0-255);int - armazena números inteiros de até 16 bits;long - armazena números inteiros de até 32 bits;float - variáveis deste tipo podem armazenar números fracionários de até 32 bits

Page 41: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exemplo:/* Esse programa escrito em C do Arduino aumenta e diminui gradativamente o brilho de um LED conectado no pino PWM 10 do Arduino. */int i=0; // declaração da variável global inteira i iniciada com 0void ledOn( ); // declaração da função criada ledOn do tipo voidvoid setup( ) {pinMode(10,OUTPUT);// aqui 2 parâmetros são passados à função pinMode( )}void loop( ){for (i=0; i <= 255; i++) ledOn( ); // aumenta o brilho do ledfor (i=255; i >= 0; i--) ledOn( ); // diminui o brilho do led}void ledOn( ){ // função que acende o ledanalogWrite (10, i);// o nº do pino e o valor de i são passados à função analogWrite( )delay (10); }

Page 42: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

MATRIZESsão coleções de variáveis do mesmo tipo, portanto são posições na memória de programa, com endereços que podem ser acessados por meio de um identificador, chamado de índice. A primeira posição de uma matriz é sempre a de índice 0.

Declaração de uma Matriz 1As matrizes, como as variáveis e as funções, devem ser declaradas com um tipo e um nome seguido de colchetes; e podem também ser inicializadas com os valores entre as chaves. Exemplo: int nomeMatriz [ ] = { 16,32,64,128, ... };

Declaração de uma Matriz 2Pode-se também declarar somente o tipo, o nome e o tamanho da matriz, deixando para o programa o armazenamento de variáveis nas posições, ou índices, da matriz. int nomeMatriz [ 10 ] ;//nomeMatriz com dez 10 //posições para variáveis inteirasEscrever/Ler uma Matriz Para guardar o inteiro 16 na 4ª posição da matriz nomeMatriz, usa-se: nomeMatriz [3] = 16;Para atribuir o valor armazenado na 5ª posição de nomeMatriz à variável x: int x = nomeMatriz[4];

Page 43: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Operações Aritméticas e lógicas as 4 operações aritméticas, divisão, multiplicação, adição e subtração, são representadas pelos símbolos: /, *, + e -. E são 3 os operadores lógicos na linguagem do Arduino que são usados para comparar duas expressões e retornar a constante TRUE/FALSE.

Símbolos compostos são aqueles que combinam os símbolos aritméticos entre si e com o sinal de atribuição:x ++ // x=x+1 x -- // x=x-1x += y // x=x+yx -= y // x=x-yx *= y // x=x*yx /= y // x=x/yOperadores de comparação comparam uma variável com uma constante, ou variáveis entre si. São usados para testar se uma condição é verdadeira.x == y // x é igual a yx != y // x não é igual a yx < y // x é menor que y x > y // x é maior que yx <= y // x é menor ou igual a yx >= y // x é maior ou igual a yOperadores lógicos são usados para comparar duas expressões, retornam 1 ou 0 (verdadeiro/falso).&& AND porta lógica ‘E’|| OR porta lógica ‘OU’! NOT porta lógica NÃO

Page 44: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Função Exemplo Notas

delay(ms)Essa função pausa o programa por um período em milissegundos indicado pelo parâmetro entre parênteses. delay(1000);

Com esse parâmetro o programa vai pausar durante 1 segundo (1000 ms).

Durante o período em que essa função está ativa qualquer outra função no programa é suspensa. Somente as interrupções de hardware podem parar essa função.

delayMicroseconds(us)Essa função pausa o programa por um período em microssegundos indicado pelo parâmetro entre parênteses.

delayMicroseconds(1000);Com esse parâmetro o programa vai pausar durante 1 ms (1000 us).

As mesmas observações acima para a função delay(ms) são válidas aqui.

millis( )Retorna o número de milissegundos desde que o Arduino começou a executar o programa corrente.

long total = millis( );Aqui a variável inteira longa (de 32 bits) ‘total’ vai guardar o tempo em ms desde que o Arduino foi inicializado.

Essa variável vai ser resetada depois de aproximadamente 9 horas.

Page 45: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

random(min,max)Gera números pseudoaleatórios entre os limites min e maxespecificados como parâmetros.

int valor = random(100,400);À variável ‘valor’ vai ser atribuido um número inteiro qualquer entre 100 e 400.

O parâmetro min é opcional e se excluído o limite mínimo é 0. No exemplo variável ‘valor’ poderá ser qualquer número inteiro entre 0 e 400.

abs(x)Retorna o módulo ou valor absoluto do número real passado como parâmetro.

float valor = abs(-3.14);À variável ‘valor’ vai ser atribuído o número em ponto flutuante (e sem sinal) 3.14.

map(valor,min1,max1,min2,max2) A função map( ) converte uma faixa de valores para outra faixa. O primeiro parâmetro ‘valor’ é a variável que será convertida; o segundo e o terceiro parâmetros são os valores mínimo e máximo dessa variável; o quarto e o quinto são os novos valores mínimo e máximo da variável ‘valor’.

int valor = map(analog Read(A0),0,1023,0,255)); A variável ‘valor’ vai guardar a leitura do nível analógico no pino A0 convertida da faixa de 0-1023 para a faixa 0-255.

Com essa função é possível reverter uma faixa de valores, exemplo: int valor = map(x,1,100,100,1);

Page 46: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

if...else

Ao se acrescentar mais um bloco de instruções no loop do comando if

pode-se criar o comando i f...else , para fazer um teste novo quando o resultado da expressão for falsa.

if (expressão) {

bloco de instruções1;

// se ‘expressão’ for verdadeira, ‘bloco de instruções1’ é executado

}

else {

bloco de instruções2;

// se ‘expressão’ for falsa, ‘bloco de instruções2’ é executado

}

Page 47: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

if (expressão1) {bloco de comandos1;

}else if (expressão2) {

bloco de instruções2;}else {

bloco de comandos3;}

Page 48: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

switch (expressão) {case 1:

bloco de instruções1; break;

case 2: bloco de instruções2; break;

case 3: bloco de instruções3; break;

default: bloco de instruções4;

}

Page 49: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

whileUma das operações mais frequentes que os programas executam é repetir um grupo de instruções até que uma condição inicialmente verdadeira se torne falsa. É para isso que serve o comando while. A sua sintaxe é a seguinte:while (expressão) {

bloco de instruções;}

do...whilePara que o bloco de instruções seja executado ao menos uma vez, ele é deslocado para a entrada da caixa de decisões, antes do teste de validade: do {

bloco de instruções;}while (expressão)

Page 50: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

forInserindo-se no loop do comando while um contador que registre cada execução do bloco de instruções cria-se o comando for. Esse contador deve ter uma variável de controle que deve ser previamente inicializada com um tipo e um valor. A sua sintaxe é a seguinte:for (variável; expressão;incremento) {

bloco de instruções;}

Page 51: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

O operador ternário ‘?’É possível simplificar códigos com comandos if...else em C/C++ com o operador condicional ‘?’, também chamado de operador ternário. Esse operador avalia uma expressão e se esta for verdadeira uma instrução é executada, se a expressão for falsa uma outra expressão é executada. A sua sintaxe é a seguinte:(expressão) ? instrução1 : instrução2;Note o uso e a posição entre as duas instruções de dois pontos na sintaxe desse operador. Exemplo:int x = 8;y = (x > 10) ? 15 : 20;

Page 52: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 53: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

BUZZER

É composta de 2 camadas de metal e uma camada interna de cristal piezoelétrico (como um sanduíche). Ao ser alimentado com uma fonte de sinal, vibra da mesma frequência recebida, funcionando como uma sirene ou alto-falante.

Page 54: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 4 BUZINA

Materiais necessários:ArduinoProtoboardFios de conexãoBotão táctilResistor de 10kBuzzer

Page 55: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquema

Page 56: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios

Monte um circuito com 1 LDR e 1 Buzzer, quando estiver escuro, tocar o Buzzer.

Page 57: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Tabela de Tons

Page 58: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Melodia com Buzzer

NOTE_C4 262NOTE_G3 196NOTE_G3 196 NOTE_A3 220 NOTE_G3 1960NOTE_B3 247NOTE_C4 262

Page 59: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

LM35 – SENSOR DE TEMPERATURA

• O LM35 é um sensor de temperatura linear, trabalha com temperaturas entre -55ºC e 150ºC

Page 60: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 5 TERMÔMETRO

Materiais necessários:ArduinoProtoboardFios de conexãoLM35Formula (5 * temperatura * 100.0 / 1024)

Page 61: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquema

Page 62: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ExercíciosMonte um circuito com sensor de temperatura e um buzzer, quando a temperatura ultrapassar os 22 graus celsius apitar um alarme.

Page 63: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ENVIANDO DADOS DO COMPUTADOR PARA O ARDUINO

Em alguns exercícios anteriores, utilizamos a classe Serial para enviar dados do Arduino para o computador através da porta serial. A classe Serial também pode ser utilizada para receber dados enviados pelo computador ao Arduino, para isso, utilizaremos duas instruções: Serial.available() e Serial.read()

Serial.available() - indica a quantidade de dados disponíveis para leitura

Serial.read() - lê o próximo valor do buffer enviado pela serial, se retornar -1 não possui nenhum valor para ser lido no buffer.

Page 64: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 6 CONTROLANDO LEDS PELO COMPUTADOR

Materiais necessários:ArduinoProtoboardFios de conexão3 LEDsResistor de 220 ohms

Page 65: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquena

Page 66: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comunicação serial por fio entre 2 Arduino

Dois Arduinos, interconectados pelos pinos 0 e 1, respectivamente rx [pino de reçepção] e tx [pino de transmissão]. O pino TX de um deve estar ligado ao pino RX do outro - formando um X.

Aplicação: No caso um arduino envia um byte; o outro arduino recebe este byte e testa; se for 1 liga o led do pino 13 se for 0 desliga. Nenhum protocolo foi especificado.

Page 67: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 68: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

LED RGB• LED RGB pode emitir 3 cores: vermelho, verde e azul (RGB),

as cores podem ser emitidas isoladamente ou em conjunto.• Utilizando a porta PWM, podemos controlar a intensidade de

cada cor, as cores podem ser combinadas.• O LED RGB possui 3 terminais:

Page 69: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 7 LED RGB

Materiais necessários: – Arduino– Protoboard– Fios de conexão– LED RGB– Resistor de 220 ohms

Page 70: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquena

Page 71: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ExercíciosAltere o programa anterior para gerar outras cores RGB:– Amarelo: Vermelho + Verde– Magenta: Vermelho + Azul– Ciano: Verde + Azul

Page 72: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

POTENCIÔMETROÉ um dispositivo eletromecânico que possui um resistor de valor fixo

sobre o qual se move um contato deslizante, fazendo a resistência variar. Normalmente possui 3 terminais: Vcc, Gnd e sinal (analógico).

Page 73: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Função MAPA função “map” do Arduino converte uma faixa de valores de

entrada em uma faixa de valores de saída.Por exemplo: o potenciômetro gera valores de entrada entre 0

e 1023 (10bits) e desejamos converter em uma saída analógica entre 0 e 255 (8 bits).

Sintaxe:map(entrada, in_min, in_max, out_min, out_max)

Exemplo:int val = map(x, 0, 1023, 0, 255);

Page 74: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 8 LENDO POTENCIÔMETRO

Materiais necessários:- Arduino- Protoboard- Fios de conexão- Potenciômetro 10k

Page 75: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Esquena

Page 76: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

ExercíciosMonte um circuito para regular a intensidade do Led com o

potenciômetro Obs:Utilize uma porta PWM como entrada do LedUtilize a função “map” para converter os valores de entrada do potenciômetro nos

valores de saída para o Led

Page 77: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

DISPLAY DE 7 SEGMENTOSUm display de sete segmentos é composto de oito LEDs (Diodos

emissores de luz), sete para formar o número que deverá ser apresentado e um para gerar o ponto decimal.

Sua classificação pode ser ANODE (+) ou CATHODE (-).Os Displays LED de 7 segmentos podem ser utilizados para

inúmeras tarefas em automação.

Page 78: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 79: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 80: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 9 DISPLAY DE 7 SEGMENTOS

Materiais necessários:• Arduino• Protoboard• Fios de conexão• Display de 7 Segmentos• Resistor 220 ohms

Page 81: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

• Conexões:• Pino 13 – Led A• Pino 12 – Led B• Pino 11 – Led C• Pino 10 – Led D• Pino 9 – Led E• Pino 8 – Led F• Pino 7 – Led G• Pino 6 – Led do Ponto Decimal

Page 82: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 83: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 10 CONTAR DE 0 À 9

Número 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ponto, erro:

Page 84: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

• Relação Led – número (de 0 à 9 – “E”=Erro).• Led A – 0 – 3 –4 – 5 -- 6 – 7 - E• Led B – 0 – 1 – 2 – 3 – 4 – 7 – 8 – 9• Led C – 0 – 1 – 3 – 4 – 5 – 6 – 7 – 8- 9• Led D - 0 – 2 – 3 – 5 – 6 – 8 – 9 - E• Led E – 0 – 2 – 6 – 8 - E• Led F – 0 – 4 – 5 – 6 – 8 – 9 - E• Led G – 2 – 3 – 4 – 5 – 6 – 8 – 9 - E• Led do Ponto Decimal

Page 85: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CONTROLE DE LÂMPADAS E TOMADAS

Não é possível ligar um fio 110 volts no Arduino. O Arduino trabalha com 5 volts – corrente contínua.A energia elétrica das residências (tomadas e lâmpadas) trabalham com 127 ou 220 volts – corrente alternada.A transmissão de corrente contínua para longas distâncias é inviável.Como fazer o Arduino controlar tomadas e lâmpadas.

Page 86: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

USANDO UM RELÉUm relé é um interruptor eletromagnético que quando

conduzimos corrente o interruptor fecha um determinado contato.

Esses contatos podem estar normalmente abertos (desconectados) ou normalmente fechados (conectados)

Siglas NO e NC em inglês ou NA e NF em português.

Page 87: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RELÉ COM ARDUINO

Page 88: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

• Como ligar um Relé no Arduino??• O Arduino fornece no máximo 40mA em suas

portas• Para acionar o Relé, é preciso

aproximadamente 70mA• Por isso, devemos ligar um transistor entre o

Arduino e o Relé

Page 89: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Tensão reversa

• É um fenômeno físico que acontece em todo mecanismo eletromagnético quando é desenergizado. Assim que tiramos a energia de um dispositivo eletromagnético recebemos de volta um “choque”, isso poderia queimar o transistor ou o Arduino.

• Para evitar esse fenômeno, usamos um diodo, que só permite a corrente passar em um único sentido. O diodo pode ser ligado em paralelo com o mecanismo.

Page 90: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 91: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 11 CONTROLANDO LÂMPADA

Materiais necessários:• Arduino• Protoboard• Fios de conexão• Módulo Relé• Lâmpada de 127 volts• Tomada de 127 volts

Page 92: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 93: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios:Sensor de luminosidade - Monte um circuito para controlar a lâmpada quando escuro a lâmpada se acende e quando claro a lâmpada se apaga.

Page 94: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CONTROLANDO ARDUINO COM PHP EXPERIÊNCIA 12

• Materiais necessários:• Arduino• Protoboard• Fios de conexão• 6 Leds• Resistor 220r

Page 95: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 96: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 97: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

INTERRUPTOR MAGNÉTICOLer um Interruptor Magnético utilizando o

Arduino, e acionar um dispositivo a partir da leitura do interruptor magnético.

São usados para acionar, magneticamente, dispositivos eletro-eletrônicos como alarmes, trancas elétricas, portas, circuitos eletrônicos de partida, etc.

Page 98: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 13 ALARME DE PORTAS E JANELAS

Materiais necessários:• Arduino• Protoboard• Fios de conexão• 1 Interruptor magnético• Resistor 1K

Page 99: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 100: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios:Sensor de Janela e Portas - Monte um circuito para verificar

se o sensor está aberto ou fechado. Se circuito estiver aberto o buzzer deverá tocar.

Page 101: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

MOTORES COM ARDUINOFunções:• Movimentar peças (braços, superfícies, etc)• Locomover (rodas, esteiras, pernas, etc)Características:• Velocidade de rotação / rpm• Força• PrecisãoRedutor – transforma rotação em força• Motor DC/CC (velocidade)• Servo motor (precisão e/ou força)• Motor de passo (precisão e/ou força)

Page 102: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

MOTOR DC

• Motor simples pode ter alta velocidade.• Não tem precisão angular.• Podemos controlar a potência com PWM• Assim como relé precisamos ligar em um

transistor com diodo de proteção, para inverter a direção da rotação temos que inverter a polaridade.

Page 103: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

SERVO MOTOR• Motor com precisão angular, fácil comando.• Por padrão virar apenas de 0 a 180 graus.• Servos fullrotation giram em 360 graus.• Conexão super simples: GND, 5v e Sinal Digital

Page 104: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

MOTORES DE PASSOS• São dispositivos mecânicos eletro-magnético que

podem ser controlados digitalmente através de um hardware específico ou através de softwares. Motores de passos são encontrados em aparelhos onde a precisão é um fator muito importante.

• São usados em larga escala em impressoras, plotters, scanners, drivers de disquetes, discos rígidos e muitos outros aparelhos.

Page 105: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

TRANSISTOR

• O transistor funciona como um controlador de fluxo de corrente, é como uma torneira, possui 3 terminais chamados de “base”, “emissor” e “coletor”.

• A “base” tem a função da manopla da torneira ou seja, controlar o fluxo de corrente que irá fluir entre o “coletor” e o emissor (o que entra na torneira pela caixa d´água e o que sai na boca da torneira).

Page 106: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Analogia com uma torneira

Page 107: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 16 CONTROLANDO UM MOTOR DC

• Materiais necessários:• Arduino• Protoboard• Fios de conexão• Transistor Tip 122 (Pode ser TIP 120) NPN.• Diodo IN4007 (Ou IN4004).• Motor DC• Resistor 1K

Page 108: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 109: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

• Exercícios:• Controlando um Motor DC com Potenciômetro

•Arduino•Protoboard•Fios de conexão•Potenciômetro 10k•Transistor Tip 122 (Pode ser TIP 120) NPN.•Diodo IN4007 (Ou IN4004).•Motor DC•Resistor 1K

Page 110: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 111: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CLASSE SERVO MOTOR

Utilizada para controlar Servos Motores. Presente na biblioteca: Servo.h

Métodos:• Servo.attach(porta) – conecta servo à uma

porta digital• Servo.write(val) – define ângulo do braço do

servo (0 – 180º)• Servo.detach() – desconecta servo de uma

porta digital

Page 112: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 17 SERVO MOTOR COM PONTECIÔMETRO

• Materiais necessários:• Arduino• Protoboard• Fios de conexão• Potenciômetro 10k• Servo motor

Page 113: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 114: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

PONTE H EXPERIÊNCIA 18 MOTOR DC DUPLO SENTIDO

• Materiais necessários:• Arduino Uno• Ci L293B (podem procurar similares L293 D)• Protoboard• Motor DC• Fios de conexão

Page 115: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 116: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 117: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Exercícios:• Controlar dois motores DC pelo PHP - Monte um circuito

para controlar 2 motores DC para frente e para traz.• Monte também um pagina php para controlar os motores

DC, como na imagem abaixo.

Page 118: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

MOTOR DE PASSO

Um motor de passo é um tipo especial de motor que pode se mover em uma série de passo discretos. Eles são uma boa escolha para projetos que requerem movimento controlado e preciso. Projetos típicos incluem impressoras 3D, sistemas de posicionamento de telescópios e controle numérico computadorizado (CNC) de tornos e máquinas.

Page 119: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 19 CONTROLANDO MOTOR DE PASSO

• Materiais necessários:• Arduino Uno• Ci L293B (podem procurar similares L293 D)• Protoboard• Motor de Passo• Fios de conexão• Bateria de 6 ou 9 V

Page 120: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 121: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

#include <Stepper.h>

const int numeroDeVoltas = 60; Stepper configurar(numeroDeVoltas, 8,9,10,11);

void setup() { configurar.setSpeed(60); Serial.begin(9600);

}void loop() { Serial.println("Sentido Horario"); configurar.step(60); delay(500);}

Page 122: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

SENSOR DE MOVIMENTO PIRComo funciona?• Detecta infravermelho emitido por objetos e pessoas• Todas as pessoas e objetos emitem energia em forma de

infravermelho• PIR Sensor significa Sensor Infravermelho Passivo, pois sensor

não emite campo de detecção, apenas faz a leitura dos campos emitidos pelos objetos/pessoas

• Cada detecção gera um pulso positivo no Pino OUTCaracterísticas• Filtro especial chamado lente Fresnel, que foca os sinais

infravermelhos no objeto• Detecta movimentos a uma distância de 6 metros• Saída de bit simples• Alimentação de 3,3V até 5V

Page 123: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 14 SENSOR DE MOVIMENTO

• Materiais necessários:• Arduino• Protoboard• Fios de conexão• 1 sensor de Movimento PIR

Page 124: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 125: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

RECEPTOR INFRAVERMELHO

‘O TSOP382 é um receptor miniaturizado para sistemas de controle remoto por infravermelhos. Um diodo PIN e um pré amplificador são montados sobre um conector e o encapsulamento de epoxy funciona como um filtro de IR. O sinal de saída demodulado pode ser diretamente decodificado por um microprocessador. O TSOP382 é compatível com todos os formatos de dados do controles remostos mais comuns.

Page 126: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 15 RECEPTOR INFRAVERMELHO

• Arduino• Protoboard• Fios de conexão• 1 Receptor infra-vermelho

Page 127: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 128: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

#include <IRremote.h>int recep = 2;IRrecv irrecv(recep);decode_results resultado;

void setup(){ Serial.begin(9600); irrecv.enableIRIn();}

void loop(){ if(irrecv.decode(&resultado)){ Serial.println(resultado.value,HEX); irrecv.resume(); } }

Page 129: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

SENSOR DE DISTÂNCIA

Sensor Ultrasônico HC-SR04• Emite um sinal ultrasônico para detectar obstáculos• Faixa de medição: 2 cms à 4 mts• Possui um emissor e um receptor ultrasônico• Possui 4 conexões:• 5V Supply (VCC)• Tigger Pulse Input (Trig)• Echo Pulse Output (Echo)• 0V Ground (GND)

Page 130: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

CLASSE ULTRASONIC

Classe utilizada com o Sensor Ultrasônico padrão SR04Método construtor:•Ultrasonic(trigger_pin, echo_pin)

Sistemas de medição:•CM – medição em centímetros•INC – medição em polegadas

Método para efetuar a medição:•Ultrasonic.Ranging(sist_med)

Page 131: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

EXPERIÊNCIA 21 DETECTANDO OBSTÁCULO

Materiais necessários:•Arduino•Protoboard•Fios de conexão•Sensor HC-SR-04•Buzzer

Page 132: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 133: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

#include <Ultrasonic.h>Ultrasonic ultrasonic(8,9);void setup(){ Serial.begin(9600); pinMode(13,OUTPUT);}

void loop(){ int distancia = ultrasonic.Ranging(CM); Serial.println(distancia); delay(200); }

Page 134: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Acelerômetro

Page 135: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction
Page 136: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

const int groundpin = 18; const int powerpin = 19;const int xpin = A3; const int ypin = A2; const int zpin = A1;

void setup(){ Serial.begin(9600); pinMode(groundpin, OUTPUT); pinMode(powerpin, OUTPUT); digitalWrite(groundpin, LOW); digitalWrite(powerpin, HIGH);}

void loop(){ Serial.print(analogRead(xpin)); Serial.print("\t"); Serial.print(analogRead(ypin)); Serial.print("\t"); Serial.print(analogRead(zpin)); Serial.println();

delay(500);}

Page 137: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Módulo de Reconhecimento de Voz

Page 138: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Módulo de Reconhecimento de Voz

Características:– Se comunica através da porta serial (configurações e

reconhecimento)– Pode ser utilizado para controlar Leds, Lâmpadas, Robos, etc– Armazena até 15 instruções de voz – divididas em 3 grupos de 5

instruções– Independente do locutor, mas precisa de um bom microfone– Voltagem: de 4.5 à 5.5 volts– Corrente: menos que 40 mA– Interface: Serial 5v TTL lever UART interface– Entrada para microfone de 3,5mm + pino

Page 139: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Módulo de Reconhecimento de Voz

• Adaptador USB / TTL• Deve ser utilizado para acoplar o Módulo de Rec. De

Voz ao computador

Page 140: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Módulo de Reconhecimento de Voz

Page 141: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Configurações e Gravação das Instruções de Voz

• Efetuar o download do driver do Adaptador USB/TTL

• Descompactar e Instalar – sem conectar o• Adaptador ao computador• Após a instalação, conectar a placa ao

computador• Verificar se a placa foi detectada

Page 142: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Configurações e Gravação das Instruções de Voz

Page 143: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Configurações e Gravação das Instruções de Voz

• O AccessPort é um software de comunicação com a porta serial

• Poderia ser utilizado outro software• Não é necessário a instalação• Para executar, execute o arquivo:

AccessPort.exe

Page 144: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Configurações e Gravação das Instruções de Voz

Page 145: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Configurações e Gravação das Instruções de Voz

Configurações:– Clique no botão Configuration– Configurações:• Port: COM3 (verificar sua porta)• Baud rate: 9600• Parity bit:None• Data bit: 8• Stop bit: 1• Buffer size: 8192• Send display: Hex Format• Receive display: Char Format

Page 146: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

Page 147: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

Page 148: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

• Para iniciar a gravação das instruções do• grupo 1:– AA 11• Para iniciar a gravação das instruções do • grupo 2:– AA 12• E assim por diante

Page 149: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

• Conecte o Adaptador USB/TTL com o Módulo de Reconhecimento de Voz

• Conecte o Adaptador ao computador

Page 150: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

• É obrigatório a gravação de 5 instruções dentro de um grupo

• Não é necessário gravar instruções em todos os gruposVamos gravar:• Instrução 1: LIGA• Instrução 2: DESLIGA• Instrução 3: MAIS• Instrução 4: MENOS• Instrução 5: FIM

Page 151: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Comandos do módulo de rec. De voz:

• Para testar o reconhecimento das instruções do• Grupo 1:– AA 21• Do grupo 2, 3, 4:– AA 22, AA 23, AA 24Ao reconhecer as instruções do Grupo 1 retorna:• Result: 11• Result: 12• Result: 13• Result: 14• Result: 15Do Grupo 2: 21, 22, 23, 24, 25

Page 152: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

Page 153: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

Programação– Comunicação pela porta Serial– É sugerido que as mensagens fiquem no modo reduzido (AA 37)– Para retornar ao modo normal (mensagens de texto), utilizar a instrução AA

36– Quando a Instrução 1 do Grupo 1 é reconhecida – o valor 11 é recebido pela porta Serial– Instrução 2 do Grupo 1 – é recebido 12– Instrução 3 do Grupo 1 – é recebido 13– Instrução 4 do Grupo 1 – é recebido 14– Instrução 5 do Grupo 1 – é recebido 15– Do Grupo 2 – 21, 22, 23, 24, 25– Do Grupo 3 – 31, 32, 33, 34, 35

Page 154: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

Programação– Para carregar instruções do Grupo 1: AA 21– Para carregar instruções do Grupo 2: AA 22– Para carregar instruções do Grupo 3: AA 23– Para enviar instruções para o módulo usar:• Serial.write – envia dados no formato binário/hexa– Exemplo – carregando instruções do Grupo 1• Serial.write(0xAA);• Serial.write(0x21);

Page 155: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

int funcao = 0;int tempo = 1000;void setup(){

pinMode(13,OUTPUT);Serial.begin(9600);delay(2000);Serial.write(0xAA);Serial.write(0x37);delay(2000);Serial.write(0xAA);Serial.write(0x21);delay(2000);

}

Page 156: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

void loop(){ if(Serial.available()){ char c = Serial.read(); if(c == 0x11){ funcao = 1; } if(c == 0x12){ funcao = 0; } if(c == 0x13){ funcao = 2; tempo = tempo - 100; if(tempo <= 0){ tempo = 10; } }

Page 157: CURSO DE ARDUINO AUTOMAÇÃO & ROBÓTICA. CARACTERÍSTICAS E SIMPLICIDADE Utiliza microcontrolador AtMEGA 8,168, 328,1280, 2560. RISC - Reduced Instruction

Controlando o Arduino porcomandos de voz

if(c == 0x14){ funcao = 2; tempo = tempo + 100; } } if(funcao == 1){ digitalWrite(13,HIGH); } if(funcao == 0){ digitalWrite(13,LOW); } if(funcao == 2){ digitalWrite(13,HIGH); delay(tempo); digitalWrite(13,LOW); delay(tempo); }}