SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
Arduino – Parte 2
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Projeto 3 – Luz Pulsante
 Material:
 Arduino
 1 LED vermelho
 1 Resistor de 180 ohms
 Protoboard
 Jumpers
Projeto 3
MONTAGEM
Projeto 3
Código
int LED = 9;
float seno;
int intensidade;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
for (int i = 0; i < 180; i++){
seno = sin (i*(3.1416 / 180));
intensidade = int (seno * 255);
analogWrite (LED, intensidade);
delay (25);
}
}
Projeto 4 – Controle de LED
 Material
 Arduino
 1 LED vermelho
 1 resistor de 180 ohms
 1 potenciômetro de 10k ohms
 Protoboard
 Jumpers
Projeto 4
MONTAGEM
Projeto 4
Código
int POT = A1;
int LED = 13;
int valor = 0;
void setup()
{
pinMode(LED, OUTPUT);
pinMode(POT, INPUT);
}
void loop()
{
valor = analogRead(POT);
digitalWrite(LED,HIGH);
delay (valor);
digitalWrite(LED,LOW);
delay (valor);
}
Projeto 5 - PWM
 Material
 Arduino
 1 LED vermelho
 1 resistor de 220 ohms
 1 potenciômetro de 10k ohms
 Protoboard
 Jumpers
Projeto 5
MONTAGEM
Projeto 5
Código
int LED = 3;
int POTE = A0;
int valor = 0;
void setup()
{
pinMode (LED, OUTPUT);
pinMode (POTE, INPUT);
}
void loop()
{
valor = analogRead(POTE);
analogWrite (LED, valor/4);
delay(1000);
}
Console de
Comunicação
 Este experimento visa permitir que se verifique que a
instalação o ambiente de programação do Arduino
está funcionando corretamente no seu computador.
 Visa também fazer com que você aprenda como
usar as funções:
 Serial.read() : permite que você use o teclado do PC
para mandar entradas(inputs) para o Arduino
 Serial.write() : permite que o Arduino “escreva” na tela
do PC
Serial
Código
int LED = 3;
int POTE = A0;
int valor = 0;
void setup()
{
pinMode (LED, OUTPUT);
pinMode (POTE, INPUT);
Serial.begin(9600);
}
void loop()
{
valor = analogRead(POTE);
analogWrite (LED, valor/4);
Serial.println (valor);
delay(1000);
}
Projeto 6 - LED Controle de
Luminosidade por botão
 Material
 Arduino
 1 LED vermelho
 1 resistor de 180 ohm
 1 Botão push-button
 1 resistor de 10k ohm
 Protoboard
 Jumper
Projeto 6
MONTAGEM
Projeto 6
Código
int LED = 9; // Pino do LED
int BOTAO = 7; // Pino do Botão
int valor = LOW;
int valorAnterior = LOW;
int estado =0; // 0 = apagado, 1 = aceso
int brilho = 128;
unsigned long inicio;
void setup()
{
pinMode(LED, OUTPUT);
pinMode(BOTAO, INPUT);
}
void loop()
{
valor = digitalRead(BOTAO);
if ((valor == HIGH) && (valorAnterior == LOW)){
estado = 1 - estado;
inicio = millis(); // Tempo Arduino iniciado (ms)
delay (10);
}
if ((valor == HIGH) && (valorAnterior == HIGH)){
// mais de meio segundo 500ms
if (estado == 1 && (millis()-inicio)>500){
brilho++;
delay (10);
if (brilho>255) brilho = 0;
}
}
valorAnterior = valor;
if (estado == 1)
analogWrite(LED, brilho); // Define o Brilho
else
analogWrite(LED,0); // Apaga o LED
}
LED RGB
Projeto 7 – RGB
 Material:
 Arduino
 1 LED RGB
 3 resistores de 330 ohms
 Protoboard
 Jumpers
Projeto 7
MONTAGEM
Projeto 7
Código
int RED = 11;
int GREEN = 10;
int BLUE = 9;
int sRED = 0; // Sorteia cor
int sGREEN = 0;
int sBLUE = 0;
void setup()
{
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
}
void loop()
{
analogWrite(RED,sRED);
analogWrite(GREEN, sGREEN);
analogWrite(BLUE, sBLUE);
delay (500);
sRED = random (256);
sGREEN = random (256);
sBLUE = random (256);
}
Projeto
7b
MONTAGEM
Projeto 7b
Código
int RED = 11;
int GREEN = 10;
int BLUE = 9;
int sRED = 0; // Sorteia cor
int sGREEN = 0;
int sBLUE = 0;
unsigned long int tempo = 0;
void setup()
{
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
}
void loop()
{
analogWrite(RED,sRED);
analogWrite(GREEN, sGREEN);
analogWrite(BLUE, sBLUE);
delay (100);
sRED = sin(tempo*tempo/50000.0)*128+128;
sGREEN = sin(tempo*tempo/10000.0)*128+128;
sBLUE = sin(tempo*tempo/70000.0)*128+128;
tempo += 10;
}
Projeto
7c
MONTAGEM
Projeto 7c
int RED = 11;
int GREEN = 10;
int BLUE = 9;
int sRED = 0; // Sorteia cor
int sGREEN = 0;
int sBLUE = 0;
void setup()
{
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
}
void loop()
{
analogWrite(RED,sRED);
analogWrite(GREEN, sGREEN);
analogWrite(BLUE, sBLUE);
delay (500);
sRED = random (256);
sGREEN = random (256);
sBLUE = random (256);
}
Projeto 8 – LED RGB +
Potenciômetro
 Material
 Arduino
 1 LED RGB
 3 resistores de 220 ohms
 1 potenciômetro de 10k ohms
 Protoboard
 Jumpers
