Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Passo a Passo para Dominar o Arduino: Projetos e Códigos Fonte, Exercícios de Automação

Este documento fornece uma série de projetos e códigos fonte para ajudar a dominar o uso do arduino, um microcontrolador de fácil utilização. Os projetos incluem o famoso 'hello world' blink, leitura de um pino de entrada, leitura de uma porta serial, efeito fade em um led, leds sequenciais, led com sensor de luminosidade, led com sensor de obstáculo, três leds com cabo, sensor de ruído com led e sensor ultrassônico com led. Cada projeto vem com um diagrama e código fonte em português.

Tipologia: Exercícios

2020

Compartilhado em 14/08/2020

joab-oliveira-13
joab-oliveira-13 🇧🇷

2 documentos

1 / 37

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
0
Conheça o Passo a Passo para dominar o Arduino
xx
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Pré-visualização parcial do texto

Baixe Passo a Passo para Dominar o Arduino: Projetos e Códigos Fonte e outras Exercícios em PDF para Automação, somente na Docsity!

xx

xx

Um pouco mais sobre meu trabalho

Blog sobre Robótica e afins:

GuiaRobotica.com

Perfil No Instagram:

Instagram/Guiarobotica

Canal No Youtube:

Guia Robótica

Página no Facebook:

Facebook.com/GuiaRobotica

xx

Neste Ebook vou te mostrar 10 projetos feitos com LEDs que iram

abrir sua mente em relação a programação e ideias para projetos

futuros.

Se você ainda tem dúvidas sobre programação eu tenho um eBook

Gratuito, chamado O Guia Rápido Para Aprender a Programar

Arduino, que vai ti dar muitas dicas e exemplos legais sobre

programação.

Sobre

Se você ainda não me conhece, eu sou Luan Silver fundador do Guia

Robótica e já ajudamos centenas de pessoas ao redor do mundo a

dominar o Arduino e entrar de cabeça no mundo da Robótica e

Automação. E agora vamos ajudar você!

É como no caso do meu aluno Rafael, eu ensinei a ele conceitos de

programação e em poucos dias ele estava fazendo seus próprios

projetos

Um dos seus primeiros projetos foi uma lixeira automática que além

de abrir e fechar quando alguém se aproxima, ela também aciona um

LED vermelho indicando que a lixeira está cheia.

Outro caso é o do Lucas, dei mentoria para ele e a pouco tempo ele

terminou a construção de uma impressora 3D caseira, e agora está

focando em modelagem 3D.

xx

Alguns dos maiores erros dos iniciantes

Alguns dos problemas que a maioria dos iniciantes passa, é o fato de

não seguirem uma linha lógica de aprendizagem, e SIM, eu também já

passei por isso.

Uma boa lógica de aprendizagem, seria começar com conceitos

teóricos e projetos práticos básicos, para além de aprender a teoria,

ver funcionando ao mesmo tempo e aos poucos ir conhecendo os

sensores, Shields e componentes eletrônicos separadamente, para

somente depois utilizar em conjunto em seus projetos.

Mas o que acontece é que a maioria simplesmente procura projetos

prontos na internet e apenas replicam sem aprender quase nada, isso

quando funciona.

Em muitos casos quando não funcionam não sabem nem resolver,

pois não aprendeu, apenas replicou.

O que estou falando aqui é sobre te mostrar um caminho rápido para

já iniciar na programação de Arduino e alcançar seus objetivos.

Sabe, quando comecei eu pensava que teria que ser um verdadeiro

expert em tecnologia, mas errei feio. Para aprender sobre Arduino,

robótica e automação é muito mais fácil, basta seguir uma lógica de

aprendizagem.

xx

uma plaquinha chamada Arduino que prometia facilitar minha

aprendizagem de robótica e me ajudar a fazer meus próprios projetos.

Então comecei a estudar sua programação, componentes, sensores,

eletrônica, tudo que eu encontrava.

Eu encontrava projetos aleatórios na internet, explicações soltas, e

estava muito difícil seguir em frente, então desisti naquele momento.

Mas uma semanada depois o professor montou com a turma um

projetinho com um sensor LDR e achei incrível, quando ele apagava

as luzes e ficava completamente escuro automaticamente o sensor

detectava essa variação de luminosidade e acendia uma lâmpada.

Então chegando em casa naquela noite volto para minha pesquisa e

não parei mais, até consegui fazer alguns projetinhos baseado nos

que eu achava.

E cheguei em um momento que eu tive que criar algo do absoluto

zero, eu pensei “eu sou capaz né... Já fiz alguns, não deve ser tão

difícil assim”.

Então comecei a programar, eu tentava e tentava e não conseguia,

aparecia sempre algum erro, quando eu ia ver era apenas um “;” que

