Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar...

37
0 Conheça o Passo a Passo para dominar o Arduino xx

Transcript of Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar...

Page 3: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

2

Conheça o Passo a Passo para dominar o Arduino

xx

Sumário

Sobre ...................................................................................................... 3

Alguns dos maiores erros dos iniciantes .................................................. 4

A história por trás do que vou te ensinar ................................................. 5

Hello World - Blink.................................................................................. 8

Botão Acionando LED ............................................................................. 13

Leitura de uma portal serial .................................................................... 15

Leitura serial de uma Entrada Analógica ................................................. 17

Fade .......................................................................................................20

LEDs sequencial ......................................................................................22

Acendendo LED com LDR ....................................................................... 24

Acendendo LED com sensor de Obstáculo ...............................................26

Acendendo LED com sensor Ultrassônico ................................................28

Acendendo LED com palmas ................................................................... 31

Page 4: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

3

Conheça o Passo a Passo para dominar o Arduino

xx

Neste Ebook vou te mostrar 10 projetos feitos com LEDs que iram

abrir sua mente em relação a programação e ideias para projetos

futuros.

Se você ainda tem dúvidas sobre programação eu tenho um eBook

Gratuito, chamado O Guia Rápido Para Aprender a Programar

Arduino, que vai ti dar muitas dicas e exemplos legais sobre

programação.

Sobre

Se você ainda não me conhece, eu sou Luan Silver fundador do Guia

Robótica e já ajudamos centenas de pessoas ao redor do mundo a

dominar o Arduino e entrar de cabeça no mundo da Robótica e

Automação. E agora vamos ajudar você!

É como no caso do meu aluno Rafael, eu ensinei a ele conceitos de

programação e em poucos dias ele estava fazendo seus próprios

projetos

Um dos seus primeiros projetos foi uma lixeira automática que além

de abrir e fechar quando alguém se aproxima, ela também aciona um

LED vermelho indicando que a lixeira está cheia.

Outro caso é o do Lucas, dei mentoria para ele e a pouco tempo ele

terminou a construção de uma impressora 3D caseira, e agora está

focando em modelagem 3D.

Page 5: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

4

Conheça o Passo a Passo para dominar o Arduino

xx

Alguns dos maiores erros dos iniciantes

Alguns dos problemas que a maioria dos iniciantes passa, é o fato de

não seguirem uma linha lógica de aprendizagem, e SIM, eu também já

passei por isso.

Uma boa lógica de aprendizagem, seria começar com conceitos

teóricos e projetos práticos básicos, para além de aprender a teoria,

ver funcionando ao mesmo tempo e aos poucos ir conhecendo os

sensores, Shields e componentes eletrônicos separadamente, para

somente depois utilizar em conjunto em seus projetos.

Mas o que acontece é que a maioria simplesmente procura projetos

prontos na internet e apenas replicam sem aprender quase nada, isso

quando funciona.

Em muitos casos quando não funcionam não sabem nem resolver,

pois não aprendeu, apenas replicou.

O que estou falando aqui é sobre te mostrar um caminho rápido para

já iniciar na programação de Arduino e alcançar seus objetivos.

Sabe, quando comecei eu pensava que teria que ser um verdadeiro

expert em tecnologia, mas errei feio. Para aprender sobre Arduino,

robótica e automação é muito mais fácil, basta seguir uma lógica de

aprendizagem.

Page 6: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

5

Conheça o Passo a Passo para dominar o Arduino

xx

Inclusive, é até engraçada a historia de como eu comecei a

desenvolver essa linha de aprendizagem para alunos. Deixa eu te

contar para você entender...

A história por trás do que vou te ensinar

Eu sempre fui apaixonado por tecnologia desde criança, desmontava

eletrônicos e computadores. O primeiro computador que eu desmontei

tinha 256MB de memoria RAM e o famoso Windows XP. Eu tinha 14

anos e já tinha uma fama na família de querer desmontar as coisas

mesmo sendo novas, e vou confessar para você, as vezes eu

desmontava mesmo.

Tudo que eu achava legal eu queria ver por dentro, entender o

funcionamento, mas teve um acontecimento decisivo na minha