Projeto 8
MONTAGEM
Projeto 8
Código
int POT = A0;
int vPOT = 0;
int RED = 11;
int GREEN = 10;
int BLUE = 9;
int sRED = 0; // colors
int sGREEN = 0;
int sBLUE = 0;
void setup()
{
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
pinMode (POT, INPUT);
}
void loop()
{
vPOT = analogRead (POT);
sRED = vPOT / 4;
sGREEN = vPOT / 8;
sBLUE = vPOT / 16;
analogWrite(RED,sRED);
analogWrite(GREEN, sGREEN);
analogWrite(BLUE, sBLUE);
delay (20);
}
Projeto 9 – Semáforo 2
 Objetivo: Criar um sistema semafórico através de botões (Push Button);
 Material:
 1 Arduino
 3 Resistores de 220 ohms (vermelho, vermelho, marrom)
 3 Botões tipo Push Button
 1 LED RBG
 3 Resistores 10K ohms
 1 Protoboard
 Jumpers
Projeto 9
MONTAGEM
Projeto 9
Código
int RED = 11; // Cores
int GREEN = 10;
int BLUE = 9;
int BRED = 7; // Botões
int BYELLOW = 6;
int BGREEN = 5;
int vver = LOW; // Ler Botões
int vama = LOW;
int vverd = LOW;
void setup()
{
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
pinMode (BRED, INPUT);
pinMode (BYELLOW, INPUT);
pinMode (BGREEN, INPUT);
}
void loop()
{
vver = digitalRead(BRED);
vama = digitalRead(BYELLOW);
vverd = digitalRead(BGREEN);
if (vver == HIGH) {
analogWrite(RED,255); analogWrite(GREEN,0); analogWrite(BLUE,0);
}
if (vama == HIGH) {
analogWrite(RED,255); analogWrite(GREEN,0); analogWrite(BLUE,255);
}
if (vverd == HIGH) {
analogWrite(RED,0); analogWrite(GREEN,0); analogWrite(BLUE,255);
}
delay (50);
}
Projeto 10 – Entrada Serial
 Material:
 Arduino
 1 LED verde
 1 Resistor de 220 ohms
 Protoboard
 Jumpers
Projeto
10
MONTAGEM
Projeto 10
Código
int LED = 13;
int entrada = 0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
Serial.println("Digite 1 para acender o LED ou 0 para apagar:");
}
void loop()
{
if (Serial.available() > 0){
entrada = Serial.read();
Serial.print ("Recebido: ");
Serial.println (entrada, DEC);
if (entrada=='0')
digitalWrite (LED, LOW);
else if (entrada=='1')
digitalWrite (LED, HIGH);
else
Serial.println ("Por favor, digite apenas 0 ou 1!");
}
}
Projeto 10b
Código
int LED = 13;
int entrada = 0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
Serial.println("Digite 1 para acender o LED ou 0 para apagar:");
}
void loop()
{
if (Serial.available() > 0){
entrada = Serial.read();
Serial.print ("Recebido: ");
Serial.println (entrada, DEC);
Serial.print ("Em caractere:");
Serial.print ((char) entrada);
if (entrada=='0')
digitalWrite (LED, LOW);
else if (entrada=='1')
digitalWrite (LED, HIGH);
else
Serial.println ("Por favor, digite apenas 0 ou 1!");
}
}
Projeto 11 - Bip simples utilizando
um Buzzer
 Material
Arduino
1 Buzzer
1 resistor de 220 ohms
Protoboard
Jumpers
Projeto
11
MONTAGEM
Projeto 11
Código
// Pino do buzzer
int BUZZER = 8;
void setup()
{
pinMode(BUZZER, OUTPUT);
}
void loop()
{
// pino e a frequência
tone (BUZZER, 1200);
delay (500);
// Para o toque
noTone(BUZZER);
delay (500);
// pino, frequência e duração
tone (BUZZER, 1200, 500);
delay(500);
}
Projeto 12 – “Música”
 Material
Arduino
1 Buzzer
1 resistor de 220 ohms
Protoboard
Jumpers
Projeto
12
MONTAGEM
Projeto 12
Código
// Pino do buzzer
int BUZZER = 8;
int numNotas = 10;
// notas C C# D D# E F F# G G# A
int notas[] = {261, 277, 294, 311, 330,
349, 370, 392, 415, 440};
void setup()
{
pinMode(BUZZER, OUTPUT);
}
void loop()
{
for (int i = 0; i < numNotas; i++){
tone (BUZZER, notas[i]);
delay (500);
}
noTone (BUZZER);
delay (1000);
}
Sensor de
Temperatura
DHT11
 Veja que no módulo já vem
um resistor de 10k ohms que
facilita a montagem
 Mede entre -20ºC e 60ºC
aproximadamente
DHT11
 Funciona como um botão,
ou seja, terá um resistor de
10K ohms para a nossa
ligação
Para instalar no
arduino o DHT
Montagem
Código
#include <Adafruit_Sensor.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
DHT dht = DHT(DHTPIN, DHTTYPE); // inicializar o sensor para Arduino 16MHz
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(2000); // Dois segundos leitura de temperatura e 250 ms para humidade
float h = dht.readHumidity(); // humidade em %
float t = dht.readTemperature(); // Temperatura em graus Celsius
float f = dht.readTemperature(true); // Temperatura em graus Fahrenheit
// Se alguma leitura falhou ele retorna
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Falha ao ler o sensor DHT!");
return;
}
Serial.print("Humidade: "); Serial.print(h); Serial.print(" % ");
Serial.print("Temperatura: "); Serial.print(t); Serial.print(" xC2xB0");
Serial.print("C | ");
Serial.print(f); Serial.print(" xC2xB0"); Serial.println("F ");
}
Projeto 13 – Alarme Temperatura
 Material:
 1 Arduino
 1 Resistor de 220 ohms (vermelho, vermelho, marrom)
 1 Buzzer
 1 Termistor ou sensor de temperatura NTC
 1 Protoboard
 Jumpers
