INSTITUTO POLITÉCNICO PRIVADO CARMUNENSINO SECUNDÁRIO TÉ
Conceitos Básicos Sobre Arduinos
ENGº.Dénio Mulumbila 1
2022/2023
CAPITULO 1 e 2 ARQUITETURA DE COMPUTADORES E
PROGRAMAÇÃO EM LINGUAGEM MÁQUINA
CAPITULO 1 Arquitetura de Computadores
1.1 Introdução à terminologia básica
1.2 Apresentação da arquitetura e Tipos de Arduino
1.2.1 Hardware de Arduino
[Link] Mapa das Entradas e Saída do
[Link] As portas de E e S do arduino e suas funções.
[Link] Os Pinos digitais
1.3 Os pinos analógicos
1.3.1 A porta serial do Arduino
1.3.2 os pinos de alimentação
1.3.4. Acessórios do Arduino
[Link] Shields modulos e sensores
Capitulo 2- Programação em Linguagem Máquina (Assemby)
2.1 Introdução à linguagem máquina
2.2 Tipos de endereçamentos e instruções associadas
2.2.1 Endereçamento imediato
ENGº.Dénio Mulumbila
Arduino 1: Introdução
Arduino é o nome de um projeto que consiste na especificação de
uma linguagem de programação e de um circuito baseados em
um microcontrolador, como uma plataforma eletrônica para facilitar a construção de
dispositivos interativos que detectam e controlam objetos no mundo físico.
É um projeto de fonte aberta: a especificação do hardware e software são
livres, permitindo que qualquer um fabrique e venda placas Arduino sem pagar royalties
a ninguém. A plataforma original foi criada em Ivrea, na Itália, por estudantes italianos e
colombianos, com a intenção de facilitar o uso da eletrônica por artistas e designers.
Figura 1.1: Arduino UNO
Fonte: [Link]
1 - Conector USB para o cabo tipo AB
2 - Botão de reset
3 - Pinos de entrada e saída digital e PWM
4 - LED verde de placa ligada
5 - LED laranja conectado ao pin13
6 - ATmega encarregado da comunicação com o computador
ENGº.Dénio Mulumbila
7 - LED TX (transmissor) e RX (receptor) da comunicação serial
8 - Porta ICSP para programação serial
9 - Microcontrolador ATmega 328, cérebro do Arduino
10 - Cristal de quartzo 16Mhz
11 - Regulador de voltagem
12 - Conector fêmea 2,1mm com centro positivo
13 - Pinos de voltagem e terra
14 - Entradas analógicas
1.1 Projetos Artísticos Com Arduino
Arduino é ideal para projetos artísticos, pois facilita muito o projeto e construção
de circuitos eletrônicos, eliminando grande parte da sua complexidade. Muitos projetos
que normalmente requerem o cálculo de circuitos elaborados com resistores,
capacitores e transistores para usar um sensor, podem ser construídos usando apenas
este sensor e um Arduino. É necessário, no entanto, programar o comportamento
desejado em uma linguagem de computador.
Arduinos são usados em inúmeros projetos, dos mais simples aos mais
complexos. Luzes que piscam ao ritmo da música, alarmes que disparam quando
percebem movimento, robôs que interagem com o ambiente e controlam máquinas
pela Internet, roupas, óculos e bolsas multimídia, instalações visuais, sensoriais,
cinéticas e sonoras, sistemas de automação residencial, sistemas de irrigação,
sistemas de realidade virtual, próteses controladas por voz, jogos, drones,
controladores MIDI, impressoras 3D são alguns exemplos de projetos já criados com
Arduino.
ENGº.Dénio Mulumbila
Figura 1.2: Projetos Artísticos Com Arduino
Fonte: [Link]
1.2 Arquitetura do Arduino
O circuito do Arduino é composto de um microcontrolador programável montado
em uma placa, onde é configurado para operar e oferecer acesso seguro aos seus
pinos de entrada e saída. Um microcontrolador é como um mini-computador.
Ele tem memória, uma unidade central de processamento
(CPU), entradas e saídas. Os programas gravados na memória de um
microcontrolador controlam os sinais (correntes e tensões) enviadas e recebidas em
seus pinos de entrada e saída, permitindo receber sinais de sensores externos e
controlar dispositivos.
As entradas do Arduino recebem dados, que podem ser pulsos, tensões e
outros sinais elétricos que ele interpreta como dados digitais (dois estados lógicos:
ligado/ALTO ou desligado/BAIXO) ou analógicos (valores que variam). Os geradores
desses sinais podem ser chaves, potenciômetros, sensores de luz, som e temperatura,
outros circuitos, dispositivos conectados a redes, etc.
ENGº.Dénio Mulumbila
As saídas também produzem pulsos, tensões e sinais analógicos ou digitais,
que podem ser usadas para diversas tarefas, como acender um LED, controlar um
motor, ligar ou desligar um circuito, controlar um dispositivo externo, enviar um email.
O microcontrolador processa os dados de entrada para gerar os dados de
saída. Todo o processamento é feito via software, ou seja, através de uma linguagem
de programação.
Figura 1.3: Arquitetura do Arduino
Fonte: [Link]
Um programa usa instruções para ler o estado (nível de tensão, nível lógico
alto ou baixo) em pinos de entrada, e produzir saídas (tensão, nível lógico alto ou
baixo) nos pinos de saída, que poderão ligar, desligar ou controlar componentes e
dispositivos. O programa é um arquivo de texto digitado em um computador, em
seguida traduzido para linguagem de máquina e depois transferido para o
microcontrolador (através de um circuito de comunicação que controla o acesso a pinos
de comunicação serial), onde será gravado na memória do chip.
ENGº.Dénio Mulumbila
Figura 1.4: Arquitetura de funcionamento do Arduino
Fonte: [Link]
Uma vez gravado o programa, o microcontrolador pode ser desconectado do
computador e usado em outro circuito para usar seus pinos de entrada/saída, ser
alimentado por baterias, e funcionar de forma independente.
Figura 1.5: Arquitetura de alimentação do Arduino
Fonte: [Link]
ENGº.Dénio Mulumbila
DEFINIÇÃO MICROCONTROLADOR
Um microcontrolador é um CI que incorpora várias funcionalidades. Alguns
vezes os microcontroladores são chamados de “computador de um único chip”. São
utilizados em diversas aplicações de sistemas embarcados, tais como: carros,
eletrodomésticos, aviões, automação residencial, etc.
Figura 38 – Microcontrolador ATMega328
Fonte: ([Link]/~erus/arquivos/erus_minicurso [Link]).
Como descrito por Silveira (2011), o chip ATMega8 possui 28 pinos de
conexões elétrica, 14 de cada lado. Através desses pinos que podemos acessar as
funções do microcontrolador. No Arduino, os 28 pinos deste micro controlador são
divididos da seguinte maneira:
14 pinos digitais de entrada ou saída (programáveis)
6 pinos de entrada analógica ou entrada/saída digital (programáveis)
5 pinos de alimentação (gnd, 5V, ref analógica)
1 pino de reset
2 pinos para conectar o cristal oscilador
Os pinos digitais (14) e os analógicos (6) são utilizados pelo usuário por meio da
programação dos mesmos
Estes pinos possuem mais de uma função, podendo ser de entrada ou de saída Suas
principais características são:
2 KB de memória RAM;
32 KB de memória FLASH (dos quais 30KB podem ser usados pelo
programador);
ENGº.Dénio Mulumbila
32 registradores internos de uso geral; 2 interrupções externas;
2 Timers de 8 bits;
1 Timer de 16 bits;
14 Entradas/Saídas digitais, 6 permitem operar com PWM;
6 Entradas/Saídas analógicas( que podem ser usadas como digitais)
Frequência de Clock de 16 MHz.
O microcontrolador usado pelo Arduino é um circuito integrado pertencente
à família AVR. Microcontroladores AVR são populares em drones e impressoras 3D.
Existem vários diferentes tipos, com diferentes capacidades de processamento e
memória. Nos Arduinos, os mais populares são os ATMega e ATTiny. Eles têm
diferentes formatos e tamanhos. A ilustração abaixo contém três circuitos integrados
AVR usados em Arduinos (ATMega328 SMD, ATMega168, ATTiny85):
Figura 1.6: circuitos integrados AVR
Fonte: [Link]
Um circuito mínimo do Arduino é simples e pode ser montado com um ATMega
e meio-protoboard. Basicamente é um circuito que serve para alimentar o circuito
integrado (pinos 7 e 8) e gerar os pulsos de relógio que o microprocessador precisa
para operar. O ATMega328 do esquema abaixo usa um oscilador de cristal de quartzo
nos pinos 9 e 10 para gerar 16 milhões de pulsos por segundo (16 mega Hertz).
Este microcontrolador possui 14 pinos digitais (0 a 13) e seis analógicos (A0 a
A6) que podem ser usados tanto como entrada ou saída (a finalidade é determinada via
software).
ENGº.Dénio Mulumbila
Figura 1.7: Circuito regulador com L7805
Fonte: [Link]
O ATMega precisa ser alimentado por 5V. O circuito acima usa um regulador de
tensão L7805 que permite alimentar o circuito com 7 a 35V, garantindo que apenas 5V
seja enviado ao ATMega. O desenho abaixo ilustra um Arduino montado em
protoboard. É igual ao esquema acima, mas acrescenta um LED entre 5V e GND que
acende quando o Arduino estiver sendo alimentado.
Figura 1.7: Circuito regulador com L7805
Fonte: [Link]
ENGº.Dénio Mulumbila
O circuito acima é apenas uma plataforma básica para operar o Arduino.
Ele não faz nada. Para isto é preciso que tenha na memória um programa contendo
instruções dizendo o que deve fazer, e sejam conectados sensores e/ou dispositivos a
serem controlados aos seus pinos de entrada e saída.
A transferência do programa para a memória do ATMega é feita através dos
pinos RX0 (entrada) e TX1 (saída). Para realizar essa transferência a partir de um
computador é preciso conectar esses (e alguns outros) pinos a um circuito adaptador
USB-Serial.
Este circuito pode ser comprado separadamente como uma pequena placa, e às
vezes já vem embutido em alguns cabos adaptadores. O diagrama abaixo mostra um
circuito de Arduino mínimo conectado a uma pequena placa adaptadora USB-Serial.
Através da placa ele poderá ser conectado a um computador, que também fornecerá a
alimentação de 5V):
Construir um Arduino desta forma é bom como exercício didático para entender
como funciona, mas normalmente usamos placas prontas, que já contém um
adaptador USB embutido e regulação de tensão (com saídas fixas de 3,3V e 5V),
permitindo alimentar o Arduino com tensões variáveis (de 1,8 até 20V, dependendo do
modelo). Essas placas vêm em vários tamanhos, são mais práticas, fáceis de usar, e
às vezes até mais baratas que montar um circuito Arduino como mostrado acima.
ENGº.Dénio Mulumbila
Tipos de Arduino
Existem dezenas de diferentes tipos de placas que podem ser chamadas de
“Arduino”. Todas, sejam as originais italianas ou clones, são baseadas nas famílias de
chips AVR ATMega/ATTiny ou similar, e rodam programas escritos para a plataforma
Arduino.
O Arduino Uno é um dos mais populares, e ideal para fazer protótipos,
experimentar e programar. O Arduino Mega possui mais pinos, maior capacidade de
processamento e memória e é indicado para projetos maiores (ex: impressoras 3D).
Existem várias placas minúsculas como o Arduino Pro Mini, o DigiSpark
ATTiny, ou o Arduino Nano (incluído no kit). Algumas não tem entrada USB (para
economizar espaço e energia) e precisam de um adaptador USB-Serial para que sejam
programadas.
O Arduino LilyPad é a principal placa usada em eletrônica para vestir
(wearables). Nessa linha existem várias placas, a maioria em formato circular
com pinos em forma de ilhas que podem ser amarradas com linha de costura
condutiva, e costuradas em tecido. Exemplos incluem Arduino
Gemma, AdaFruit Flora, Digispark LilyTiny.
ENGº.Dénio Mulumbila
ANEXOS
ENGº.Dénio Mulumbila
REFERÊNCIAS
ENGº.Dénio Mulumbila
SHIELDS
ENGº.Dénio Mulumbila
TIPOS DE ARDUINO
ENGº.Dénio Mulumbila