infância que me inspirou de um jeito que mudaria minha vida inteira,

consegue imaginar o que foi?

O filme do homem de ferro em 2008, depois que eu vi aquele filme

com Robert Downey jr. aquela armadura vermelha e amarela... E ele

interagindo e construindo Robôs, eu sabia que queria algo semelhante

àquilo na minha vida e pesquisando muito descobri que o nome

daquilo tudo era robótica, fiquei fascinado.

Tão fascinado que alguns anos depois comecei a cursar engenharia

de controle e automação, e nas minhas pesquisas me deparei com

Page 7: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

6

Conheça o Passo a Passo para dominar o Arduino

xx

uma plaquinha chamada Arduino que prometia facilitar minha

aprendizagem de robótica e me ajudar a fazer meus próprios projetos.

Então comecei a estudar sua programação, componentes, sensores,

eletrônica, tudo que eu encontrava.

Eu encontrava projetos aleatórios na internet, explicações soltas, e

estava muito difícil seguir em frente, então desisti naquele momento.

Mas uma semanada depois o professor montou com a turma um

projetinho com um sensor LDR e achei incrível, quando ele apagava

as luzes e ficava completamente escuro automaticamente o sensor

detectava essa variação de luminosidade e acendia uma lâmpada.

Então chegando em casa naquela noite volto para minha pesquisa e

não parei mais, até consegui fazer alguns projetinhos baseado nos

que eu achava.

E cheguei em um momento que eu tive que criar algo do absoluto

zero, eu pensei “eu sou capaz né... Já fiz alguns, não deve ser tão

difícil assim”.

Então comecei a programar, eu tentava e tentava e não conseguia,

aparecia sempre algum erro, quando eu ia ver era apenas um “;” que

estava faltando, ou uma letra maiúscula, um jumper que não

funcionava, inúmeros erros que nem sempre eu descobria o que era.

Eu via as pessoas montando drones, plantas de fabricas, robôs, casas

Page 8: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

7

Conheça o Passo a Passo para dominar o Arduino

xx

automatizadas, já eu nem conseguia tirar meus projetos do papel.

Mas depois me dei conta que até aquele momentos todos meus

projetos tinham dado certo, porque eu não estava criando apenas

estava replicando o que eu tinha visto, o famoso “CTRL+ C” “CTRL +

v” tanto na programação como como na ligação dos componentes.

Então antes de montar meus projetos eu devia entender tudo que

estava fazendo, para que servia cada comando, linha de código,

elemento, shield, cada pequeno componente eletrônico.

Depois de entender todos esses conceitos, programar e montar

projetos ficaram bem mais fáceis.

Eu descobri que replicar não é aprender, que a linguagem de

programação é menos importante que lógica de programação, que

temos que acostumar a digitar os códigos e não apenas sair copiando

tudo sem entender nada.

Hoje ensino o máximo de pessoas que eu consigo com meu projeto,

Guia Robótica.

Então é isso vamos aos estudos!

Page 9: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

8

Conheça o Passo a Passo para dominar o Arduino

xx

Diagrama

Hello World - Blink

Conhecido como Hello World o exemplo blink é o primeiro que vamos aprender, já

que é um código bastante simples, ele basicamente faz um LED ficar piscando

em um intervalo de tempo que foi determinado na programação.

Materiais Necessários

1x Arduino com cabo USB

1x LED

Page 10: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

9

Conheça o Passo a Passo para dominar o Arduino

xx

O LED é um diodo emissor de luz, tendo assim sua polaridade correta para

permitir a passagem de corrente, a perna menor ou o lado que esta com o chanfro

é o lado negativo (cátodo) e a maior positiva (Ânodo) como mostra a Figura

abaixo.

O código Blink já vem na IDE do arduino como exemplo, mas sempre aconselho

digitar os códigos quando você está começando a programar, pois já vai se

acostumando com a digitação.

Page 11: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

10

Conheça o Passo a Passo para dominar o Arduino

xx

Veja que a alguns exemplos inclusos na IDE do Arduino.

A única diferença é que a programação que vou colocar aqui tem comentários em

português para facilitar o entendimento.

Page 12: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

