Final - Ebook Do Kit Arduino

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 31

Desenvolvido no curso de mestrado da Universidade UniCarioca

Novas Tecnologias Digitais na Educação

UTILIZAÇÃO DE PLACA DE PROTOTIPAÇÃO ELETRÔNICA PARA O ENSINO


TECNOLÓGICO DE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES.

Autor. Rodrigo Martins.

Rio de Janeiro, RJ
Junho - 2020.
O Produto trata uma Sequência Didática que utiliza Placa de
Prototipação Eletrônica como ferramenta facilitadora no
aprendizado de Arquitetura e Organização de Computadores
Sumário
1 Contextualização: .................................................................................................................5
1.1 Sugestão de aplicação: ............................................................................ 6

2 Etapas de aplicação da SD ....................................................................................................7


3 Componentes do Kit .............................................................................................................8
3.1 Composição total do Kit: ...................................................................... 12

4 Instalação do ambiente: ......................................................................................................14


5 Conceitos Básicos ..............................................................................................................16
5.1 Interpretação do código do Arduino. .................................................... 18

6 Roteiro de estudo para acompanhamento das aulas. ...........................................................21


6.1 Roteiro da atividade 1 ........................................................................... 21

6.2 Roteiro da atividade 2 ........................................................................... 23

6.3 Roteiro da atividade 3 ........................................................................... 26


Apresentação
Diante da necessidade de um grande esforço, conhecimento pré-existente e
potencial de abstração para compreender, em uma aula expositiva, os conceitos
trabalhados pela disciplina Arquitetura de Computadores e levando em consideração que,
nos dias atuais, podemos utilizar diferentes recursos que atuariam como facilitadores para
trazer esta abstração para um modelo mais prático. Como os variados tipos de TDICs
(Tecnologias Digitais da Informação e da Comunicação), foi criado este produto para
ajudar no desenvolvimento e estimulo dos estudantes.
Como ponto principal este modelo utiliza as metodologias ativas de ensino e
aprendizagem, que, cada vez mais, são necessárias e tem sido implantada principalmente
em cursos superiores para fazer deste estudante o protagonista de sua aprendizagem.
Desta forma este aluno tem seus processos permeados de desafios, investigações e
resoluções de problema, de modo a estar mais envolvido, aumentando seu interesse e
melhorando seu desempenho, uma vez que vivencia a experiência.
A SD deve ser ajustada as necessidades específicas da disciplina, considerando o
PC do curso, não sendo a única ferramenta utilizada para o aprendizado, mas sim um
apoio para aguçar o interesse do estudante permitindo sua imersão na atividade.
1 Contextualização:
O projeto Arduino, nascido na Itália em 2005, constitui uma plataforma de
hardware e de software, com o objetivo de possibilitar que pessoas, não especialistas em
programação e/ou em eletrônica, possam desenvolver aplicações de objetos e ambientes
interativos. Para isso, a proposta do projeto visa tanto a criação de um hardware fácil de
manusear e com os recursos necessários para trabalhar com os "mundos" digital e
analógico, quanto um software de desenvolvimento acessível para a programação dos
projetos interativos.
Uma vez programado, o Arduino controla uma gama de componentes eletrônicos
como LEDs, motores e displays, com base nas instruções recebidas através de sensores e
programações.
O Arduino é apresentado como uma placa de microcontrolador. Possui 14 entradas
e saídas digitais, 6 entradas analógicas, uma conexão USB, um conector de alimentação,
e um botão de reset. Com base nesta estrutura é possível desenvolver um paralelo entre
Arquitetura de Computadores e o microcontrolador Arduino.

Figura 1 A figura mostra uma placa Arduino modelo UNO

O projeto Arduino também envolve um ambiente de desenvolvimento integrado


ao hardware (IDE – Integrated Developement Environment) para geração dos programas
(denominados de sketches) que serão enviados para a placa eletrônica. A linguagem de
programação do Arduino pode rodar nas plataformas Windows e Linux facilitando
bastante sua utilização. Portanto, o Arduino é um pequeno computador que você pode
programar para processar entradas e saídas entre o dispositivo e os componentes externos
conectados a ele. É o que chamamos de plataforma computacional embarcada, pois o
sistema de hardware e software atuam em um mesmo dispositivo, ou seja, estão

