CLUBE DA ROBÓTICA
ARDUÍNO BÁSICO
Prof. Me. Jadir Custódio Mendonça Junior
Arduíno Básico
O2 que é o Arduíno
O Arduino é um conjunto de placas de
prototipagem, ou seja, são placas que trabalham
com fases de testes e podem ser facilmente
adicionadas em projetos de automação, robótica
entre outros.
Arduíno Básico
O3 que é o Arduíno
O Arduino serve como micro controlador
com suporte de entrada e saída,
combinado com uma linguagem de
programação para controlar as partes
físicas (sensores, motores e etc.)
Arduíno Básico
O4 que é o Arduíno
O projeto do Arduino surgiu na Itália, em
2005, com a proposta de ensinar a
programação e ser uma alternativa mais
barata para projetos de prototipagem.
O site oficial do Arduino é http://arduino.cc
Introdução
Tipos
5 de Arduíno
Introdução
Microcontrolador
6
Um microcontrolador é um CI que
incorpora várias funcionalidades.
Alguns vezes os microcontroladores
são chamados de “computador de
um único chip”.
Introdução
Conhecendo
7 um pouco da placa
Introdução
LED
8
Led é a sigla para Light Emitting Diode, que
significa “diodo emissor de luz”. É uma tecnologia
que utiliza a energia elétrica para criar luz.
Introdução
Jumper
9
São condutores de energia utilizados
para passar energia de um ponto a
outro, sua forma varia de acordo com
o objetivo.
Introdução
Resistores
10
São dispositivos que compõem circuitos elétricos diversos. Sua
finalidade é resistir a passagem de corrente elétrica na montagem de
circuitos elétricos. Sua utilização varia de acordo com a montagem do
circuito. TABELA PARA CALCULO DE RESISTOR DE 4 CORES
Cor 1ª faixa 2ª faixa Multiplicador Tolerância
Preto 0 0 1 (100)
X
Marrom 1 1 1
X10 (10 ) ±1%(F)
Vermelho 2 2 2
X100 (10 ) ±2%(G)
Laranja 3 3 3
X1.000 (10 )
Amarelo 4 4 4
X10.000 (10 )
Verde 5 5 5
X100.000 (10 ) ±0.5%(D)
Azul 6 6 6
X1.000.000 (10 ) ±0.25%(C
)
Violeta 7 7 X10.000.000 (107) ±0.1%(B)
Cinza 8 8 8
X100.000.000 (10 ) ±0.05%(A
)
Branco 9 9 X1.000.000.000 (109)
Ouro X0,1 ±5%(J)
Prata X0,01 ±10%(K)
Sem cor ±20%(M)
Introdução
Protoboard
11
É uma placa que contém furos (pontos) e conexões condutores de
energia, utilizada na prototipagem e montagem de circuitos elétricos
experimentais.
Arduíno Básico
Ambiente
12 de Desenvolvimento do Arduíno(IDE)
Arduíno Básico
Conectando
13 a placa no computador
Arduíno Básico
Testando
14 a placa do Arduíno
// AloMundo.ino
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Alô Mundo");
}
Projeto 1
Acendendo
15 um LED
// AcendendoUmLed.ino
void setup() {
pinMode(13, OUTPUT); // configuramos o pino 13 como saída
}
void loop() {
digitalWrite(13, HIGH); // manda energia para o pino 13
}
Projeto 2
Piscando
16 um LED
// PiscandoLed.ino
int led = 13; //a variável vai guardar o valor 13
void setup() {
pinMode(led, OUTPUT); //pino 13 configurado como saída
}
void loop() {
digitalWrite(led, HIGH); //liga o pino 13
delay(1000); //espera de 1 segundo
digitalWrite(led, LOW); //desliga o pino 13
delay(1000); //espera de 1 segundo
}
Projeto 3
Semáforo
17 simples
// SemafaroSimples.ino //LED amarelo acesso por 1 seg
int ledVermelho = 8; digitalWrite(ledAmarelo, HIGH);
int ledVerde = 9; delay(1000);
int ledAmarelo = 10; digitalWrite(ledAmarelo, LOW);
//LED vermelho acesso por 2 seg
void setup() { digitalWrite(ledVermelho, HIGH);
pinMode(ledVermelho, OUTPUT); delay(2000);
pinMode(ledVerde, OUTPUT); digitalWrite(ledVermelho, LOW);
pinMode(ledAmarelo, OUTPUT); }
}
void loop() {
//LED verde acesso por 2seg.
digitalWrite(ledVerde, HIGH);
delay(2000);
digitalWrite(ledVerde, LOW);
Projeto 4
Acendendo
18 um LED com diferentes intensidades
// Luminosidade.ino
int led = 11;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
//acender led gradativamente
for(int contador=0; contador<=255; contador++){
analogWrite(led, contador);
delay(17);
}
//apagar led gradativamente
for(int contador=255; contador>=0; contador--){
analogWrite(led, contador);
delay(17);
}
delay(1000);
}
Projeto 5
Pisca
19 Pisca
// PiscaPisca.ino
for(int contador=0; contador < 3; contador++){
int led1 = 8;
digitalWrite(led3, HIGH);
int led2 = 9;
delay(500);
int led3 = 10;
digitalWrite(led3, LOW);
delay(500);
void setup() {
}
pinMode(led1, OUTPUT);
}
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
for(int contador=0; contador < 3; contador++){
digitalWrite(led1, HIGH);
delay(500);
digitalWrite(led1, LOW);
delay(500);
}
for(int contador=0; contador < 3; contador++){
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led2, LOW);
delay(500);
}
Arduíno Básico
Sonar
20
O módulo sonar é utilizado para medir distancias, ele consegue nos
informar a distancia do objeto que está logo a frente dele.
Projeto 6
Sonar
21 com monitor serial
#include <Ultrasonic.h> //importando a biblioteca do Sonar
int trig = 12; //pino TRIG
int echo = 13; //pino ECHO
int distancia; //variável pra guradar a distancia
Ultrasonic sonar(trig, echo);//objeto do tipo Ultrasonic
void setup() {
Serial.begin(9600);
}
void loop() {
//lê distancia e guarda na variável 'distancia'
distancia = sonar.distanceRead(CM);
Serial.print("Distancia em centimetros (CM): ");
Serial.println(distancia);
delay(100);
}
Projeto 7
Servo
22 Motor Simples
// ServoSimples.ino
#include <Servo.h> //importando a biblioteca do Servo
Servo motorzinho; //criando um Servo chamado motorzinho
void setup() {
motorzinho.attach(9); //Servo motor no pino 9
}
void loop() {
motorzinho.write(0); //motor gira pra posição zero
delay(1000);
//motor gira pra posição 180
motorzinho.write(180);
delay(1000);
}
Projeto 8
Servo
23 Motor Giro 180
// Servo180.ino
#include <Servo.h> //importando a biblioteca do Servo
Servo motorzinho; //criando um Servo chamado motorzinho
void setup() {
motorzinho.attach(9); //Servo motor no pino 9
}
void loop() {
for(int i=0;i<=180;i++){
motorzinho.write(i); //motor gira pra posição zero
delay(10);
}
for(int i=180;i>=0;i--){
//motor gira pra posição zero
motorzinho.write(i);
delay(10);
}
}
Exercício
First
24 Robot
EXERCÍCIO
Crie um programa para fazer os olhos do First
Robot piscar e na sequência acenda os 3 LEDs da
Boca e depois dê uma buzinada.
Configurações:
int olhoD = 13;
int olhoE = 12;
int bocaV = 11;
int bocaA = 10;
int bocaG = 9;
int buzz = 8;
Projeto 9
Acendendo
25 um LED com Sensor de Presença
// Proximidade.ino
int pinoSensor = 8; // pino do sensor
int pinoLed = 12; // pino do led
void setup(){
//pino de saida
pinMode(pinoLed, OUTPUT);
//pino de entrada
pinMode(pinoSensor, INPUT);
}
void loop(){
if(digitalRead(pinoSensor) == HIGH){
// 1 acende led
digitalWrite(pinoLed, HIGH);
}else{
// 0 apaga led
digitalWrite(pinoLed, LOW); }
}
Projeto 10
Acendendo
26 um LED com Sensor de Obstáculo
// Obstaculo.ino
int pinoLed = 12; // pino do led
int pinoSensor = 8; //pino do sensor
void setup(){
pinMode(pinoSensor, INPUT); // pino de entrada
pinMode(pinoLed, OUTPUT); // pino de saida
digitalWrite(pinoLed, LOW); // led desligado
}
void loop(){
if(digitalRead(pinoSensor) == LOW){ //pino
igual a LOW,
digitalWrite(pinoLed, HIGH); //ecende o
led
}else{
digitalWrite(pinoLed, LOW); //senão apaga o
led
}
}
Projeto 11
RFID
27
Projeto 11
RFID
28
// --- Bibliotecas Auxiliares --- // Mostra UID na serial
#include <SPI.h> Serial.print("UID da tag :");
#include <MFRC522.h> String conteudo= "";
// --- Mapeamento de Hardware --- byte letra;
#define SS_PIN 10 for (byte i = 0; i < mfrc522.uid.size; i++) {
#define RST_PIN 9 Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : "
// Cria instância com MFRC522 ");
MFRC522 mfrc522(SS_PIN, RST_PIN); Serial.print(mfrc522.uid.uidByte[i], HEX);
// --- Configurações Iniciais --- conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ?
void setup() { " 0" : " "));
// Inicia comunicação Serial em 9600 conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
Serial.begin(9600); }
Serial.println();
SPI.begin();// Inicia comunicação SPI bus Serial.print("Mensagem : ");
mfrc522.PCD_Init();// Inicia MFRC522 conteudo.toUpperCase();
//UID 1 - Chaveiro
Serial.println("Aproxime o seu cartao do leitor..."); if (conteudo.substring(1) == "E3 46 40 13"){
Serial.println(); Serial.println("Chaveiro identificado!");
} Serial.println();
delay(3000);
void loop() { }
// Verifica novos cartões
if ( ! mfrc522.PICC_IsNewCardPresent()) { if (conteudo.substring(1) == "03 C5 B3 0F"){
return; //UID 2 - Cartao
} Serial.println("Cartao identificado");
// Seleciona um dos cartões Serial.println();
if ( ! mfrc522.PICC_ReadCardSerial()) { delay(3000);
return; }
} }