11

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

// Hello World – blink www.guiarobotica.com

int led = 13; // Numero do pino do LED

// E executado cada vez que o Arduino inicia

void setup()

// Configura a variável como uma saída

pinMode(led, OUTPUT);

// A função loop() continua executando enquanto o Arduino estiver alimentado,

void loop()

digitalWrite(led, HIGH); // Acende o LED

delay(1000); // Aguarda um segundo (1s = 1000ms)

digitalWrite(led, LOW); // Apaga o LED

delay(1000); // Aguarda um segundo (1s = 1000ms)

Page 13: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

12

Conheça o Passo a Passo para dominar o Arduino

xx

Exercícios

1. Variar o delay em 4 segundos acesso e 2 segundos apagado.

2. Variar o delay em 500 milissegundos acesso e 500 milissegundos apagado.

3. Modificar a programação e o diagramada de modo que o LED fique no pino 6 do

arduino, e o tempo seja 3 segundos acesso e 2 apagado.

Quando o LED é conectado a outro pino do arduino deve ser usado um resistor

de 330Ω.

Page 15: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

14

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

//Botao acionando LED www.guiarobotica.com

const int buttonPin = 7; // Numero do pino do botão

const int ledPin = 13; // Numero do pino do LED

int buttonState = 0; // variavel para ler o estado do botao

void setup()

// inicializa o pino do LED como saida:

pinMode(ledPin, OUTPUT);

// inicializa o pino do botao como entrada:

pinMode(buttonPin, INPUT);

void loop()

buttonState = digitalRead(buttonPin); // faz a leitura do valor do botao:

// verifica se o botao esta pressionado.

// em caso positivo, buttonState e HIGH:

if (buttonState == HIGH)

// liga o LED:

digitalWrite(ledPin, HIGH);

else

// desliga o LED:

digitalWrite(ledPin, LOW);

Page 17: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

16

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

Para visualizar o monitor serial deve clicar no canto superior direito como mostra

a imagem abaixo.

//Leitura de uma porta serial www.guiarobotica.com

int pushButton = 7; // o pino 2 tem um botao ligado nele.

int ledPin = 13; // entrada do LED no pino 13.

void setup()

Serial.begin(9600); // Inicializa a comunicacao serial a 9600 bits por segundo

pinMode(pushButton, INPUT); // define o botao como uma entrada.

pinMode(ledPin, OUTPUT); //define o LED como uma saída.

void loop()

// faz a leitura do pino de entrada:

int buttonState = digitalRead(pushButton);

if (buttonState == 1)

digitalWrite(ledPin, HIGH);

else

digitalWrite(ledPin, LOW);

// imprime o estado do botao:

Serial.println(buttonState);

delay(1); // delay entre leituras (em milissegundos)

Page 18: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

17

Conheça o Passo a Passo para dominar o Arduino

xx

Exercícios

Leitura serial de uma Entrada Analógica

Alterar a programação para quando pressionar o botão, mostrar na saída serial

“Botão Pressionado” e quando não pressionar mostrar “Botão Não Pressionado”.

Este exemplo mostra como ler um pino de uma entrada analógica, mapear o

resultado para um intervalo de 0 a 255, e usar esse resultado para definir a

modulação PWM de um pino de saída para acender e apagar um LED como um

dímer.

Materiais Necessários

1x Arduino com cabo

1x LED

1x Resistor 330Ω

1x Potenciômetro

1x Protoboard

Jumpers

Page 20: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

19

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

As entradas analógicas do Arduino têm uma resolução de 10 bits valores de

0 a 1023, ja as saídas analógicas por PWM têm uma resolução de 8 bits valores

de 0 a 255. É por isso que é necessária a função 'map', para mapear os valores

de modo que mantenham proporcionais.

//Leitura serial de uma Entrada Analógica www.guiarobotica.com

const int analogInPin = A0; // Entrada analogica do potenciometro

const int analogOutPin = 6; // Saida PWMonde o LED esta conectado

int sensorValue = 0; // leitura do potenciometro

int outputValue = 0; // leitura da saida PWM

void setup()

// inicializa a comunicacao serial:

Serial.begin(9600);