5
integrados, ou embarcados sendo um sistema que pode interagir com seu ambiente por
meio de hardware e software.
Pode ser utilizado para desenvolver objetos interativos independentes, ou pode ser
conectado a um computador, a uma rede, ou até mesmo à Internet para recuperar e enviar
dados. É um dispositivo muito utilizado em IOT (Internet das Coisas), onde várias
plataformas se comunicam e interagem suas informações. Em outras palavras, ele pode
enviar um conjunto de dados recebidos de alguns sensores para um site.

1.1 Sugestão de aplicação:

Para a aplicação desta SD é recomendado uma carga horária de no mínimo 16


horas sendo as últimas duas direcionadas ao projeto 3.
Em testes os melhores rendimentos foram em encontros seguidos de 4 horas,
considerando o tempo de preparação do ambiente.
São necessários pontos de energia ou réguas para ligação do Arduíno e pelo menos
1 computador para gravação da programação.
O software de gravação pode ser instalado previamente no computador que será
disponibilizado para a atividade, pode ser baixado em:
(https://www.arduino.cc/en/main/software).
Utilize os componentes para exemplificar a teoria, como exemplo mostrando o
processador e suas funções, neste momento mostre o processador do Arduino e explique
as estruturas, suas diferenças e compare as arquiteturas. O mesmo pode ser feito em
barramentos, permitindo inclusive definir os tipos e utilizar a programação para controle.
A ideia do projeto e fazer uma analogia, transformando o ambiente em um local
dinâmico de troca que estimule o desenvolvimento de habilidades e competências.

6
2 Etapas de aplicação da SD

A etapa 1 da SD introduz a tecnologia Arduíno e apresenta conceitos previamente


trabalhados em aula expositiva. É o primeiro contato dos estudantes com o experimento.
Ela se divide em 3 passos que abordam teoria em conjunto com a prática.
1. Identificar a estrutura e documentação do Arduino nessa parte é feito o
mapeamento do dispositivo onde a comparação com a estrutura de um
computador é detalhada apontando também suas características elétricas;
2. Identificar os elementos responsáveis por converter a alimentação AC da tomada
em DC da fonte;
3. Montar o circuito e acionar o LED.

A etapa 2 da SD os conceitos tratados na primeira sequência, agregando o segundo


bloco, que trata da integração de componentes. Esta etapa é formada por 3 passos.
1. Localizar a memória do Arduino e comparar com a do PC;
2. Programar o Arduíno, trabalhando memórias e as capacidades de interação entre
o hardware e o Software da máquina;
3. Identificar o chip de processamento do Arduíno e comparar a de um computador,
tratar barramentos e boas práticas de manuseio e descarte. Deve ser montado o
Projeto Alarme (no apêndice) onde o estudante vai fazer uma atividade com a
protoboard e vivenciar as teorias aplicadas.
A etapa 3 da SD resgata todo o aprendizado tratado anteriormente, inserindo o
terceiro bloco utilizado para tratar os conceitos relacionados as Arquiteturas RISC e
CISC, Multiprocessadores, e Arquiteturas Paralelas. Afim de proporcionar uma
experiência mais próxima da realidade dos estudantes, esta etapa permite a comunicação
com dispositivos celulares utilizando a comunicação BlueTooth, facilitando o
entendimento de diferentes arquiteturas computacionais.
O desenvolvimento desta etapa se realiza em dois passos:
1. Integrar o Smartphone com o Arduino e tratar as diferentes estruturas e sistemas
envolvidos;
2. Resgatar todos os conhecimentos através de desafios durante a montagem do
laboratório 3.

7
3 Componentes do Kit

Abaixo a descrição dos componentes que compõem o kit para a SD.

RESISTOR

Permite dimensionamento das cargas elétricas


no circuito.

Mais Detalhes: http://pt.wikipedia.org/wiki/Resistor

POTENCIÔMETRO

Pode ser utilizado em experimentos na


comparação com resistores (opcional).
O que isto faz: Varia a resistência dos
terminais conforme a haste superior é girada.
Número de pinos: 3 pinos (a resistência varia
entre um dos pinos mais da extremidade para
com o do centro)

Mais detalhes: http://pt.wikipedia.org/wiki/Potenci%C3%B4metro

BUZZER

O que isto faz: Quando uma corrente elétrica


passa por ele, ele emite um som.

Número de pinos: 2 pinos (este componente


tem polaridade, portanto fique atento na hora
de ligá-lo).

Mais Detalhes: http://pt.wikipedia.org/wiki/Sensor_piezoel%C3%A9trico

8
LED

O que isto faz: Emite uma luz quando uma


pequena corrente o excita
(apenas em uma direção, do pino mais longo
para o pino mais curto)

Número de pinos: 2 pinos (um mais longo e


outro mais curto)

Mais detalhes: http://pt.wikipedia.org/wiki/Diodo_emissor_de_luz

SENSOR DE TEMPERATURA LM35

O que isto faz: É circuito integrado que mede


a temperatura ambiente em ºC (graus
Celsius).
Número de pinos: 3 pinos do mesmo
comprimento (cada pino tem uma função,
portanto fique atento ao ligá-lo)

Mais Detalhes: http://es.wikipedia.org/wiki/LM35

SENSOR DE LUMINOSIDADE LDR

O que isto faz: É uma resistência que varia


conforme a luminosidade se altera sobre ele.

Número de pinos: 2 pinos de mesmo


comprimento

Mais Detalhes: http://pt.wikipedia.org/wiki/Ldr

9
LED RGB

O que isto faz: Pense em três LEDs de alto


brilho: um vermelho, um verde e um azul.
Agora, junte todos eles em um só. Pronto, isso
é um LED RGB. Número de pinos: 4 pinos,
onde o maior deles é comum a todas as cores.

Mais Detalhes: http://pt.wikipedia.org/wiki/RGB

PROTOBOARD
Trata-se de uma placa de plástico, cheia de
pequenos furos com ligações internas, onde
você irá fazer as ligações elétricas. Os furos
nas extremidades superior e inferior são
ligados entre si na horizontal, enquanto que as
barras do meio são ligadas na vertical. Para
ilustrar isto, veja abaixo como são as ligações
internas da protoboard:

Cada fio azul acima representa uma ligação


interna. Para deixar este componente
totalmente entendido, veja o exemplo a baixo:
O led vermelho tem a extremidade direita
ligada a um resistor. Este resistor está ligado a
outro resistor por meio de uma das ligações
internas superiores da protoboard. Este último
resistor, por sua vez, está ligado à extremidade
esquerda do led, utilizando uma das ligações
internas inferiores da protoboard.

Número de pinos: na protoboard que


acompanha o kit existem 840 furos, porém
existem protoboards com menos e com mais
furos.
Mais Detalhes: http://pt.wikipedia.org/wiki/Protoboard

10
CABINHO

Utilizado para fazer as pontes de ligação.

O que isto faz: Pense em três LEDs de alto


brilho: um vermelho, um verde e um azul.
Agora, junte todos eles em um só. Pronto, isso
é um LED RGB. Número de pinos: 4 pinos,
onde o maior deles é comum a todas as cores.

Mais Detalhes: http://pt.wikipedia.org/wiki/RGB

Módulo HC-05

O módulo bluetooth HC-05 utiliza padrão


Bluetooth, que por sua vez, ainda é muito
utilizado em projetos Arduino. Com ele você
abstrai toda a parte da comunicação sem fio,
bastando enviar os dados via comunicação
serial para eles.

Mais Detalhes: https://pt.wikipedia.org/wiki/Bluetooth

Carregador USB 5V

Permite alimentar o circuito eletrônico.

Mais Detalhes: https://pt.wikipedia.org/wiki/USB

11
Placa Arduino Uno

Componente principal para desenvolvimento


dos laboratórios.

Mais Detalhes: https://pt.wikipedia.org/wiki/Arduino

Apresentação do Kit:

Os componentes são armazenados em


embalagens plásticas, individuais contendo
todos os componentes necessários para
elaboração dos experimentos

3.1 Composição total do Kit:

Componente Quantidade
Arduino Uno, 1
Módulo HC-05, 1
Led vermelho, 4
Led amarelo, 4
Led verde, 4

12
Resistores de 330 Ohms, ¼ W, 5%, 3
Resistor de 1K Ohm, ¼ W, 5%, 1
Resistor de 1K5 Ohms, ¼ W, 5%, 1
Fonte de alimentação de 5 Volts cc / 1 A, 1
Protoboard de 830 furos 1
Cabos jumpers. 1 Kit (100)
Resistores de 10K Ohm, ¼ W, 5% 2
Led de Alto Brilho 1
Buzzer 5V / 07 1
Sensor LM35 1
LDR. 1
Cabo USB 1
Potenciômetro 10K Ohm 1
Caixinha Plástica para guardar Kit 1

13
4 Instalação do ambiente:

Para esta etapa é necessário pelo menos um computador e espaços para


montagem dos kits. Serão necessários pontos de alimentação para que o projeto
desenvolvido possa ser energizado.
A preparação da prática é simples, o dispositivo Arduino é totalmente Plug &
Play. Uma vez rodando o ambiente de desenvolvimento, insira o cabo USB no Arduino
e depois no computador. Caso o dispositivo não seja reconhecido automaticamente
verifique se a porta de comunicação está habilitada.

Instale o aplicativo de controle IDE do Arduino disponível em:


https://www.arduino.cc/en/main/software , onde você também encontrará manuais e
tutorias sobre a utilização do dispositivo.

Para selecionar a porta de comunicação onde o Arduino está localizado, no


ambiente de desenvolvimento clique em TOOLS > SERIAL PORT> COM X no
Windows ou TOOLS > SERIAL PORT > /dev/tty.usbmodem X no Mac (onde X é o
número da porta que o Arduino foi instalado automaticamente). A imagem abaixo mostra
parte do procedimento:

A figura exibe a seleção da porta controladora do Arduino.

14
Na parte de seleção de placas na IDE, você deverá selecionar "Arduino UNO
R3", já que ela utiliza o mesmo bootloader do Arduino UNO R3.
Para salvar códigos em sua placa Arduino, você precisa selecionar qual
placa está usando no ambiente de desenvolvimento Arduino. Para isto, basta ir ao
menu TOOLS e depois BOARD, conforme a figura abaixo:

A figura permite selecionar o modelo do Arduino

15
5 Conceitos Básicos
Para entender como funciona o Arduino, vamos começar com o experimento mais
simples e básico, o exemplo BLINK que está pronto no software de demonstração e
compilação do Arduino. Para acessá-lo clique em FILE > EXAMPLES > 1.BASICS >
BLINK como mostrado na figura abaixo:

A figura permite escolher exemplos para Compilação.

O código do programa irá aparecer na tela do ambiente de desenvolvimento. É


interessante analisar o programa para tentar compreendê-lo.
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
The circuit:
* LED connected from digital pin 13 to ground.
* Note: On most Arduino boards, there is already an LED on the board connected to pin 13, so
you don't need any extra components for this example. Created 1 June 2005 By David Cuartielles
http://arduino.cc/en/Tutorial/Blink
based on an orginal by H. Barragan for the Wiring i/o board
*/

int ledPin = 13; // LED connected to digital pin 13 // The setup()


method runs once, when the sketch starts void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT); }
// the loop() method runs over and over again,
// as long as the Arduino has power void
loop()
{
digitalWrite(ledPin, HIGH); // set the LED on delay(1000); //
wait for a second digitalWrite(ledPin, LOW); // set the LED off delay(1000);
// wait for a second
}

