0% acharam este documento útil (0 voto)
3 visualizações34 páginas

Introdução ao Arduino e Projetos Básicos

O documento fornece uma introdução ao Arduino Uno, incluindo informações sobre alimentação, pinos e exemplos de programação. Ele apresenta códigos para fazer um LED piscar, usar um sensor LDR, um sensor ultrassônico e controlar um motor elétrico, além de mostrar como utilizar um sensor de temperatura e umidade e um display LCD. O conteúdo é voltado para iniciantes em eletrônica e programação com Arduino.

Enviado por

Lucas Vianna
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações34 páginas

Introdução ao Arduino e Projetos Básicos

O documento fornece uma introdução ao Arduino Uno, incluindo informações sobre alimentação, pinos e exemplos de programação. Ele apresenta códigos para fazer um LED piscar, usar um sensor LDR, um sensor ultrassônico e controlar um motor elétrico, além de mostrar como utilizar um sensor de temperatura e umidade e um display LCD. O conteúdo é voltado para iniciantes em eletrônica e programação com Arduino.

Enviado por

Lucas Vianna
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Arduino

Prof. Dr. Tiago Leite


Arduino Uno

Alimentação: O Arduino UNO pode ser alimentado pela porta USB ou


por uma fonte externa DC. ◦ A recomendação é que a fonte externa
seja de 7 V a 12 V e pode ser ligada diretamente no conector de fonte
ou nos pinos Vin e Gnd.
Pinos do Arduino
Pinos do Arduino
Pinos do Arduino
Arduino Uno

O microcontrolador do Arduino é um computador que segue


instruções detalhadas dadas por seres humanos.

Para que o Arduino execute determinada tarefa, precisamos


“ensiná-lo” a executar essa tarefa, passo a passo
Interface de desenvolvimento Arduino
Fazendo um led piscar

Percebemos a parte de
setup() e loop() presentes
no código, no setup()
realizamos as definições
iniciais e em loop() é o ciclo
de funcionamento do
sistema.
Fazendo um led piscar

No exemplo ao lado
definimos dentro do setup
que o pino 3 será um pino
de saída (out put).
No loop, definimos tensão
ligada (high) no pino 13 e
tensão desligada no pino 13
com intervalo de 1segundo
(delay 1000).
Fazendo um led piscar

Se o pino 13 for um led o


que observamos é um
funcionamento de pisca
pisca do led
Fazendo um led piscar

Essa é a montagem que


devemos realizar no arduino
para o código ser executado
de forma correta.
Fazendo um led piscar

O resistor é conectado pois é


necessário ter uma corrente
baixa passando no led para
que ele não queime, valores
de resistência maiores do
que 220ohms já fazem com
que isso aconteça, se
colocamos valores maiores
de tensão a luz do led perde
intensidade, devido à
corrente.
Montagem com sensor LDR
const int LDR = A0;
const int luz = 13;
int valorsensor ;

void setup() {
pinMode(luz, OUTPUT);
pinMode(LDR, INPUT);
[Link](9600);

}
Montagem com sensor LDR
void loop() {
valorsensor = analogRead(LDR);
[Link]("LDR : " );
[Link](valorsensor);
if (valorsensor < 500)
{
digitalWrite(luz, HIGH);
}
else {
digitalWrite(luz, LOW);
}
delay(100);
}
Montagem com sensor LDR
void loop() {
valorsensor = analogRead(LDR);
[Link]("LDR : " );
[Link](valorsensor);

if (valorsensor < 500) {


digitalWrite(luz, HIGH);
}
else
{
digitalWrite(luz, LOW);
}
delay(100);
}
Código sensor ultrassonico
Código sensor ultrassônico
//Programa: Sensor ultrassônico Arduino acender LED
//Autor: Luan Alves - [Link]
#include "Ultrasonic.h"
Ultrasonic ultrasonic(3, 2); // Trigger na porta 3 e Echo na
porta 2

//Declarando os LED como constantes em seus respectivos pinos


const int ledVerde = 4;
const int ledAmarelo = 5;
const int ledVermelho = 6;

long microsec = 0; // variaveis de controle


float distanciaCM = 0;

void setup() {
[Link](9600); //Inicializando o serial monitor
pinMode(ledVerde, OUTPUT); //declarando os LEDs como saida
pinMode(ledAmarelo, OUTPUT);
pinMode(ledVermelho, OUTPUT);
}
Código sensor ultrassônico
void loop() {
//Lendo o valor do sensor
microsec = [Link]();

//Convertendo a distância em CM
distanciaCM = [Link](microsec, Ultrasonic::CM);

ledDistancia();
[Link](distanciaCM);// mostrar a distancia na porta
serial
[Link](" cm");// colocar unidade de medida
delay(500);// espera de 500 milissegundos
}
Código sensor ultrassônico
void ledDistancia() {

//Desliga todos os LEDs


digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarelo, LOW);
digitalWrite(ledVermelho, LOW);

// criando as condicoes se a distancia for entre 30 cm e 20


cm
if (distanciaCM <= 30 and distanciaCM >= 20) {
digitalWrite(ledVerde, HIGH); //liga o LED verde
}
// se a distancia for 10 cm e 20 cm
if (distanciaCM <= 20 and distanciaCM >= 10) {
digitalWrite(ledAmarelo, HIGH); //liga LED amarelo
}

if (distanciaCM < 10) { // se a distancia for menor que 10


cm
digitalWrite(ledVermelho, HIGH); // liga LED vermelho
}
}
Motor elétrico
Montagem Motor Elétrico

/* Código do Servo Motor Arduino

Monte seus próprios projetos sem dificuldade com programação!


ACESSE: [Link]
*/