estava faltando, ou uma letra maiúscula, um jumper que não

funcionava, inúmeros erros que nem sempre eu descobria o que era.

Eu via as pessoas montando drones, plantas de fabricas, robôs, casas

xx

automatizadas, já eu nem conseguia tirar meus projetos do papel.

Mas depois me dei conta que até aquele momentos todos meus

projetos tinham dado certo, porque eu não estava criando apenas

estava replicando o que eu tinha visto, o famoso “CTRL+ C” “CTRL +

v” tanto na programação como como na ligação dos componentes.

Então antes de montar meus projetos eu devia entender tudo que

estava fazendo, para que servia cada comando, linha de código,

elemento, shield, cada pequeno componente eletrônico.

Depois de entender todos esses conceitos, programar e montar

projetos ficaram bem mais fáceis.

Eu descobri que replicar não é aprender, que a linguagem de

programação é menos importante que lógica de programação, que

temos que acostumar a digitar os códigos e não apenas sair copiando

tudo sem entender nada.

Hoje ensino o máximo de pessoas que eu consigo com meu projeto,

Guia Robótica.

Então é isso vamos aos estudos!

xx

O LED é um diodo emissor de luz, tendo assim sua polaridade correta para permitir a passagem de corrente, a perna menor ou o lado que esta com o chanfro é o lado negativo (cátodo) e a maior positiva (Ânodo) como mostra a Figura abaixo.

O código Blink já vem na IDE do arduino como exemplo, mas sempre aconselho digitar os códigos quando você está começando a programar, pois já vai se acostumando com a digitação.

xx

Veja que a alguns exemplos inclusos na IDE do Arduino.

A única diferença é que a programação que vou colocar aqui tem comentários em português para facilitar o entendimento.

xx

Exercícios

  1. Variar o delay em 4 segundos acesso e 2 segundos apagado.
  2. Variar o delay em 500 milissegundos acesso e 500 milissegundos apagado.
  3. Modificar a programação e o diagramada de modo que o LED fique no pino 6 do arduino, e o tempo seja 3 segundos acesso e 2 apagado.

Quando o LED é conectado a outro pino do arduino deve ser usado um resistor de 330Ω.

xx

Botão Acionando LED

Diagrama

Neste tutorial usaremos um botão manual que é uma entrada digital, para acionar o LED, e a condição IF para executar uma ação.

Materiais Necessários

1x Arduino com cabo 1x LED 1x Resistor 10kΩ 1x Botão 1x Protoboard Jumpers

xx

Leitura de uma portal serial

Diagrama

O Tutorial funciona com o mesmo diagrama e componentes do anterior, mas usaremos uma programação diferente para fazer a leitura da porta serial, e mostrar na tela.

Materiais Necessários

1x Arduino com cabo 1x LED 1x Resistor 10kΩ 1x Botão 1x Protoboard Jumpers

xx

Código Fonte

Para visualizar o monitor serial deve clicar no canto superior direito como mostra

a imagem abaixo.

//Leitura de uma porta serial www.guiarobotica.com int pushButton = 7; // o pino 2 tem um botao ligado nele. int ledPin = 13; // entrada do LED no pino 13. void setup() { Serial.begin(9600); // Inicializa a comunicacao serial a 9600 bits por segundo pinMode(pushButton, INPUT); // define o botao como uma entrada. pinMode(ledPin, OUTPUT); //define o LED como uma saída. } void loop() { // faz a leitura do pino de entrada: int buttonState = digitalRead(pushButton); if (buttonState == 1) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } // imprime o estado do botao: Serial.println(buttonState); delay(1); // delay entre leituras (em milissegundos) }

xx

Diagrama

xx

Código Fonte

As entradas analógicas do Arduino têm uma resolução de 10 bits valores de 0 a 1023, ja as saídas analógicas por PWM têm uma resolução de 8 bits valores de 0 a 255. É por isso que é necessária a função 'map', para mapear os valores de modo que mantenham proporcionais.

//Leitura serial de uma Entrada Analógica www.guiarobotica.com

const int analogInPin = A0; // Entrada analogica do potenciometro const int analogOutPin = 6; // Saida PWMonde o LED esta conectado int sensorValue = 0; // leitura do potenciometro int outputValue = 0; // leitura da saida PWM void setup() { // inicializa a comunicacao serial: Serial.begin(9600); } void loop() { sensorValue = analogRead(analogInPin); // faz a leitura da entrada analogica // mapeia o resultado da entrada analogica dentro do intervalo de 0 a 255: outputValue = map(sensorValue, 0, 1023, 0, 255); analogWrite(analogOutPin, outputValue); // imprime o resultado no monitor serial: Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue); delay(2); // Aguarda 2 milissegundos }