Prévia do material em texto
Relatório do Laboratório de Circuitos Digitais
1. IDENTIFICAÇÃO
Relatório N. 07
Título: Arduino
Nome do aluno: Adriele Silva Carvalho
2. RESUMO SOBRE O TEMA DA AULA PRÁTICA
O experimento visa estudar, analisar e demonstrar o uso do Arduino e seus periféricos para criar uma
calculadora. Foram utilizadas ferramentas como simuladores (TinkerCad), linguagem de programação C e
datasheets para o alcance dos resultados esperados.
3. INTRODUÇÃO
O experimento proposto visa desenvolver habilidades básicas necessárias para o uso de circuitos digitais.
Sendo assim foram utilizadas ferramentas tanto teóricas quanto práticas no decorrer da atividade, como
elaboração de códigos-fonte, leitura de datasheet e para demonstração dos experimentos usou-se simuladores
virtuais.
Nessa atividade buscou-se fazer estudo da aplicação do microcontrolador Arduino UNO para a montagem
de uma calculadora com display e um teclado 4x4.
Em conjunto dos CI’s foram utilizados:
a) Protoboard: placa de ensaio que permite a conexão e organização dos componentes;
b) Resistor: para controlar a passagem de corrente;
c) Fios: para fazer as ligações entre os componentes.
4. DESCRIÇÃO DO EXPERIMENTO (PARTE EXPERIMENTAL)
O experimento consiste em criar uma calculadora que realiza as 4 quatro operações aritméticas básicas
(soma, subtração, multiplicação e divisão).
Para isso foi usado o Arduino UNO, um microcontrolador acessível e com funções necessárias para o
experimento ser realizado.
Além disso, houve o uso de um display para exibir o que é digitado no teclado e o resultado da operação. A
seguir imagens que ilustram como funciona a pinagem deste componente:
E também foi utilizado um teclado 4x4 para a inserção dos
números a serem calculados, assim como, as operações e outras funções como apagar e o igual. Segue abaixo a sua
pinagem:
5. RESULTADOS OBTIDOS
Montagem do circuito no TinkerCad com elementos citados no tópico anterior.
A seguir o código utilizado para programar a placa do Arduino em linguagem C.
#include <Keypad.h>
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
float segundo = 0;
float total = 0;
bool primeiro = true;
bool clear = true;
char operacao;
char tecla;
const byte LIN = 4;
const byte COL = 4;
char teclado[LIN][COL] = {
{'1','2','3','+'},
{'4','5','6','-'},
{'7','8','9','*'},
{'C','0','=','/'}
};
byte PinosLIN[LIN] = {7,6,5,4};
byte PinosCOL[COL] = {3,2,1,0};
Keypad teclapad = Keypad( makeKeymap(teclado), PinosLIN, PinosCOL, LIN, COL);
void setup()
{
lcd.begin(16, 2); // start lcd
lcd.setCursor(0, 0);
}
void loop()
{
tecla = teclapad.getKey();
switch(tecla)
{
case '0' ... '9':
lcd.setCursor(0,0);
if (primeiro)
{
if (clear)
{
lcd.clear();
total = 0;
}
clear = false;
total = total * 10 + (tecla - '0');
lcd.print(total);
}
else
{
segundo = segundo * 10 + (tecla - '0');
lcd.setCursor(0,1);
lcd.print(operacao);
lcd.setCursor(1,1);
lcd.print(segundo);
}
break;
case '+':
calcular();
operacao = '+';
break;
case '-':
calcular();
operacao = '-';
break;
case '*':
calcular();
operacao = '*';
break;
case '/':
calcular();
operacao = '/';
break;
case '=':
calcular();
primeiro = true;
clear = true;
break;
case 'C':
total = 0, segundo = 0;
primeiro = true;
lcd.clear();
break;
}
}
void calcular()
{
if (!primeiro)
{
switch(operacao)
{
case '+':
total = total + segundo;
break;
case '-':
total = total - segundo;
break;
case '*':
total = total * segundo;
break;
case '/':
if (segundo != 0)
{
total = total / segundo;
}
break;
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(total);
}
primeiro = false;
segundo = 0;
return;
}
6. CONCLUSÕES
Com esse exercício foi possível uma melhor compreensão acerca de circuitos, tanto do Arduino, de CI’s
integrados como também do uso de componentes eletrônicos em conjunto a fim de atingir um objetivo.
Todo o experimento foi realizado com sucesso após sucessivas pesquisas acerca das propriedades de cada
elemento.