void loop()

sensorValue = analogRead(analogInPin); // faz a leitura da entrada analogica

// mapeia o resultado da entrada analogica dentro do intervalo de 0 a 255:

outputValue = map(sensorValue, 0, 1023, 0, 255);

analogWrite(analogOutPin, outputValue);

// imprime o resultado no monitor serial:

Serial.print("sensor = " );

Serial.print(sensorValue);

Serial.print("\t output = ");

Serial.println(outputValue);

delay(2); // Aguarda 2 milissegundos

Page 22: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

21

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

//Fade www.guiarobotica.com

int led = 9; // Pino do LED

int brightness = 0; // Intensidade do brilho do LED

int fadeAmount = 5; // Em quantos pontos aplicar o fade no LED

void setup()

// define o pino 9 como saida:

pinMode(led, OUTPUT);

// o loop roda em sequencia continuamente:

void loop()

// define o brilho do pino 9:

analogWrite(led, brightness);

// muda o brilho para o proximo loop:

brightness = brightness + fadeAmount;

// inverte a direcao do fade

if (brightness == 0 || brightness == 255)

fadeAmount = -fadeAmount ;

// aguarda 25 milissegundos para ver o efeito dimer:

delay(25);

Page 24: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

23

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

// LEDs sequencial www.guiarobotica.com

int timer = 100; //tempo para controle

void setup()

// For para configurar cada pino como saida

for (int thisPin = 3; thisPin < 8; thisPin++)

pinMode(thisPin, OUTPUT);

void loop()

// loop do pino 3 ao 7

for (int thisPin = 3; thisPin < 8; thisPin++)

// liga este pino:

digitalWrite(thisPin, HIGH);

delay(timer);

// desliga este pino:

digitalWrite(thisPin, LOW);

// loop do pino 7 ao 3

for (int thisPin = 7; thisPin >= 3; thisPin--)

// liga este pino:

digitalWrite(thisPin, HIGH);

delay(timer);

// desliga este pino:

digitalWrite(thisPin, LOW);

Page 25: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

24

Conheça o Passo a Passo para dominar o Arduino

xx

Acendendo LED com LDR

Um sensor de luminosidade é um componente eletrônica capaz de detectar a

quantidade de luz no ambiente, seu principal componente é o LDR (Light

Dependent Resistor ou Resistor Dependente de Luz) .

Utilizaremos o LDR para acender o LED já que ele varia sua resistência de acordo

a luz que incide nele, podemos então capturar este valor e criar uma condição.

Materiais Necessários

1x Arduino com cabo

1x LED

1x Resistor 330

1x Resistor 10k

1x LDR

1x Protoboard

Jumpers

Diagrama

Page 26: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

25

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

// Sensor de Luminosidade www.guiarobotica.com

const int LDR = A0; // Pino analógico que o sensor está conectado

const int led = 13; // Pino Referente ao led

int valorsensor ; // valor que sera armazenado o valor do LDR

void setup()

pinMode(led, OUTPUT); // Coloca variavel led como sinal de saida

pinMode(LDR, INPUT); // Coloca a variavel LDR como entrada

Serial.begin(9600); // inicializa a comunicação serial com a taxa de 9600

bps

void loop()

valorsensor = analogRead(LDR); // armazena o valor na variavel valorsensor

Serial.print("LDR : " ); // Mostra o valor no monitor serial

Serial.println(valorsensor);

if (valorsensor < 500) // Se o valor de VALORSENSOR for menos que 500

digitalWrite(led, HIGH); // Ligar led

else // Se não

digitalWrite(led, LOW); // Desligar led

delay(100); // Aguarda 100 milisegundos

Page 27: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

26

Conheça o Passo a Passo para dominar o Arduino

xx

Diagrama

Acendendo LED com sensor de Obstáculo

A programação para este projeto é praticamente a mesma usada para acender

um LED com um botão, necessário apenas trocar o botão pelo sensor de

obstáculo, ele detecta objetos a uma distancia que pode varias de 2 a 30 cm,

mandando um sinal digital para o arduino.

Materiais Necessários

1x Arduino com cabo

1x LED

1x Sensor de obstáculo

