Projeto 3 ensina a fazer uma luz pulsante usando um LED vermelho, resistor e Arduino. Projeto 4 controla a intensidade de um LED usando um potenciômetro. Projeto 5 usa PWM para variar a intensidade de um LED com um potenciômetro.
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
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
Esteexperimento 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
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
}
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
Projeto 12
Código
// Pinodo 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
Vejaque 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 comoum botão,
ou seja, terá um resistor de
10K ohms para a nossa
ligação
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
Projeto 16b
Código
// LeituraHC-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
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
Servosde 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 19
Código
#include <Servo.h>
#defineSERVO 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ódigoDescriçã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
Projeto 21
Código
const intA = 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);