Projeto 13
MONTAGEM
Projeto 13
Código
int pinotermistor = A0;
int BUZZER = 8;
int valor;
int T;
int mV;
void setup()
{
pinMode(pinotermistor, INPUT);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop()
{
valor = analogRead(pinotermistor);
mV = map(valor,0,1023,0,5000);
T = (mV/10)-50;
Serial.println("Valor em mV");
Serial.println(mV);
Serial.println("Valor em grau C");
Serial.println(T);
if (T>30) {
tone (BUZZER, 1200);
delay (500);
noTone (BUZZER);
delay (500);
} else {
noTone (BUZZER);
}
delay(50);
}
Desafio – Projeto 14
CRIAR UM SEMÁFORO COMPLETO DE UM CRUZAMENTO
Solução
desafio
Projeto 15 - Sensor de Distância
Material
Arduino
Sensor de distância HC-SR04
Protoboard
Jumpers
Projeto15
MONTAGEM
Projeto 15
Código
int ECHO = 7; //Pino 7 recebe o pulso
int TRIG = 8; //Pino 8 envia o pulso
long duracao = 0;
long distancia = 0;
void setup()
{
Serial.begin (9600);
pinMode(ECHO, INPUT);
pinMode(TRIG, OUTPUT);
}
void loop()
{
digitalWrite (TRIG, LOW);
delay(10);
digitalWrite (TRIG, HIGH);
delay(10);
digitalWrite (TRIG, LOW);
duracao = pulseIn (ECHO, HIGH);
distancia = duracao / 58;
Serial.print ("Distancia em cm: ");
Serial.println (distancia);
delay (100);
}
Projeto 16 – Sensor de
Estacionamento 1
 Material
 Arduino
 1 Resistor de 330 ohms
 1 Buzzer
 1 Sensor de distância ultrassônico
 Protoboard
 Jumpers
Projeto
16
MONTAGEM
Projeto 16
Código
int TRIG = 13;
int ECHO = 10;
int BUZZ = 2;
long duracao = 0;
long distancia = 0;
void setup()
{
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZZ, OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite (TRIG, LOW);
delay(10);
digitalWrite (TRIG, HIGH);
delay(10);
digitalWrite (TRIG, LOW);
duracao = pulseIn (ECHO, HIGH);
distancia = duracao / 58;
Serial.println (distancia);
if (distancia <= 80)
{
tone (BUZZ, 1200, 500);
} else
{
noTone(BUZZ);
}
delay (100);
}
Projeto 16b – Sensor de
Estacionamento 2
 Materiais
 Arduino
 Cinco LEDs vermelhos
 Cinco resistores de 330 ohms
 Sensor de distância ultrassônico HC-SR04
 Protoboard
 Jumpers
Projeto
16b
MONTAGEM
Projeto 16b
Código
// Leitura HC-SR04
const uint8_t trig_pin = 10;
const uint8_t echo_pin = 9;
uint32_t print_timer;
void setup() {
Serial.begin(9600); // Habilita Comunicação Serial a uma taxa de 9600 bauds.
// Configuração do estado inicial dos pinos Trig e Echo.
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
digitalWrite(trig_pin, LOW);
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
}
void loop() {
// Espera 0,5s (500ms) entre medições.
if (millis() - print_timer > 500) {
print_timer = millis();
// Pulso de 5V por pelo menos 10us para iniciar medição.
digitalWrite(trig_pin, HIGH);
delayMicroseconds(11);
digitalWrite(trig_pin, LOW);
/* Mede quanto tempo o pino de echo ficou no estado alto, ou seja,
o tempo de propagação da onda. */
uint32_t pulse_time = pulseIn(echo_pin, HIGH);
/* A distância entre o sensor ultrassom e o objeto será proporcional a velocidade
do som no meio e a metade do tempo de propagação. Para o ar na
temperatura ambiente Vsom = 0,0343 cm/us. */
double distance = 0.0172312 * pulse_time;
// Imprimimos o valor na porta serial;
Serial.print(distance);
Serial.println(" cm");
if (distance>200) {digitalWrite(6, LOW);} else {digitalWrite(6, HIGH);}
if (distance>160) {digitalWrite(5, LOW);} else {digitalWrite(5, HIGH);}
if (distance>120) {digitalWrite(4, LOW);} else {digitalWrite(4, HIGH);}
if (distance>80) {digitalWrite(3, LOW);} else {digitalWrite(3, HIGH);}
if (distance>40) {digitalWrite(2, LOW);} else {digitalWrite(2, HIGH);}
}
}
Projeto 17 – Sensor de
Luminosidade
 Material
 Arduino
 1 LED vermelho
 1 Resistor de 220 ohms
 1 Fotorresistor (LDR)
 1 Resistor de 10k ohms
Projeto
17
MONTAGEM
Projeto 17
Código
int LED = 13;
int LDR = A0;
int entrada = 0; // Valor do LDR
void setup()
{
pinMode(LED, OUTPUT);
pinMode(LDR, INPUT);
}
void loop()
{
entrada = analogRead(LDR);
delay(500);
if (entrada < 100)
digitalWrite(LED, HIGH);
else
digitalWrite(LED, LOW);
delay(100);
}
Projeto 18 – Acionando um servo
motor
 Material
 Arduino
 1 Micro servo
 1 potenciômetro de 10K ohms
 Protoboard
 Jumpers
Acionamento
Servo Motor
 Servos de aeromodelismo
são controlados por um sinal
PWM (Pulse Width
Modulation) de período
20ms e largura entre 1ms a
2ms.
 A largura define a posição
do servo, entre 0 grau(1ms) e
seu valor máximo (2ms), em
geral, 120 graus
Projeto
18
MONTAGEM
Projeto 18
Código
#include "Servo.h"
Servo servo;
int POT = 0;
int SERVO = 6;
int valorPot;
int valorMotor = 0;
void setup()
{
servo.attach(SERVO);
Serial.begin(9600);
}
void loop()
{
valorPot = analogRead(POT);
valorMotor = map(valorPot,0,1023,0,180);
servo.write (valorMotor);
Serial.print (valorMotor);
delay (20);
}
Projeto 19 – Servo com serial
 Material
Arduino
1 Micro servo
Protoboard
Jumpers
Projeto
19
MONTAGEM
Projeto 19
Código
#include <Servo.h>
#define SERVO 6
Servo servo;
int ang;
char ch;
void setup () {
pinMode (SERVO, OUTPUT);
servo.attach(SERVO);
Serial.begin(9600);
ang = 0;
Serial.print("Setup completo");
}
void loop() {
// Le caracter
ch = 50;
if (Serial.available() > 0) {
ch = Serial.read();
}
// s: aumenta e d: diminui
if (ch == 's') {
ang = ang + 5;
if (ang > 100) {
ang = 100;
}
}
if (ch == 'd') {
ang = ang - 5;
if (ang < 0) {
ang = 0;
}
}
// muda o ângulo
servo.write(ang);
}
Display de 7
Segmentos
Código Descrição
PHD500
Display de Catodo
Comum, cor Vermelha
PHD507
Display de Anodo
Comum, cor Vermelha
PHD560
Catodo comum, cor
vermelha de alta
intensidade
PHD567
Anodo comum, cor
vermelha de alta
intensidade
Cátodo
e Ânodo
Display de 7
Segmentos
Catodo
Comum
https://e-radionica.com/productdata/LD3361BS.pdf
Projeto 20 – Display de 7
Segmentos
 Material
 Arduino
 Display de sete segmentos com catodo comum
 1 Resistor de 220 ohms
 Protoboard
 Jumpers
Projeto 20
MONTAGEM
Projeto 20
Código
int SEG_A = 2;
int SEG_B = 3;
int SEG_C = 4;
int SEG_D = 5;
int SEG_E = 6;
int SEG_F = 7;
int SEG_G = 8;
int PONTO = 9;
int ATRASO = 1000;
void setup()
{
pinMode(SEG_A, OUTPUT);
pinMode(SEG_B, OUTPUT);
pinMode(SEG_C, OUTPUT);
pinMode(SEG_D, OUTPUT);
pinMode(SEG_E, OUTPUT);
pinMode(SEG_F, OUTPUT);
pinMode(SEG_G, OUTPUT);
pinMode(PONTO, OUTPUT);
}
void loop()
{
digitalWrite(SEG_B, HIGH);
digitalWrite(SEG_C, HIGH);
}
Projeto 21 - Display 4511
 Materiais
 Arduino
 Display de 7 segmentos – Catodo comum
 Decodificador de 7 segmentos 4511
 1 Resistor de 150 ohms
 Protoboard
 Jumpers
Projeto
21
MONTAGEM
Projeto 21
Código
const int A = 4; // Primeiramente setamos os 4 pinos do CI 4511
const int B = 5;
const int C = 6;
const int D = 7;
void setup(){
pinMode(A, OUTPUT); // seta todos as portas que estão os leds do display como saída
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
}
void loop(){
digitalWrite(A, 0); //acende os leds que representam o número 0
digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 1); //acende os leds que representam o número 1
digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 0); //acende os leds que representam o número 2
digitalWrite(B, 1); digitalWrite(C, 0); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 1); //acende os leds que representam o número 3
digitalWrite(B, 1); digitalWrite(C, 0); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 0); //acende os leds que representam o número 4
digitalWrite(B, 0); digitalWrite(C, 1); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 1); //acende os leds que representam o número 5
digitalWrite(B, 0); digitalWrite(C, 1); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 0); //acende os leds que representam o número 6
digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 1); //acende os leds que representam o número 7
digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 0);
delay(1000);
digitalWrite(A, 0); //acende os leds que representam o número 8
digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 1);
delay(1000);
digitalWrite(A, 1); //acende os leds que representam o número 9
digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 1);
delay(1000);
digitalWrite(A, 1); // limpa a tela (todos segmentos desligados
digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 1);
delay(1000);