Page 28: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

27

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

//Acendendo LED com sensor de obstáculo www.guiarobotica.com

const int SensorOb = 2; // o numero do pino do sensor

const int ledPin = 13; // o numero do pino do LED

int SensorState = 0; // variavel para ler o estado do botao

void setup()

// inicializa o pino do LED como saida:

pinMode(ledPin, OUTPUT);

// inicializa o pino do botao como entrada:

pinMode(SensorOb, INPUT);

void loop()

// faz a leitura do valor do botao:

SensorState = digitalRead(SensorOb);

// verifica se o sensor detectou algum objeto.

// em caso positivo, SensorState e HIGH:

if (SensorState == HIGH)

// liga o LED:

digitalWrite(ledPin, HIGH);

else

// desliga o LED:

digitalWrite(ledPin, LOW);

Page 29: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

28

Conheça o Passo a Passo para dominar o Arduino

xx

Acendendo LED com sensor Ultrassônico

O sensor Ultrassônico é capaz de medir distancias entre 2 cm a 4 metros,

podendo ser utilizado em vários tipos de projeto, neste mostraremos como ligar

uma sequencia de LEDs de acordo a distancia.

Materiais Necessários

1x Arduino com cabo

3x LED

3x Resistores 330Ω

1x Sensor ultrassónico

1x Protoboard

Jumpers

Page 30: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

29

Conheça o Passo a Passo para dominar o Arduino

xx

Diagrama

Código Fonte

//Acendendo LEDs com sensor Ultrassónico www.guiarobotica.com

#include <Ultrasonic.h> //inclusao da biblioteca do sensor

#define TRIGGER_PIN 3 // trigger conectado ao pino 3

#define ECHO_PIN 2 // echo conectado ao pino 2

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

const int led1 = 5; // o numero do pino do LED1

const int led2 = 6; // o numero do pino do LED2

const int led3 = 7; // o numero do pino do LED3

void setup()

Page 31: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

30

Conheça o Passo a Passo para dominar o Arduino

xx

Serial.begin(9600); //Habilita Comunicação Serial a uma taxa de 9600 bauds.

pinMode(led1, OUTPUT);

pinMode(led2, OUTPUT);

pinMode(led3, OUTPUT);

void loop()

float distancia;

long microsec = ultrasonic.timing();

distancia = ultrasonic.convert(microsec, Ultrasonic::CM); //retorna a distancia em

CM

Serial.print(distancia);

Serial.println("cm"); //imprime o valor da variável distancia

delay(100);

if (distancia<60) // se a distancia menor que 60 liga led1

digitalWrite(led1, HIGH); // liga led1

if (distancia<30) // se a distancia menor que 30 liga led2

digitalWrite(led2, HIGH); //liga led2

if (distancia<15) // se a distancia menor que 15 liga led3

digitalWrite(led3, HIGH); //liga led3

if (distancia<5 ) // se a distancia menor que 5

digitalWrite(led1, HIGH);

digitalWrite(led2, HIGH);

digitalWrite(led3, HIGH);

delay(500);

digitalWrite(led1, LOW);

digitalWrite(led2, LOW);

digitalWrite(led3, LOW);

delay(500);

Page 32: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

31

Conheça o Passo a Passo para dominar o Arduino

xx

Diagrama

Acendendo LED com palmas

O sensor de ruído é um componente que capta o ruído ambiente podendo regular

nele a sensibilidade para não captar qualquer tipo de ruído, vamos utilizar essa

característica para acionar um LED com 2 palmas, este projeto pode ser chamado

de sensor claps (palmas).

Materiais Necessários

1x Arduino com cabo

1x LED

1x Sensor de ruído

1x Protoboard

Jumpers

Page 33: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

32

Conheça o Passo a Passo para dominar o Arduino

xx

Código Fonte

// Acendendo LED com palmas

int microfone = 7; // Pino digital ligado ao sensor de som (DO)

int led = 8; // Pino ligado ao LED

int contPalmas = 0; // Contador de Palmas

unsigned long tempMaxSom = 1000; // Tempo máximo entre o pulso seguinte

unsigned long tempMinSom = 300; // Tempo minimo entre o pulso seguinte