16
É um código de linguagem C.
Para fazer um comentário quer irá se desenvolver por mais de 1 linha, deve ser
utilizado os caracteres:

/* para começar um comentário de mais de 1 linha


*/ para finalizar os comentários que foram feitos anteriormente

Para fazer um comentário em 1 linha apenas, podemos utilizar:


// para fazer um comentário de apenas 1 linha

Ao iniciar a programação, uma ordem deve ser respeitada:

1. Estrutura de Inclusão de Bibliotecas

2. Estrutura de Declaração de Variáveis

3. Estrutura Setup

4. Estrutura Loop

5. Demais estruturas de funções

O ambiente de desenvolvimento Arduino já vem com algumas bibliotecas


instaladas. Para vê-las, simule que você quer importar uma biblioteca (apenas simule,
não precisa clicar em nenhuma por enquanto). Para tanto, clique em SKETCH >
IMPORT LIBRARY... e veja quantas bibliotecas prontas para seu uso já existem:

17
A figura mostra como importar bibliotecas.

5.1 Interpretação do código do Arduino.

int ledPin = 13; // LED connected to digital pin 13


A linha anterior quer dizer o seguinte:

int : variável do tipo inteira


ledPin = 13; : nome da variável.
Neste caso, a variável PINO DO LED vale 13.
// LED connected to digital pin 13 : comentário dizendo que existe um LED
conectado ao pino digital de número 13.

