eBook 40 Projetos Com Arduino
Short Description
Descripción: Aprenda a mexer no arduino com 40 projetos....
Description
Projetos com Arduino 40 projetos
Willian Scollonoff
Projetos com Arduino 40 projetos
[2]
[3]
[4]
SUMÁRIO Projeto 01 – Pisca LED ........................................................................................................................................ 7 Projeto 02 – Semáforo ........................................................................................................................................ 9 Projeto 03 – Alarme com sonorizador Piezo ..........................................................................................12 Projeto 04 – Tocador de Melodia com sonorizador Piezo ................................................................15 Projeto 05 – Sensor de luminosidade com LDR....................................................................................19 Projeto 06 – Barra de LED’s e LDR ..............................................................................................................25 Projeto 07 – Sensor de temperatura com LM35 ..................................................................................28 Projeto 08 – Controle básico com LCD......................................................................................................32 Projeto 09 – Sensor de temperatura com LCD ......................................................................................36 Projeto 10 – Controle de temperatura com LCD e cooler ................................................................40 Projeto 11 – Controle de velocidade de um motor cc........................................................................45 Projeto 12 – Motor de passo controlado por Arduino........................................................................49 Projeto 13 – Servo motor controlado por Arduino ..............................................................................53 Projeto 14 – Controlando um servo motor com joystick .................................................................56 Projeto 15 – Sensor Ultrassônico Básico .................................................................................................59 Projeto 16 – Sensor de ré para automóvel .............................................................................................62 Projeto 17 – Gravando um arquivo .DOC no SD CARD ......................................................................66 Projeto 18 – Sensor de umidade e temperatura DHT11 ..................................................................71 Projeto 19 – Arduino como osciloscópio ..................................................................................................74 Projeto 20 – Arduino como um gerador de frequência (onda quadrada)................................77 Projeto 21 – Configurando o shield ethernet com o arduino .........................................................81 Projeto 22 – Ascendendo LED com shield ethernet............................................................................86 Projeto 23 – Ascendendo lâmpada com shield ethernet e relê ....................................................92 Projeto 24 – Escrevendo em um LCD Nokia 5110 ...............................................................................97 Projeto 25 – Gráfico de leitura de temperatura com um LCD Nokia 5110 ........................... 100 Projeto 26 – Teclado matricial 4x4 básico ........................................................................................... 104 Projeto 27 – Acionando relê via teclado matricial 4x4 .................................................................. 108 Projeto 28 – Utilizando um cartão RFID ............................................................................................... 112 Projeto 29 – Configurando o módulo bluetooth (JY-MCU) .......................................................... 118 Projeto 30 – Acionando LED e relê com via bluetooth com arduinocomander .................. 122 Projeto 31 – Utilizando o PWM via bluetooth com arduinocomander.................................... 131 Projeto 32 – Utilizando o osciloscópio via bluetooth com arduinocomander ..................... 139 Projeto 33 – Utilizando sensores do Smartphone via bluetooth com arduinocomander ................................................................................................................................................................................... 150
[5]
Projeto 34 – Verificando código de comando de um controle remoto ................................... 158 Projeto 35 – Clonando controle remoto de TV ................................................................................... 162 Projeto 36 – Acionando LED’s e relê com infravermelho .............................................................. 166 Projeto 37 – Jogo ping pong com LCD Nokia 5110.......................................................................... 170 Projeto 38 – Jogo dos caminhões com LCD 16x2 ............................................................................. 177 Projeto 39 – Interface WEB com Arduino ............................................................................................ 184 Projeto 40 – Monitor de temperatura com Arduino ........................................................................ 190
Projeto 01 – Pisca LED
COMPONENTES NECESSÁRIOS 1 Arduino Uno R3 1 Protoboard 1 LED (qualquer cor e tamanho) 1 Resistor de 100 ohms * Fios jumpers * Esse valor pode ser diferente, dependendo do LED que você utilizar. CONECTANDO OS COMPONENTES Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue sua protoboard, o LED, o resistor e os fios, e conecte tudo como mostra a figura:
Projetos com Arduino por Willian Scollonoff
Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que seu LED esteja conectado corretamente, com o terminal (ou perna) mais longo conectado ao pino digital 10. O terminal longo e o anodo do LED, e deve sempre ir para a alimentação de +5 V (nesse caso, saindo do pino digital 10); o terminal curto e o cátodo e deve ir para o terra (GND). Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB. AGORA VAMOS AO CÓDIGO // Projeto 1 - LED piscante int ledPin = 10; // Declaramos uma variável inteira com valor igual a... //10 (conectada no pino 10 do Arduino) void setup() { // Esta função é executada somente uma vez no início... //do programa pinMode(ledPin, OUTPUT); // Define ledPin como pino de saída } void loop() { // Esta é a função principal do programa, será executada... //continuamente enquanto o Arduino estiver ligado digitalWrite(ledPin, HIGH); // Esta enviado 5 volts para o pino 10 do Arduino delay(1000); // Diz ao Arduino espera 1000 milisegundo antes de executar... //a próxima instrução digitalWrite(ledPin, LOW); // Diz para o Arduino desligar o pino 10... //deixando-o em 0 volts delay(1000); // Espera mais 1000 segundos }
Para verificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, no seu primeiro projeto você estará vendo o LED piscando em um intervalo de um segundo.
[8]
Projetos com Arduino por Willian Scollonoff
Projeto 02 – Semáforo
Olá pessoal, agora vamos fazer um pequeno projeto, um semáforo que irá do verde ao vermelho, passando pelo amarelo e, que retornará ao vermelho depois de um intervalo de tempo. Este projeto poderá ser utilizado em uma maquete com carinhos simulando uma pequena cidade ou mesmo uma estrada de ferro. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!! COMPONENTES NECESSÁRIOS 1 Arduino Uno R3 1 Protobord 1 LED Amarelo 1 LED Verde 1 LED Vermelho 3 Resistores de 100 ohms * Fios jumpers * Esse valor pode ser diferente, dependendo do LED que você utilizar. CONECTANDO OS COMPONENTES Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue sua protoboard, os LED, os resistores e os fios, e conecte tudo como mostra a figura.
[9]
Projetos com Arduino por Willian Scollonoff
Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inversão cuidadosa dos componentes pode resultar em danos. Certifique-se de que seus LED’s estejam conectados corretamente, com o terminal (ou perna) mais longo conectado aos pinos digital 8, 9 e 10 do arduino. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB. AGORA VAMOS AO CÓDIGO // Projeto 2 – Semáforo int ledDelay = 10000; // Espera entre as alterações int vermelhoPin = 10; // Declaramos uma variável inteira com valor igual... //a 10 (conectada no pino 10 do Arduino) int amareloPin = 9; // Declaramos uma variável inteira com valor igual... //a 9 (conectada no pino 9 do Arduino) int verdePin = 8; // Declaramos uma variável inteira com valor igual... //a 8(conectada no pino 8 do Arduino) void setup() { pinMode(vermelhoPin, OUTPUT); // Define vermelhoPin como pino de saída pinMode(amareloPin, OUTPUT); // Define amareloPin como pino de saída pinMode(verdePin, OUTPUT); // Define verdePin como pino de saída } void loop() { digitalWrite(vermelhoPin, HIGH); // Acende a luz vermelha delay(ledDelay); // Espera 5 segundos
[ 10 ]
Projetos com Arduino por Willian Scollonoff
digitalWrite(amareloPin, HIGH); // Acende a luz amarela delay(2000); // Espera 2 segundos digitalWrite(verdePin, HIGH); // Acende a luz verde digitalWrite(vermelhoPin, LOW); // Apaga a luz vermelha digitalWrite(amareloPin, LOW); // Apaga a luz amarela delay(ledDelay); // Espera ledDelay milissegundos digitalWrite(vermelhoPin, HIGH); // Acende a luz vermelha digitalWrite(verdePin, LOW); // Apaga a luz verde delay(2000); // Espera 2 segundos digitalWrite(amareloPin, LOW); // Apaga a luz amarela // Agora nosso loop se repete } Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, no seu segundo projeto você verá um semáforo que irá do verde ao vermelho, passando pelo amarelo e, que retornará depois de um intervalo de tempo.
[ 11 ]
Projetos com Arduino por Willian Scollonoff
Projeto 03 – Alarme com sonorizador Piezo
Olá pessoal, neste projeto será um pouco barulhento pois, vamos fazer um alarme com sonorizador piezo conectado a um pino de saída digital, podendo ser criado um som de sirene. Iremos gerar uma onda senoidal para gerar os pulsos e criando o som. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!! COMPONENTES NECESSÁRIOS 1 Arduino Uno R3 1 Protobord 1 Sonorizador piezo (ou disco piezo) Fios jumpers CONECTANDO OS COMPONENTES Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue sua protoboard, o sonorizador piezo e os fios, e conecte tudo como mostra a figura. Observação importante: Verifique a polaridade do sonorizador piezo.
[ 12 ]
Projetos com Arduino por Willian Scollonoff
Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB. AGORA VAMOS AO CÓDIGO // Projeto 3 – Alarme com sonorizador piezo // Armazena o valor de seno que fazer o valor se elevar e diminuir float sinVal; // Pega o valor armazenado em sinVal e converte-o para frequência... //solicitada int toneVal; void setup() { pinMode(8, OUTPUT); // Declara o pino 8 como saída } void loop() { // Converte graus para radianos, e depois obtém o valor do seno for (int x=0; x= 600 && valorSensor 850) { apagaLeds(); digitalWrite(ledVerde,HIGH); } // Exibindo o valor do sensor no serial monitor. Serial.print("Lendo valor... "); // Imprime no monitor serial Serial.println(valorSensor); // Mostra o valor lido pela porta serial delay(1000); } // Está função criada para apagar todos os leds de uma vez void apagaLeds() { digitalWrite(ledVerde,LOW); [ 23 ]
Projetos com Arduino por Willian Scollonoff
digitalWrite(ledAmarelo,LOW); digitalWrite(ledVermelho,LOW); } Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora você verá os LED’s trocando de cor conforme variação de luminosidade.
[ 24 ]
Projetos com Arduino por Willian Scollonoff
Projeto 06 – Barra de LED’s e LDR
Olá pessoal, neste projeto você aprenderá como fazer uma barra de LED’s e LDR como sensor de luminosidade. Você perceberá que conforme a variação da luminosidade e consequentemente variação de resistência, a sequência de LED’s irão acender ou apagar. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!! COMPONENTES NECESSÁRIOS 1 Arduino Uno R3 1 Protobord 1 LDR (Light Dependent Resistor (Resistor dependente de luz)) 8 LED’s de qualquer cor 8 Resistores de 330 ohms * 1 Resistor de 10K ohms Fios jumpers
[ 25 ]
Projetos com Arduino por Willian Scollonoff
* Esse valor pode ser diferente, dependendo do LED que você utilizar. CONECTANDO OS COMPONENTES Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue todos os componentes acima e conecte-os como mostra a figura. Observação importante: Verifique a polaridade dos LED’s.
Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB. AGORA VAMOS AO CÓDIGO // Projeto 6 – Barra de LED’s e LDR /* A função Map do Arduino, mapeia uma faixa de valores em outra.
[ 26 ]
Projetos com Arduino por Willian Scollonoff
Segundo o site do Arduino temos o seguinte prototipo: map(value, fromLow, fromHigh, toLow, toHigh) onde, value: Informa o valor lido da porta analógica. fromLow: Início da escala de origem. fromHigh: Fim da escala de origem. toLow: Início da escala de destino. toHigh: Fim da escala de destino. Esta função converte os parâmetros PWM de 0, 1023 para a escala de 0, 255 */ int ldrMap = 0; // Variável iniciando com valor igual a 0. int analogPin = 1; // Variável utilizando o pino analógico A1. void setup() { for(int a = 0; a=0; a--) // Quando a resistência do LDR diminui... digitalWrite(a, HIGH); // acende todos os LED's
}
for(int a = ldrMap; a refreshInterval){ update(); refreshScreen(); lastRefreshTime = now; }
[ 172 ]
Projetos com Arduino por Willian Scollonoff
// Função reinciar jogo. void restartGame(){ ballSpeed = 1; gameState = 1; ballX = random(0, 60); ballY = 20; isBallUp = false; isBallRight = true; hitCount = 0; } // Função atualzar tela do LCD. void refreshScreen(){ if(gameState == 1){ for(int y = 0; y < LCD_Y; y++){ for(int x = 0; x < LCD_X; x++){ byte pixel = 0x00; int realY = y * 8; // Inicia a bola na tela. if(x >= ballX && x realY && ballY < realY + 8 ){ byte ballMask = 0x00; for(int i = 0; i < realY + 8 - ballY; i++){ ballMask = ballMask >> 1; if(i < ballPerimeter) ballMask = 0x80 | ballMask; } pixel = pixel | ballMask; } // Inicia a barra na tela. if(x >= bar1X && x realY && bar1Y < realY + 8 ){ byte barMask = 0x00; for(int i = 0; i < realY + 8 - bar1Y; i++){ barMask = barMask >> 1; if(i < barHeight) barMask = 0x80 | barMask; } pixel = pixel | barMask; }
[ 173 ]
Projetos com Arduino por Willian Scollonoff
if(x >= bar2X && x realY && bar2Y < realY + 8 ){ byte barMask = 0x00; for(int i = 0; i < realY + 8 - bar2Y; i++){ barMask = barMask >> 1; if(i < barHeight) barMask = 0x80 | barMask; } pixel = pixel | barMask; } LcdWrite(LCD_D, pixel); } } } else if(gameState == 2){ // Faz a tratativa dos estágios do jogo. int pinOut = 8; int freq = 150; int duration = 1000; tone(pinOut, freq, duration); } } void update(){ if(gameState == 1){ int barMargin = LCD_X - barWidth; // Lê os joysticks e posiciona as barras no LCD. int joystick1 = analogRead(A0); int joystick2 = analogRead(A1); bar1X = joystick1 / 2 * LCD_X / 512; bar2X = joystick2 / 2 * LCD_X / 512; if(bar1X > barMargin) bar1X = barMargin; if(bar2X > barMargin) bar2X = barMargin; // Movimento da bola. if(isBallUp) ballY -= ballSpeed; else ballY += ballSpeed; if(isBallRight) ballX += ballSpeed; else ballX -= ballSpeed; // Verifica se ouve colisões. [ 174 ]
Projetos com Arduino por Willian Scollonoff
if(ballX < 1){ isBallRight = true; ballX = 0; } else if(ballX > LCD_X - ballPerimeter - 1){ isBallRight = false; ballX = LCD_X - ballPerimeter; } if(ballY < barHeight){ // Faz com que a bola ping para a barra 1. if(ballX + ballPerimeter >= bar1X && ballX LCD_Y * 8 - barHeight){
// Faz com que a bola ping para a barra 2. if(ballX + ballPerimeter >= bar2X && ballX len) { return 0; } while (index < len) { if (str[index] == sfind[found]) { found++; if (strlen(sfind) == found) { return 1; } } else { found = 0; } index++; } }
return 0;
[ 195 ]
View more...
Comments