Mais conteúdo relacionado

Semelhante a Arduino Parte 2 - Projetos LED, RGB, Sensor Temperatura

Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Samir Siqueira
 
Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdfprofwtelles
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IICarlos Carvalho
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetSaymon Cristian Alves Oliveira
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleNatã Barbosa
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardFabio Souza
 
C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoTiago Barros
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoFernando Passold
 
Prova de aptidão tecnológica
Prova de aptidão tecnológicaProva de aptidão tecnológica
Prova de aptidão tecnológicaokashi24
 
Arduino genius com display lcd 16x2 usando i2 c
Arduino  genius com display lcd 16x2 usando i2 cArduino  genius com display lcd 16x2 usando i2 c
Arduino genius com display lcd 16x2 usando i2 cThiago Pereira
 

Semelhante a Arduino Parte 2 - Projetos LED, RGB, Sensor Temperatura (20)

Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Treinamento arduino (1).pptx
Treinamento arduino (1).pptxTreinamento arduino (1).pptx
Treinamento arduino (1).pptx
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Workshop de Arduino
Workshop de ArduinoWorkshop de Arduino
Workshop de Arduino
 
Guia AC mod 5
Guia AC mod 5Guia AC mod 5
Guia AC mod 5
 
Mini Curso Introdutório ao Arduino
Mini Curso Introdutório ao ArduinoMini Curso Introdutório ao Arduino
Mini Curso Introdutório ao Arduino
 
Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!Perlduino - Interfaceando sua aplicação com o mundo real!
Perlduino - Interfaceando sua aplicação com o mundo real!
 
Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdf
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
ARDUINO.pptx
ARDUINO.pptxARDUINO.pptx
ARDUINO.pptx
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Introdução ao arduino
Introdução ao arduinoIntrodução ao arduino
Introdução ao arduino
 
Desafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - JoinvilleDesafio de Robótica - Católica de Santa Catarina - Joinville
Desafio de Robótica - Católica de Santa Catarina - Joinville
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao Arduino
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
 
Prova de aptidão tecnológica
Prova de aptidão tecnológicaProva de aptidão tecnológica
Prova de aptidão tecnológica
 
Arduino genius com display lcd 16x2 usando i2 c
Arduino  genius com display lcd 16x2 usando i2 cArduino  genius com display lcd 16x2 usando i2 c
Arduino genius com display lcd 16x2 usando i2 c
 

Mais de profwtelles

Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdfprofwtelles
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutorprofwtelles
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresprofwtelles
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08profwtelles
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07profwtelles
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04profwtelles
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05profwtelles
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphiprofwtelles
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno senoprofwtelles
 
CI Reguladores de Tensão
CI Reguladores de TensãoCI Reguladores de Tensão
CI Reguladores de Tensãoprofwtelles
 

Mais de profwtelles (20)

Arduino - Parte 1.pdf
Arduino - Parte 1.pdfArduino - Parte 1.pdf
Arduino - Parte 1.pdf
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutor
 
Ccp
CcpCcp
Ccp
 
C 1
C 1C 1
C 1
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
3 vetor.matriz
3 vetor.matriz3 vetor.matriz
3 vetor.matriz
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphi
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno seno
 
CI Reguladores de Tensão
CI Reguladores de TensãoCI Reguladores de Tensão
CI Reguladores de Tensão
 

Último

Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfMarcos Boaventura
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfdanielemarques481
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 

Último (7)

Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 