A estrutura:
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
}
void setup() { : Declaração que irá começar o Setup do programa. Sempre
aberto com uma “{“ e fechada, no fim da declaração, por uma “}”.

18
// initialize the digital pin as an output: : Comentário dizendo que o pino
digital será inicializado como uma saída pinMode(ledPin, OUTPUT); : Escolha do
modo do pino, se é entrada (INPUT) ou saída (OUTPUT).

Logo, será configurado o ledPin (que tinha o valor 13, por causa do pino digital
13) como saída.

Estrutura de Loop:

void loop()
{
digitalWrite(ledPin, HIGH); // set the LED on delay(1000); // wait for
a second digitalWrite(ledPin, LOW); // set the LED off delay(1000); // wait
for a second
}

void loop() : Inicia o loop do programa, o programa principal que ficará


rodando por tempo indeterminado. Também é aberto com uma “{“ e fechado com uma
“}”.

digitalWrite(ledPin, HIGH); // set the LED on : Escrita digital. Por tratar-se


de um pino digital, terá nível lógico 1 ou terá nível lógico 0. O comando então liga o
led.

delay(1000); // wait for a second : Delay é mais uma função pronta. O número
que for inserido entre os parêntesis será o valor, em milissegundos, para seguir para a
próxima instrução. No caso, um delay de 1000 milissegundos espera de 1 segundo para
executar a próxima instrução.

digitalWrite(ledPin, LOW); // set the LED off delay(1000); // wait for a


second : Estes dois comandos são análogos, com a única diferença que a escrita
digital escreverá um 0 no pino do led, ou seja, um nível lógico baixo: o led apagará e
o Arduino espera 1 segundo para fazer a próxima instrução que, no caso, volta a ser
o digitalWrite(ledPin, HIGH); .

19
Para compilar e fazer o upload para placa Arduino, deve-se clicar no botão Verify

do ambiente de desenvolvimento, para ver se não existe nenhum erro de código.

Se na barra inferior aparecer a mensagem: Done Compiling, o programa está

pronto para ser enviado ao Arduino. Clique no botão Upload . Espere então o upload
ser completado e pronto. O led da placa piscará em intervalos de 1 segundo.

Está pronto a codificação no Arduino (Firmware instalado).

20
6 Roteiro de estudo para acompanhamento das aulas.

6.1 Roteiro da atividade 1

Esta atividade é a primeira atividade, e tem como objetivo o conhecimento da


estrutura. Ela deve ser utilizada para suporte ao entendimento de:
• Especificar e testar infraestrutura elétrica para suporte a hardware;
• Converter e aplicar bases da Matemática Computacional e Lógica Digital;
• Portas lógicas;
• Estruturar o hardware necessário para o funcionamento de um computador.

a) Fazer o Led piscar utilizando programação;