unsigned long compriSonoro = 100; // Comprimento do som esperado

unsigned long time;

unsigned long startTime = 0;

void setup()

pinMode(microfone, INPUT); // Inicia o pino do microfone como entrada

pinMode(led, OUTPUT); // Inicia os pino do LED como saída

// Desliga LED (o LED é invertido HIGH = desliga / LOW = liga)

digitalWrite(led, HIGH);

void loop()

// Inicia a contagem de tempo

time = millis();

// Verifica o tempo entre o pulso inicial e o seguinte

unsigned long tempoAposPalma = time - startTime;

if (tempoAposPalma >= compriSonoro && digitalRead(microfone) == LOW)

// Verifica se o pulso recebido respeita o intervalo entre 1 pulso e outro

if (tempoAposPalma < tempMinSom || tempoAposPalma > tempMaxSom)

// Caso contrario o intervalo resetara a contagem e o tempo

contPalmas = 0;

startTime = millis();

Page 34: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

33

Conheça o Passo a Passo para dominar o Arduino

xx

else

// Iniciada a contagem de pulso e o tempo

contPalmas ++;

startTime = millis();

// Verifica se a contagem de palma é igual ou superior ao número...

//esperado e se o LED esta desligado

if((contPalmas=1)&&(digitalRead(led)==HIGH))

// Acende o LED e zera a contagem

digitalWrite(led, LOW);

contPalmas = 0;

// Verifica se a contagem de palma é igual ou superior ao número...

//esperado e se o LED esta aceso

if((contPalmas=1)&&(digitalRead(led)==LOW))

// Desliga LED e zera contagem

digitalWrite(led, HIGH);

contPalmas = 0;

Mais uma coisa...

Entretanto, Por mais que você aplique tudo isso que aprendeu, você

não terá tanto resultado como se tivesse adquirido um eBook mais

completo sobre programação para se aprofundar em seus

Page 35: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

34

Conheça o Passo a Passo para dominar o Arduino

xx

estudos, de modo rápido e efetivo, pois seguir uma linha de

aprendizagem muda tudo na hora de estudar.

E com isso, também posso te ajudar...

Sempre indico um eBook incrível de Arduino de um amigo meu para

quem tem problemas assim como os seus...

Este amigo é o Mateus Dias, que já ajudou centenas de pessoas ao

redor do mundo a dominar o Arduino. E você será a próxima!

Depois de anos de estudo e mais de 140 mil reais investido em

conhecimento, ele compactou tudo que sabe sobre Arduino e colocou

em um eBook que você está tendo a chance de adquirir.

Dentro dele você vai aprender:

Como funcionam os ciclos básicos do Arduíno.

Criar comunicações e armazenar dados.

Primeiros projetos, seguindo linha de aprendizagem

Aprender a trabalhar com bibliotecas e muito mais...

O melhor de tudo é que você não precisa se preocupar com a

implementação, o Mateus explica tudo em um passo a passo, então

mesmo que você seja completamente iniciante, vai conseguir aplicar o

que ele ensina lá dentro sem nenhuma dificuldade.

Page 36: Conheça o Passo a Passo para dominar o Arduino€¦ · A história por trás do que vou te ensinar Eu sempre fui apaixonado por tecnologia desde criança, desmontava eletrônicos

35

Conheça o Passo a Passo para dominar o Arduino

xx

Lembrando que nós preocupamos completamente com a sua

satisfação e caso você se arrependa de ter adquirido o eBook, tem 7

dias de garantia absoluta de satisfação.

Ou seja, basta enviar um e-mail que recebe 100% do seu dinheiro de

volta!

Esses eBooks são sensacionais porque vão te poupar milhares de

horas de suor desnecessário e milhares de reais que não irá precisar

investir igual o Mateus investiu.

Já pensou se você fosse precisar investir tão alto como ele precisou?

Não precisa!

Basta pagar 5 x de R$ 9,98 e acessar imediatamente todos os

segredos e técnicas mais avançadas que ele já aprendeu até hoje

sobre o Arduino.

Se você parar para pensar, esse é o valor que você gasta comendo

um hambúrguer...