#include <Servo.h> // Biblioteca do Servo

Servo meuservo; // Objeto Servo


int ang = 0; // Variável Ângulo

void setup() {
[Link](9); // Pino usado para conectar o servo
}

void loop() {
for (ang = 0; ang <= 180; ang += 1) { // Vai de 0º até 180º
// in steps of 1 degree
[Link](ang); // Comando que envia o sinal para o servo rotacionar
delay(15); // Espera 15ms
}
for (ang = 180; ang >= 0; ang -= 3) { // Vai de 180º até 0º (+ rápido)
[Link](ang); // Comando que envia o sinal para o servo rotacionar
delay(15); // Espera 15ms
}
}
Montagem Motor Elétrico
/* Código do Servo Motor Arduino

Monte seus próprios projetos sem dificuldade com programação!


ACESSE: [Link]
*/

#include <Servo.h> // Biblioteca do Servo

Servo meuservo; // Objeto Servo


int ang = 0; // Variável Ângulo

void setup() {
[Link](9); // Pino usado para conectar o servo
}

void loop() {
for (ang = 0; ang <= 180; ang += 1) { // Vai de 0º até 180º
// in steps of 1 degree
[Link](ang); // Comando que envia o sinal para o servo
rotacionar
delay(15); // Espera 15ms
}
for (ang = 180; ang >= 0; ang -= 3) { // Vai de 180º até 0º (+ rápido)
[Link](ang); // Comando que envia o sinal para o servo
rotacionar
delay(15); // Espera 15ms
}
}
Montagem Motor Elétrico
Montagem Motor Elétrico
#include <Servo.h>

Servo meuservo;

int pinoPot = 0;

int pinoServo = 9;

void setup() {

[Link](pinoServo);

void loop() {

controlarServo(pinoPot);

delay(15); // Pequena pausa para estabilidade

void controlarServo(int pinoPotenciometro) {

int valorLido = analogRead(pinoPotenciometro);

int angulo = map(valorLido, 0, 1023, 0, 180);

[Link](angulo);

}
Sensor Temperatura e Umidade
Montagem Sensor Temperatura e Umidade
#include "dht.h" //INCLUSÃO DE BIBLIOTECA

const int pinoDHT11 = A2; //PINO ANALÓGICO UTILIZADO PELO DHT11

dht DHT; //VARIÁVEL DO TIPO DHT

void setup(){
[Link](9600); //INICIALIZA A SERIAL
delay(2000); //INTERVALO DE 2 SEGUNDO ANTES DE INICIAR
}

void loop(){
DHT.read11(pinoDHT11); //LÊ AS INFORMAÇÕES DO SENSOR
[Link]("Umidade: "); //IMPRIME O TEXTO NA SERIAL
[Link]([Link]); //IMPRIME NA SERIAL O VALOR DE UMIDADE MEDIDO
[Link]("%"); //ESCREVE O TEXTO EM SEGUIDA
[Link](" / Temperatura: "); //IMPRIME O TEXTO NA SERIAL
[Link]([Link], 0); //IMPRIME NA SERIAL O VALOR DE UMIDADE
MEDIDO E REMOVE A PARTE DECIMAL
[Link]("*C"); //IMPRIME O TEXTO NA SERIAL
delay(2000); //INTERVALO DE 2 SEGUNDOS * NÃO DIMINUIR ESSE VALOR
}
Display LCD
Montagem Display LCD
Montagem Display LCD
Montagem Display LCD
Montagem Display LCD
#include <Wire.h>
void setup()
{
[Link]();
[Link](9600);
while (!Serial);
[Link]("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
nDevices = 0;
for(address = 1; address < 127; address++ )
{
[Link](address);
error = [Link]();
if (error == 0)
{
[Link]("Endereço I2C encontrado: 0x");
if (address<16)
[Link]("0 ");
[Link](address,HEX);
nDevices++;
}
else if (error==4)
{
[Link]("ERRO ");
if (address<16)
[Link]("0");
[Link](address,HEX);
}
}
if (nDevices == 0)
[Link]("Nenhum endereço i2C encontrado ");
else
[Link](" Feito !");
delay(5000);
}
Montagem Display LCD

#include <Wire.h> // Biblioteca utilizada para fazer a comunicação com o I2C


#include <LiquidCrystal_I2C.h> // Biblioteca utilizada para fazer a comunicação com o display 20x4
#define col 16 // Serve para definir o numero de colunas do display utilizado
#define lin 2 // Serve para definir o numero de linhas do display utilizado
#define ende 0x3F // Serve para definir o endereço do display.
LiquidCrystal_I2C lcd(ende,col,lin); // Chamada da funcação LiquidCrystal para ser usada com o I2C
void setup() //Incia o display
{
[Link](); // Serve para iniciar a comunicação com o display já conectado
[Link](); // Serve para ligar a luz do display
[Link](); // Serve para limpar a tela do display
}
void loop()
{
[Link](1,0); // Coloca o cursor do display na coluna 1 e linha 1
[Link]("CASA DA ROBOTICA "); // Comando de saída com a mensagem que deve aparecer na coluna 2 e linha 1.
[Link](1, 1); //Coloca o cursor do display na coluna 1 e linha 2
[Link]("MELHOR LOJA 2022"); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 2
[Link](1,2); //Coloca o cursor do display na coluna 1 e linha 1
[Link]("BLOG DA ROBOTICA"); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 3
[Link](1 ,3); //Coloca o cursor do display na coluna 1 e linha 2
[Link]("MELHOR BLOG 2022"); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 4
delay(3000); // delay de 5 segundos com todas as mensagens na tela
[Link](); // Limpa o display até o loop ser reiniciado
}

Você também pode gostar