b) Conexões e barramento USB;
c) Identificação do Hardware Arduino;
d) Instalação do Driver IDE;
e) Programação do Scratch Arduino;
f) Compilação da programação.

Componentes:

1 Arduino Uno,
1 Led colorido
1 Resistor de 10 K
Fios

Neste experimento, o estudante vai ligar/desligar um LED.


Fazer a conexão do LED (fornecido) no Pino 13 (LID maior) e a outra perna no
terra (LID menor).

21
Placa Arduino

Passos:

Conectar o LED através de um resistor (tipicamente 200 / 470 ohms) no pino 13


do Arduíno, a diferença no valor do resistor implica na carga que será aplicada ao Led,
em consequência seu brilho será mais forte ou fraco.
A Figura 23 mostra a montagem da ProtoBoard com o Led e o resistor conectados,
está sendo utilizado um resistor de 1K ohms.

Montagem da Protoboard com um Led e um resistor para o experimento inicial.

Para essa atividade, abrir o IDE (Integrated Development Environment) do


Arduino e no campo de programação desenvolver o código descrito na atividade.:

22
void setup()
{
// Configura o pino 13 como saída para alimentação do Led;
pinMode(13, OUTPUT);
}
void loop()
{
// Configura o pino 13 como HIGH
digitalWrite(13, HIGH);

// Espera 1000 ms (1 segundo)


delay(1000);
// Configura o pino 13 como LOW
digitalWrite(13, LOW);
// Espera 1000 ms (1 segundo)
delay(1000);
}