Arduino Parte 2 - Projetos LED, RGB, Sensor Temperatura

  • 1. Arduino – Parte 2 TREINAMENTO PROF. WELLINGTON TELLES CUNHA
  • 2. Projeto 3 – Luz Pulsante  Material:  Arduino  1 LED vermelho  1 Resistor de 180 ohms  Protoboard  Jumpers
  • 4. Projeto 3 Código int LED = 9; float seno; int intensidade; void setup() { pinMode(LED, OUTPUT); } void loop() { for (int i = 0; i < 180; i++){ seno = sin (i*(3.1416 / 180)); intensidade = int (seno * 255); analogWrite (LED, intensidade); delay (25); } }
  • 5. Projeto 4 – Controle de LED  Material  Arduino  1 LED vermelho  1 resistor de 180 ohms  1 potenciômetro de 10k ohms  Protoboard  Jumpers
  • 7. Projeto 4 Código int POT = A1; int LED = 13; int valor = 0; void setup() { pinMode(LED, OUTPUT); pinMode(POT, INPUT); } void loop() { valor = analogRead(POT); digitalWrite(LED,HIGH); delay (valor); digitalWrite(LED,LOW); delay (valor); }
  • 8. Projeto 5 - PWM  Material  Arduino  1 LED vermelho  1 resistor de 220 ohms  1 potenciômetro de 10k ohms  Protoboard  Jumpers
  • 10. Projeto 5 Código int LED = 3; int POTE = A0; int valor = 0; void setup() { pinMode (LED, OUTPUT); pinMode (POTE, INPUT); } void loop() { valor = analogRead(POTE); analogWrite (LED, valor/4); delay(1000); }
  • 11. Console de Comunicação  Este experimento visa permitir que se verifique que a instalação o ambiente de programação do Arduino está funcionando corretamente no seu computador.  Visa também fazer com que você aprenda como usar as funções:  Serial.read() : permite que você use o teclado do PC para mandar entradas(inputs) para o Arduino  Serial.write() : permite que o Arduino “escreva” na tela do PC
  • 12. Serial Código int LED = 3; int POTE = A0; int valor = 0; void setup() { pinMode (LED, OUTPUT); pinMode (POTE, INPUT); Serial.begin(9600); } void loop() { valor = analogRead(POTE); analogWrite (LED, valor/4); Serial.println (valor); delay(1000); }
  • 13. Projeto 6 - LED Controle de Luminosidade por botão  Material  Arduino  1 LED vermelho  1 resistor de 180 ohm  1 Botão push-button  1 resistor de 10k ohm  Protoboard  Jumper
  • 15. Projeto 6 Código int LED = 9; // Pino do LED int BOTAO = 7; // Pino do Botão int valor = LOW; int valorAnterior = LOW; int estado =0; // 0 = apagado, 1 = aceso int brilho = 128; unsigned long inicio; void setup() { pinMode(LED, OUTPUT); pinMode(BOTAO, INPUT); } void loop() { valor = digitalRead(BOTAO); if ((valor == HIGH) && (valorAnterior == LOW)){ estado = 1 - estado; inicio = millis(); // Tempo Arduino iniciado (ms) delay (10); } if ((valor == HIGH) && (valorAnterior == HIGH)){ // mais de meio segundo 500ms if (estado == 1 && (millis()-inicio)>500){ brilho++; delay (10); if (brilho>255) brilho = 0; } } valorAnterior = valor; if (estado == 1) analogWrite(LED, brilho); // Define o Brilho else analogWrite(LED,0); // Apaga o LED }
  • 17. Projeto 7 – RGB  Material:  Arduino  1 LED RGB  3 resistores de 330 ohms  Protoboard  Jumpers
  • 19. Projeto 7 Código int RED = 11; int GREEN = 10; int BLUE = 9; int sRED = 0; // Sorteia cor int sGREEN = 0; int sBLUE = 0; void setup() { pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); } void loop() { analogWrite(RED,sRED); analogWrite(GREEN, sGREEN); analogWrite(BLUE, sBLUE); delay (500); sRED = random (256); sGREEN = random (256); sBLUE = random (256); }
  • 21. Projeto 7b Código int RED = 11; int GREEN = 10; int BLUE = 9; int sRED = 0; // Sorteia cor int sGREEN = 0; int sBLUE = 0; unsigned long int tempo = 0; void setup() { pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); } void loop() { analogWrite(RED,sRED); analogWrite(GREEN, sGREEN); analogWrite(BLUE, sBLUE); delay (100); sRED = sin(tempo*tempo/50000.0)*128+128; sGREEN = sin(tempo*tempo/10000.0)*128+128; sBLUE = sin(tempo*tempo/70000.0)*128+128; tempo += 10; }
  • 23. Projeto 7c int RED = 11; int GREEN = 10; int BLUE = 9; int sRED = 0; // Sorteia cor int sGREEN = 0; int sBLUE = 0; void setup() { pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); } void loop() { analogWrite(RED,sRED); analogWrite(GREEN, sGREEN); analogWrite(BLUE, sBLUE); delay (500); sRED = random (256); sGREEN = random (256); sBLUE = random (256); }
  • 24. Projeto 8 – LED RGB + Potenciômetro  Material  Arduino  1 LED RGB  3 resistores de 220 ohms  1 potenciômetro de 10k ohms  Protoboard  Jumpers
  • 26. Projeto 8 Código int POT = A0; int vPOT = 0; int RED = 11; int GREEN = 10; int BLUE = 9; int sRED = 0; // colors int sGREEN = 0; int sBLUE = 0; void setup() { pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); pinMode (POT, INPUT); } void loop() { vPOT = analogRead (POT); sRED = vPOT / 4; sGREEN = vPOT / 8; sBLUE = vPOT / 16; analogWrite(RED,sRED); analogWrite(GREEN, sGREEN); analogWrite(BLUE, sBLUE); delay (20); }
  • 27. Projeto 9 – Semáforo 2  Objetivo: Criar um sistema semafórico através de botões (Push Button);  Material:  1 Arduino  3 Resistores de 220 ohms (vermelho, vermelho, marrom)  3 Botões tipo Push Button  1 LED RBG  3 Resistores 10K ohms  1 Protoboard  Jumpers
  • 29. Projeto 9 Código int RED = 11; // Cores int GREEN = 10; int BLUE = 9; int BRED = 7; // Botões int BYELLOW = 6; int BGREEN = 5; int vver = LOW; // Ler Botões int vama = LOW; int vverd = LOW; void setup() { pinMode (RED, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT); pinMode (BRED, INPUT); pinMode (BYELLOW, INPUT); pinMode (BGREEN, INPUT); } void loop() { vver = digitalRead(BRED); vama = digitalRead(BYELLOW); vverd = digitalRead(BGREEN); if (vver == HIGH) { analogWrite(RED,255); analogWrite(GREEN,0); analogWrite(BLUE,0); } if (vama == HIGH) { analogWrite(RED,255); analogWrite(GREEN,0); analogWrite(BLUE,255); } if (vverd == HIGH) { analogWrite(RED,0); analogWrite(GREEN,0); analogWrite(BLUE,255); } delay (50); }
  • 30. Projeto 10 – Entrada Serial  Material:  Arduino  1 LED verde  1 Resistor de 220 ohms  Protoboard  Jumpers
  • 32. Projeto 10 Código int LED = 13; int entrada = 0; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); Serial.println("Digite 1 para acender o LED ou 0 para apagar:"); } void loop() { if (Serial.available() > 0){ entrada = Serial.read(); Serial.print ("Recebido: "); Serial.println (entrada, DEC); if (entrada=='0') digitalWrite (LED, LOW); else if (entrada=='1') digitalWrite (LED, HIGH); else Serial.println ("Por favor, digite apenas 0 ou 1!"); } }
  • 33. Projeto 10b Código int LED = 13; int entrada = 0; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); Serial.println("Digite 1 para acender o LED ou 0 para apagar:"); } void loop() { if (Serial.available() > 0){ entrada = Serial.read(); Serial.print ("Recebido: "); Serial.println (entrada, DEC); Serial.print ("Em caractere:"); Serial.print ((char) entrada); if (entrada=='0') digitalWrite (LED, LOW); else if (entrada=='1') digitalWrite (LED, HIGH); else Serial.println ("Por favor, digite apenas 0 ou 1!"); } }
  • 34. Projeto 11 - Bip simples utilizando um Buzzer  Material Arduino 1 Buzzer 1 resistor de 220 ohms Protoboard Jumpers
  • 36. Projeto 11 Código // Pino do buzzer int BUZZER = 8; void setup() { pinMode(BUZZER, OUTPUT); } void loop() { // pino e a frequência tone (BUZZER, 1200); delay (500); // Para o toque noTone(BUZZER); delay (500); // pino, frequência e duração tone (BUZZER, 1200, 500); delay(500); }
  • 37. Projeto 12 – “Música”  Material Arduino 1 Buzzer 1 resistor de 220 ohms Protoboard Jumpers
  • 39. Projeto 12 Código // Pino do buzzer int BUZZER = 8; int numNotas = 10; // notas C C# D D# E F F# G G# A int notas[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440}; void setup() { pinMode(BUZZER, OUTPUT); } void loop() { for (int i = 0; i < numNotas; i++){ tone (BUZZER, notas[i]); delay (500); } noTone (BUZZER); delay (1000); }
  • 40. Sensor de Temperatura DHT11  Veja que no módulo já vem um resistor de 10k ohms que facilita a montagem  Mede entre -20ºC e 60ºC aproximadamente
  • 41. DHT11  Funciona como um botão, ou seja, terá um resistor de 10K ohms para a nossa ligação
  • 44. Código #include <Adafruit_Sensor.h> #include <DHT.h> #define DHTPIN 2 #define DHTTYPE DHT11 // DHT 11 DHT dht = DHT(DHTPIN, DHTTYPE); // inicializar o sensor para Arduino 16MHz void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // Dois segundos leitura de temperatura e 250 ms para humidade float h = dht.readHumidity(); // humidade em % float t = dht.readTemperature(); // Temperatura em graus Celsius float f = dht.readTemperature(true); // Temperatura em graus Fahrenheit // Se alguma leitura falhou ele retorna if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Falha ao ler o sensor DHT!"); return; } Serial.print("Humidade: "); Serial.print(h); Serial.print(" % "); Serial.print("Temperatura: "); Serial.print(t); Serial.print(" xC2xB0"); Serial.print("C | "); Serial.print(f); Serial.print(" xC2xB0"); Serial.println("F "); }
  • 45. Projeto 13 – Alarme Temperatura  Material:  1 Arduino  1 Resistor de 220 ohms (vermelho, vermelho, marrom)  1 Buzzer  1 Termistor ou sensor de temperatura NTC  1 Protoboard  Jumpers
  • 47. Projeto 13 Código int pinotermistor = A0; int BUZZER = 8; int valor; int T; int mV; void setup() { pinMode(pinotermistor, INPUT); pinMode(BUZZER, OUTPUT); Serial.begin(9600); } void loop() { valor = analogRead(pinotermistor); mV = map(valor,0,1023,0,5000); T = (mV/10)-50; Serial.println("Valor em mV"); Serial.println(mV); Serial.println("Valor em grau C"); Serial.println(T); if (T>30) { tone (BUZZER, 1200); delay (500); noTone (BUZZER); delay (500); } else { noTone (BUZZER); } delay(50); }
  • 48. Desafio – Projeto 14 CRIAR UM SEMÁFORO COMPLETO DE UM CRUZAMENTO
  • 50. Projeto 15 - Sensor de Distância Material Arduino Sensor de distância HC-SR04 Protoboard Jumpers
  • 52. Projeto 15 Código int ECHO = 7; //Pino 7 recebe o pulso int TRIG = 8; //Pino 8 envia o pulso long duracao = 0; long distancia = 0; void setup() { Serial.begin (9600); pinMode(ECHO, INPUT); pinMode(TRIG, OUTPUT); } void loop() { digitalWrite (TRIG, LOW); delay(10); digitalWrite (TRIG, HIGH); delay(10); digitalWrite (TRIG, LOW); duracao = pulseIn (ECHO, HIGH); distancia = duracao / 58; Serial.print ("Distancia em cm: "); Serial.println (distancia); delay (100); }
  • 53. Projeto 16 – Sensor de Estacionamento 1  Material  Arduino  1 Resistor de 330 ohms  1 Buzzer  1 Sensor de distância ultrassônico  Protoboard  Jumpers
  • 55. Projeto 16 Código int TRIG = 13; int ECHO = 10; int BUZZ = 2; long duracao = 0; long distancia = 0; void setup() { pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); pinMode(BUZZ, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite (TRIG, LOW); delay(10); digitalWrite (TRIG, HIGH); delay(10); digitalWrite (TRIG, LOW); duracao = pulseIn (ECHO, HIGH); distancia = duracao / 58; Serial.println (distancia); if (distancia <= 80) { tone (BUZZ, 1200, 500); } else { noTone(BUZZ); } delay (100); }
  • 56. Projeto 16b – Sensor de Estacionamento 2  Materiais  Arduino  Cinco LEDs vermelhos  Cinco resistores de 330 ohms  Sensor de distância ultrassônico HC-SR04  Protoboard  Jumpers
  • 58. Projeto 16b Código // Leitura HC-SR04 const uint8_t trig_pin = 10; const uint8_t echo_pin = 9; uint32_t print_timer; void setup() { Serial.begin(9600); // Habilita Comunicação Serial a uma taxa de 9600 bauds. // Configuração do estado inicial dos pinos Trig e Echo. pinMode(trig_pin, OUTPUT); pinMode(echo_pin, INPUT); digitalWrite(trig_pin, LOW); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT); pinMode (6, OUTPUT); } void loop() { // Espera 0,5s (500ms) entre medições. if (millis() - print_timer > 500) { print_timer = millis(); // Pulso de 5V por pelo menos 10us para iniciar medição. digitalWrite(trig_pin, HIGH); delayMicroseconds(11); digitalWrite(trig_pin, LOW); /* Mede quanto tempo o pino de echo ficou no estado alto, ou seja, o tempo de propagação da onda. */ uint32_t pulse_time = pulseIn(echo_pin, HIGH); /* A distância entre o sensor ultrassom e o objeto será proporcional a velocidade do som no meio e a metade do tempo de propagação. Para o ar na temperatura ambiente Vsom = 0,0343 cm/us. */ double distance = 0.0172312 * pulse_time; // Imprimimos o valor na porta serial; Serial.print(distance); Serial.println(" cm"); if (distance>200) {digitalWrite(6, LOW);} else {digitalWrite(6, HIGH);} if (distance>160) {digitalWrite(5, LOW);} else {digitalWrite(5, HIGH);} if (distance>120) {digitalWrite(4, LOW);} else {digitalWrite(4, HIGH);} if (distance>80) {digitalWrite(3, LOW);} else {digitalWrite(3, HIGH);} if (distance>40) {digitalWrite(2, LOW);} else {digitalWrite(2, HIGH);} } }
  • 59. Projeto 17 – Sensor de Luminosidade  Material  Arduino  1 LED vermelho  1 Resistor de 220 ohms  1 Fotorresistor (LDR)  1 Resistor de 10k ohms
  • 61. Projeto 17 Código int LED = 13; int LDR = A0; int entrada = 0; // Valor do LDR void setup() { pinMode(LED, OUTPUT); pinMode(LDR, INPUT); } void loop() { entrada = analogRead(LDR); delay(500); if (entrada < 100) digitalWrite(LED, HIGH); else digitalWrite(LED, LOW); delay(100); }
  • 62. Projeto 18 – Acionando um servo motor  Material  Arduino  1 Micro servo  1 potenciômetro de 10K ohms  Protoboard  Jumpers
  • 63. Acionamento Servo Motor  Servos de aeromodelismo são controlados por um sinal PWM (Pulse Width Modulation) de período 20ms e largura entre 1ms a 2ms.  A largura define a posição do servo, entre 0 grau(1ms) e seu valor máximo (2ms), em geral, 120 graus
  • 65. Projeto 18 Código #include "Servo.h" Servo servo; int POT = 0; int SERVO = 6; int valorPot; int valorMotor = 0; void setup() { servo.attach(SERVO); Serial.begin(9600); } void loop() { valorPot = analogRead(POT); valorMotor = map(valorPot,0,1023,0,180); servo.write (valorMotor); Serial.print (valorMotor); delay (20); }
  • 66. Projeto 19 – Servo com serial  Material Arduino 1 Micro servo Protoboard Jumpers
  • 68. Projeto 19 Código #include <Servo.h> #define SERVO 6 Servo servo; int ang; char ch; void setup () { pinMode (SERVO, OUTPUT); servo.attach(SERVO); Serial.begin(9600); ang = 0; Serial.print("Setup completo"); } void loop() { // Le caracter ch = 50; if (Serial.available() > 0) { ch = Serial.read(); } // s: aumenta e d: diminui if (ch == 's') { ang = ang + 5; if (ang > 100) { ang = 100; } } if (ch == 'd') { ang = ang - 5; if (ang < 0) { ang = 0; } } // muda o ângulo servo.write(ang); }
  • 69. Display de 7 Segmentos Código Descrição PHD500 Display de Catodo Comum, cor Vermelha PHD507 Display de Anodo Comum, cor Vermelha PHD560 Catodo comum, cor vermelha de alta intensidade PHD567 Anodo comum, cor vermelha de alta intensidade
  • 72. Projeto 20 – Display de 7 Segmentos  Material  Arduino  Display de sete segmentos com catodo comum  1 Resistor de 220 ohms  Protoboard  Jumpers
  • 74. Projeto 20 Código int SEG_A = 2; int SEG_B = 3; int SEG_C = 4; int SEG_D = 5; int SEG_E = 6; int SEG_F = 7; int SEG_G = 8; int PONTO = 9; int ATRASO = 1000; void setup() { pinMode(SEG_A, OUTPUT); pinMode(SEG_B, OUTPUT); pinMode(SEG_C, OUTPUT); pinMode(SEG_D, OUTPUT); pinMode(SEG_E, OUTPUT); pinMode(SEG_F, OUTPUT); pinMode(SEG_G, OUTPUT); pinMode(PONTO, OUTPUT); } void loop() { digitalWrite(SEG_B, HIGH); digitalWrite(SEG_C, HIGH); }
  • 75. Projeto 21 - Display 4511  Materiais  Arduino  Display de 7 segmentos – Catodo comum  Decodificador de 7 segmentos 4511  1 Resistor de 150 ohms  Protoboard  Jumpers
  • 77. Projeto 21 Código const int A = 4; // Primeiramente setamos os 4 pinos do CI 4511 const int B = 5; const int C = 6; const int D = 7; void setup(){ pinMode(A, OUTPUT); // seta todos as portas que estão os leds do display como saída pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); } void loop(){ digitalWrite(A, 0); //acende os leds que representam o número 0 digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 0); delay(1000); digitalWrite(A, 1); //acende os leds que representam o número 1 digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 0); delay(1000); digitalWrite(A, 0); //acende os leds que representam o número 2 digitalWrite(B, 1); digitalWrite(C, 0); digitalWrite(D, 0); delay(1000); digitalWrite(A, 1); //acende os leds que representam o número 3 digitalWrite(B, 1); digitalWrite(C, 0); digitalWrite(D, 0); delay(1000); digitalWrite(A, 0); //acende os leds que representam o número 4 digitalWrite(B, 0); digitalWrite(C, 1); digitalWrite(D, 0); delay(1000); digitalWrite(A, 1); //acende os leds que representam o número 5 digitalWrite(B, 0); digitalWrite(C, 1); digitalWrite(D, 0); delay(1000); digitalWrite(A, 0); //acende os leds que representam o número 6 digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 0); delay(1000); digitalWrite(A, 1); //acende os leds que representam o número 7 digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 0); delay(1000); digitalWrite(A, 0); //acende os leds que representam o número 8 digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 1); delay(1000); digitalWrite(A, 1); //acende os leds que representam o número 9 digitalWrite(B, 0); digitalWrite(C, 0); digitalWrite(D, 1); delay(1000); digitalWrite(A, 1); // limpa a tela (todos segmentos desligados digitalWrite(B, 1); digitalWrite(C, 1); digitalWrite(D, 1); delay(1000);