6.2 Roteiro da atividade 2

• Definir uma estrutura computacional (Processador, Memória, Registrador e


Barramento);
• Definir boas práticas no manuseio de componentes Computacionais;

a) Medir a temperatura utilizando o LM35 e respondendo com o acendimento de


Leds;
b) Medir a luminosidade com o LDR respondendo com o acendimento de Led;
c) Configurar uma faixa de valor para disparo do buzzer;
d) Em luminosidade zero ativa o Led de alto brilho.

Componentes:

23
1 Arduino Uno;
2 (dois) Leds Verdes;
2 (dois) Leds Amarelos;
2 (dois) Leds Vermelhos;
1 (um) sensor de luminosidade;
LDR (Light Dependent Resistor);
1 (um) sensor de temperatura LM35;
1 (um) Led (Light Emitting Diode) Alto Brilho;
1 (um) buzzer.

Este projeto trata dois indicadores: um de luminosidade e outro de temperatura,


através das cores dos leds.
Se a temperatura estiver alta deverá acender os três Leds. Se os três Leds
correspondentes à luminosidade estiverem apagados indica uma falta total de
luminosidade no ambiente, então um alarme deverá soar e um led de alto brilho irá
acender.

Para este sistema, o circuito montado deve parecer com o seguinte:

Abrir o IDE (Integrated Development Environment) do Arduino e no campo de


programação desenvolver o código descrito:

24
const int LDR = 0;
const int LM35= 1;
const int Buzzer = 2;
const int led[] = { 5,6,7,8,9,10,11};
int ValorLDR = 0;
int ADClido = 0;
float temperatura = 0;
int pwm = 0;

void setup(){
for(int x = 0; x < 7 ; x++){
pinMode(led[x], OUTPUT);
}
pinMode(Buzzer,OUTPUT);
}
void loop(){
ValorLDR =
analogRead(LDR); ADClido =
analogRead(LM35); temperatura =
ADClido * 0.48828125; if
(temperatura > 20.00){
digitalWrite(led[0], HIGH);

}
else{
digitalWrite(led[0], LOW);

}
if (temperatura > 22.00){
digitalWrite(led[1], HIGH);

}
else{
digitalWrite(led[1], LOW);

}
if (temperatura > 24.00){
digitalWrite(led[2], HIGH);

}
else{
digitalWrite(led[2], LOW);

}
if (ValorLDR > 500){
digitalWrite(led[5], HIGH);

}
else{
digitalWrite(led[5], LOW);
}

25
if (ValorLDR > 400){
digitalWrite(led[4], HIGH);

}
else{
digitalWrite(led[4], LOW);
}
if (ValorLDR > 350){
digitalWrite(led[3], HIGH);
digitalWrite(led[6], LOW);
digitalWrite(Buzzer, LOW);

}
else{
digitalWrite(led[3], LOW);
digitalWrite(led[6], HIGH); digitalWrite(Buzzer,
HIGH);
}
}

6.3 Roteiro da atividade 3

• Arquitetura de Processadores;
• Microcontroladores e Barramentos.

a) Habilita o dispositivo Bluetooth para comunicação com outro dispositivo via


plataforma de controle;
b) Liga e desliga os Leds a partir do controle do módulo BlueTooth.

Componentes:

1 Arduino Uno;
1 módulo HC-05;
1 Led vermelho;
1 Led amarelo;
1 Led verde;
3 resistores de 330 Ohms, ¼ W, 5%;
1 resistor de 1K Ohm, ¼ W, 5%;
1 resistor de 1K5 Ohms, ¼ W, 5%;
1 fonte de alimentação de 9 Volts cc / 1 A;

26
1 protoboard;
Cabos jumpers.
Integrando dispositivos digitais e tecnologias atuais.
O propósito desse projeto é ligar e desligar esses Led s através de comandos
executados no smartphone (celular). O módulo HC-05 será utilizado para fazer a conexão
via Bluetooth do smartphone com o Arduino.
É fato que a comunicação do celular com o Arduino desafia o estudante a entender
como funciona todo esse mecanismo, criando um ambiente de praticidade e curiosidade,
fazendo com que temas interconexão de diferentes Arquiteturas e Barramentos de
comunicação de dados e controle sejam praticados de forma lúdica.

Estrutura de Ligação.

HC-05: Vcc no Vcc do Arduino,


GND no GND do Arduino,
TX do HC-05 no RX do Arduino e RX do HC-05 no divisor resistivo e deste para
o TX do Arduino.
Led verde: O anodo do Led verde é ligado ao pino digital 2 do Arduino.
Led amarelo: O anodo do Led amarelo é ligado ao pino digital 3 do Arduino.
Led vermelho: O anodo do Led vermelho é ligado ao pino digital 4 do Arduino.

27
A figura mostra a utilização de dispositivo para integração do Arduino ao
Smartphone, Fonte: O Autor.

Para carregar o sketch monte cuidadosamente o seu projeto, deixando


DESLIGADO a alimentação do módulo HC-05. Com isso, o módulo HC-05 fica inativo.
Afinal de contas, a comunicação serial do computador PC com a Arduino e a
comunicação serial do Arduino com o modulo HC-05 usa a mesma interface serial, nos
pinos 0 e 1 do Arduino. Nessa etapa a fonte de alimentação externa deve estar
desconectada do Arduino.
Uma vez carregado o sketch desligue o cabo USB, ligue a alimentação do módulo
HC-05 e a fonte de alimentação externa. O circuito deve operar com uma fonte de
alimentação externa como indicado na Figura.
Será necessário carregar um aplicativo no smartphone para fazer a conexão deste
com o Arduino através do módulo HC-05. O Bluetooth SSP é o aplicativo que vamos usar
nesse projeto por ser gratuito e facilmente localizado no Google Play.
Depois de baixar o aplicativo no seu smartphone e com o projeto ligado na fonte
externa, abra a tela do seu smartphone na opção de ativação do Bluetooth. Recomendo
seguir as instruções sobre pareamento que estão descritas no artigo “Umidade,
Temperatura e Presença no seu Smartphone”, previamente mencionado. Passada essa
etapa, entre no aplicativo Bluetooth SPP e selecione a opção com símbolo do Bluetooth

28
(no canto direito superior da tela do smartphone) para fazer a conexão do HC-05 (já
pareado) com o smartphone.
Como pode ser visto na tela do smartphone, você poderá selecionar 3 modos de
operação:
Modo Terminal, Modo Control e Modo On-Off.
Modo Terminal – os dados presentes na interface serial do Arduino serão
mostrados na tela do smartphone.
Modo Control – a tela mostrada abaixo contém botões de comando para os quais
podem ser atribuídos valores. Esses valores são caracteres!

Para atribuir um valor para um botão de comando basta selecionar “Configuração


de Controle”, ou como está escrito em espanhol, “Configuracion del Control”.
Existem valores default (previamente carregados) para cada botão de controle e
para mudar o valor default de um determinado botão basta selecionar este botão e digitar
o caracter desejado.
O sketch carregado no Arduino deverá interrogar se o caractere que corresponde
a um determinado botão foi lido na interface serial, via Bluetooth, e realizar a tomada de
decisão. Isso será visto em detalhe nos comentários sobre o código do presente projeto.
Modo On-Off – a tela mostrada na figura 3 contém botões de comando para os
quais podem ser atribuídos valores. Esses valores são caracteres! O sketch inicia
estabelecendo os pinos do Arduino que estão ligados aos Leds, através de … int ledVerde
= 2; int ledAmarelo = 3; int ledVermelho = 4;
… e a declaração que a variável de nome caracter é do tipo char, ou seja, é do tipo
caracter, com a instrução char caracter.

29
No setup() a comunicação serial é iniciada com a instrução Serial.begin(9600)
e, em seguinda, os pinos do Arduino ligados aos Leds são definidos como saídas, através
de … pinMode(ledVerde,OUTPUT) ; pinMode(ledAmarelo,OUTPUT) ;
pinMode(ledVermelho,OUTPUT) ;

No loop() o sketch interroga se a porta serial está disponível através de


if(Serial.available()). Se sim, a variável caracter é igual a leitura na porta serial, através
de caracter = Serial.read(). A próxima instrução imprime na porta serial a mensagem
“Recebi os dados;” –
Serial.print(“Recebi os dados;”) – e o valor do caracter recebido –
Serial.println(caracter).
Portanto, toda vez que um caractere é digitado no smartphone, este caracter será
lido no Arduino, desde que o dispositivo Bluetooth HC-05 esteja pareado e conectado.
O sketch então prossegue interrogando que caractere foi lido. Se o caractere lido
foi igual a ‘A’ – if(caracter == ‘A’) – então escreva nível lógico alto no pino do Led verde
– digitalWrite(ledVerde,HIGH). O mesmo procedimento foi feito para o Led amarelo e o
Led vermelho.
Finalmente, o sketch interroga se o caractere lido é igual a ‘D’, através de
if(caracter == ‘D’). Se isso é verdade, então todos os leds são apagados, através de …
digitalWrite(ledVerde,LOW); digitalWrite(ledAmarelo,LOW);
digitalWrite(ledVermelho,LOW);
As ações programadas para cada carácter relacionado a um botão de comando são
as seguintes: A para ligar o Led verde, B para ligar o Led amarelo, C para ligar o Led
vermelho e D para desligar todos os Leds.

Abrir o IDE (Integrated Development Environment) do Arduino e no campo de


programação desenvolver o código descrito na atividade.:

// Acende e apaga Leds com bluetooth do smartphone


// Usa modulo HC-05 ligado nos pinos ...
// ... 0 (RX) e 1 (TX) do Arduino
// Carregue o sketch no Arduino com ... // ... a alimentação +5 V do HC-05
desligada // Com o sketch carregado no Arduino ...
// use uma fonte de alimentação externa
// Leds ligados aos pinos digitais 2, 3 e 4 do Arduino int ledVerde = 2; int
ledAmarelo = 3; int ledVermelho = 4;

30
//Declara variável que armazenará letras/números
// para acionamento do Led char caracter;
void setup() {
// Velocidade da porta serial
Serial.begin(9600);
// Configuração como pino de saida pinMode(ledVerde,OUTPUT) ;
pinMode(ledAmarelo,OUTPUT) ; pinMode(ledVermelho,OUTPUT) ;
}
void loop() {
// Pergunta se porta serial esta disponível
// Como o modulo HC-05 esta ligado na porta serial, ... // eh o mesmo que
perguntar se o bluetooth está disponível
if(Serial.available()) caracter = Serial.read();
Serial.print("Recebi os dados;");
Serial.println(caracter);

// Liga e desliga o Led quando tecla ... // ... eh pressionado no smartphone


if(caracter == 'A')
{
digitalWrite(ledVerde,HIGH);
}
if(caracter == 'B')
{
digitalWrite(ledAmarelo,HIGH);
}

if(caracter == 'C')
{
digitalWrite(ledVermelho,HIGH);
}
if(caracter == 'D')
{
digitalWrite(ledVerde,LOW); digitalWrite(ledAmarelo,LOW);
digitalWrite(ledVermelho,LOW);
}
{

31

Você também pode gostar