Você está na página 1de 74

Sistemas Digitais e Microprocessados

Prof.: Paulo Belvedere Junior


Apresentação:
Paulo Belvedere Junior
Formação Técnica (Técnico em Mecatrônica)
Locais onde trabalhei:
- A. W. Faber-Castell (Desenhista de Produto, máquinas, Moldes e ferramentas);
- Colormaq (Projetista de produto);
- Wavetek equipamentos médicos (Projetista de produto);
- Bio-Art equipamentos médicos (Projetista de produto e Processista).

Atualmente:
- Proprietário da (Desenvolvendo produtos e soluções);
- Sócio da TWB equipamentos médicos (Produtos para saúde).
Anotem:
Curso a ser ministrado: Sistemas Digitais e Microprocessados
Emenda do curso:
Primeiro Módulo (Conhecendo o ARDUINO – 2 Aulas):
- ARDUNIO – Oque é como surgiu e porque foi criado;
- ATMEL – Sobre a empresa sobre o Atmega 328;
- Familia Arduino – Um pouco sobre os vários produtos;
- Hardware do Arduino – Alimentação, Memória RAM, EEPROM, FLASH Aspectos técnicos esquemas;
- ARDUINO – Conhecendo a interface de programação;
- Instalação DRIVE e configuração de COM;
- Gravando primeiro exemplo – BLINK.
Segundo Módulo (Programando o ARDUINO – 5 Aulas):
- Aprendendo sobre os tipos de dados;
- Programando constante, variáveis;
- Operadores: Aritméticos, relacionais, lógico e bit a bit;
- Funções, comentários, sistema de numeração;
- Modo pino, Digital Output;
Anotem:
Curso a ser ministrado: Sistemas Digitais e Microprocessados
Emenda do curso:
Segundo Módulo (Programando o ARDUINO):
- Delay, Serial Monitor;
- Digital Input;
- Estrutura condicional IF e ELSE;
- Switch Case;
- Estrutura de repetição: While – Do While – For;
- Função de tempo millis – micros;
- Define;
- Analog Input;
- Map;
- Analog Write.
Marquem nas Agendas:
Aulas nos dias: Trabalhos:
Julho: 5 praticas em sala de aula (50% Nota Final)
31 Avaliação : 25/09 (50% Nota Final)
Agosto: A prova será:
07 / 21 / 28 - 3 Questões Múltipla escolha
Setembro: - 2 Questões divididas em 2 problemas
04/11/18
O que é Arduino:
Trata-se de uma plataforma de prototipagem eletrônica de hardware livre e de
placa única, projetada com um micro-controlador Atmel AVR, com suporte de
entrada/saída embutido e uma linguagem de programação padrão, com
origem em Wiring.
História do Arduino:
Arduino nasceu no Interaction Design
Institute em Ivrea (Itália, 2005) como
uma ferramenta fácil para
prototipagem rápida, destinado a
estudantes sem experiência em
eletrônica e programação. Assim que
chegou a uma comunidade mais
ampla, a placa Arduino começou a
Fundadores
mudar para se adaptar às novas
necessidades e desafios. Todas as placas Arduino são completamente open-
source, capacitando os usuários para construí-los de forma independente e,
eventualmente, adaptá-los às suas necessidades específicas. O software
também é open-source, e está crescendo através das contribuições dos
usuários em todo o mundo. Fonte: www.arduino.cc
Fundada em 1984
Sede da companhia San José (EUA)
Quantia de funcionários 7,5 mil empregados
Atual Dona Microchip
História da Atmel:
A Historia da Empresa Atmel tem seu início no ano de 1984, por George
Perlegos. O nome Atmel era um acrônimo para “tecnologia avançada para a
memória e lógica”.
Perlegos tinha trabalhado na Intel com um grupo de memória em 1970 e foi
co-fundador da empresa SEEQ Tecnologia para fabricar amemória EPROM.
Usando apenas US $ 30.000 de capital, a Empresa Atmel foi inicialmente
operando como uma empresa fabless, usando a Sanyo e a General
Instrument para fazer as bolachas dos chips.
Os primeiros produtos de memória da Empresa Atmel, usava menos energia
do que os seus concorrentes, isso acabou chamando a atenção da Intel.
Seus principais clientes eram a Motorola , Nokia e Ericsson.
Em 1987 foi processada pela Intel forçando a mesma a alterar a arquitetura de
seus produtos.
Em 20 de Janeiro de 2016 foi comprada pela Microchip por US$3,6 Bilhões
Família Arduino:
Arduino UNO Arduino Leonardo Arduino 101 Arduino Esplora

Microcontroller ATmega328P Microcontroller ATmega32u4 Microcontroller Intel Curie Microcontroller ATmega32u4


Operating Voltage 5V Operating Voltage 5V Operating Voltage 3.3V (5V tolerant I/O)
Input Voltage Operating Voltage 5V
7-12V Input Voltage
7-12V Input Voltage
(recommended) (Recommended) 7-12V Flash Memory 32 KB of which 4 KB used by bootloader
(recommended)
Input Voltage (limit) 6-20V Input Voltage (limits) 6-20V
Input Voltage (limit) 7-17V SRAM 2.5 KB
14 (of which 6 provide PWM Digital I/O Pins 20
Digital I/O Pins 14 (of which 4 provide
output) Digital I/O Pins EEPROM 1 KB
PWM Channels 7 PWM output)
PWM Digital I/O Pins 6
Analog Input Channels 12 Clock Speed 16 MHz
Analog Input Pins 6 PWM Digital I/O Pins 4
DC Current per I/O Pin 40 mA
DC Current per I/O Pin 20 mA Analog Input Pins 6 Lenght 164.04 mm
DC Current for 3.3V
DC Current for 3.3V 50 mA
50 mA Pin DC Current per I/O Pin 20 mA Width 60 mm
Pin
32 KB (ATmega32u4) of
Flash Memory which 4 KB used by Flash Memory 196 kB Weight 53 gr
32 KB (ATmega328P) of which
Flash Memory bootloader SRAM 24 kB
0.5 KB used by bootloader
SRAM 2.5 KB (ATmega32u4) Clock Speed 32MHz
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega32u4) LED_BUILTIN 13
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
Clock Speed 16 MHz Bluetooth LE, 6-axis
Lenght 68.6 mm Features
LED_BUILTIN 13 accelerometer/gyro
Width 53.3 mm Length 68.6 mm
Length 68.6 mm
Weight 20 g
Width 53.4 mm Width 53.4 mm
Weight 25 g Weight 34 gr.
Família Arduino:
Arduino Micro Arduino Nano Arduino Mini

Microcontroller ATmega32U4 Microcontroller ATmega328 Microcontroller ATmega328


Operating Voltage 5V Architecture AVR
Operating Voltage 5V
Input Voltage (recommended) 7-12V Operating Voltage 5V
Input Voltage 7-9 V
Input Voltage (limit) 6-20V
32 KB of which 2 KB used by
Flash Memory
Digital I/O Pins 20 bootloader 14 (of which 6 provide PWM
Digital I/O Pins
output)
PWM Channels 7 SRAM 2 KB
Analog Input Channels 12 Clock Speed 16 MHz 8 (of which 4 are broken out
Analog Input Pins
DC Current per I/O Pin 20 mA onto pins)
Analog I/O Pins 8
DC Current for 3.3V Pin 50 mA EEPROM 1 KB DC Current per I/O Pin 40 mA
32 KB (ATmega32U4) of which 4 KB used by DC Current per I/O Pins 40 mA (I/O Pins)
Flash Memory
bootloader 32 KB (of which 2 KB used by
Flash Memory
Input Voltage 7-12 V bootloader)
SRAM 2.5 KB (ATmega32U4)
Digital I/O Pins 22 SRAM 2 KB
EEPROM 1 KB (ATmega32U4)
Clock Speed 16 MHz PWM Output 6
EEPROM 1 KB
LED_BUILTIN 13 Power Consumption 19 mA
Clock Speed 16 MHz
Length 48 mm PCB Size 18 x 45 mm
Length 30 mm
Width 18 mm Weight 7g
Weight 13 g Product Code A000005 Width 18 mm
Família Arduino: Arduino Zero Arduino DUE
Arduino Mega

ATSAMD21G18, 32-Bit ARM Cortex Microcontroller AT91SAM3X8E


Microcontroller
M0+
Operating Voltage 3.3V
Operating Voltage 3.3V
Microcontroller ATmega2560 Input Voltage (recommended) 7-12V
Digital I/O Pins 20 Input Voltage (limits) 6-16V
Operating Voltage 5V
PWM Pins All but pins 2 and 7
Input Voltage (recommended) 7-12V Digital I/O Pins 54 (of which 12 provide PWM output)
UART 2 (Native and Programming)
Input Voltage (limit) 6-20V
Analog Input Pins 6, 12-bit ADC channels Analog Input Pins 12
Digital I/O Pins 54 (of which 15 provide PWM output)
Analog Output Pins 1, 10-bit DAC Analog Output Pins 2 (DAC)
Analog Input Pins 16
External Interrupts All pins except pin 4 Total DC Output Current on all I/O lines 130 mA
DC Current per I/O Pin 20 mA
DC Current per I/O Pin 7 mA
DC Current for 3.3V Pin 50 mA DC Current for 3.3V Pin 800 mA
Flash Memory 256 KB
Flash Memory 256 KB of which 8 KB used by bootloader DC Current for 5V Pin 800 mA
SRAM 32 KB
SRAM 8 KB 512 KB all available for the user
EEPROM None. See documentation Flash Memory
EEPROM 4 KB applications
LED_BUILTIN 13 SRAM 96 KB (two banks: 64KB and 32KB)
Clock Speed 16 MHz
LED_BUILTIN 13 Clock Speed 48 MHz Clock Speed 84 MHz

Length 101.52 mm Lenght 68 mm Length 101.52 mm

Width 53.3 mm Width 30 mm Width 53.3 mm

Weight 37 g Weight 12 gr. Weight 36 g


Arduino M0 Arduino M0 Pro
Família Arduino:
Arduino Mega ADK

Microcontroller ATSAMD21G18, 48pins LQFP Microcontroller ATSAMD21G18, 48pins LQFP


Architecture ARM Cortex-M0+ Architecture ARM Cortex-M0+
Operating Voltage 3.3V Operating Voltage 3.3V
Microcontroller ATmega2560
Operating Voltage 5V Flash memory 256 KB Flash memory 256 KB

Input Voltage (recommended) 7-12V SRAM 32Kb SRAM 32Kb


Input Voltage (limits) 6-20V Clock Speed 48 MHz Clock Speed 48 MHz
Digital I/O Pins 54 (of which 15 provide PWM output) Analog I/O Pins 6 +1 DAC Analog I/O Pins 6 + 1 DAC
Analog Input Pins 16
DC Current per I/O DC Current per I/O Pins 7 mA (I/O Pins)
DC Current per I/O Pin 40 mA 7 mA (I/O Pins)
Pins
Geral
DC Current for 3.3V Pin 50 mA Geral
Input Voltage 5-15 V
Flash Memory 256 KB of which 8 KB used by bootloader Input Voltage 5-15 V
Digital I/O Pins 20
SRAM 8 KB Digital I/O Pins 20, with 12 PWM and UART
EEPROM 4 KB PWM Output 12
PWM Output 12
Clock Speed 16 MHz Power Consumption 44 mA
Power Consumption 29 mA
USB Host Chip MAX3421E PCB Size 53.34 x 68.58 mm
PCB Size 53 x 68.5 mm
Length 101.52 mm
Weight 22g
Weight 21g
Width 53.3 mm
Product Code A000111
Weight 36 g Product Code A000103
Família Arduino:
Arduino Gemma Llypad USB Llypad Main Llypad Simple & Simplesnap

Microcontroller ATtiny85 Microcontrolle ATmega168 or A Microcontroller ATmega328


ATmega32u4 Microcontroller
r Tmega328V
Operating Operating Voltage 2.7-5.5 V
3.3V
Voltage Operating Operating Voltage 2.7-5.5 V
3.3V
Voltage Input Voltage 2.7-5.5 V
Input Voltage 4V-16V Input Voltage 2.7-5.5 V
Input Voltage 3.8V-5V Digital I/O Pins 9
Digital I/O Pins 3 Digital I/O Pins 14
PWM Channels 2 Digital I/O Pins 9 PWM Channels 5
PWM Channels 6
Analog Input PWM
1 4 Analog Input Analog Input Channels 4
Channels Channels 6
Channels
DC Current per Analog Input DC Current per I/O Pin 40 mA
20 mA 4 DC Current per I/O
I/O Pin Channels 40 mA
Pin 32 KB (of which 2 KB used by
Absorption 9 mA while running DC Current per Flash Memory
40 mA 16 KB (of which 2 bootloader)
I/O Pin
8 kB (ATtiny85) of which 2.75 kB used by Flash Memory KB used by
Flash Memory
bootloader 32 KB (ATmega32u4) of bootloader) SRAM 2 KB
SRAM 512 Bytes (ATtiny85) Flash Memory which 4 KB used by
bootloader SRAM 1 KB EEPROM 1 KB
EEPROM 512 Bytes (ATtiny85)
SRAM 2.5 KB (ATmega32u4) EEPROM 512 bytes Clock Speed 8 MHz
Clock Speed 8 MHz
EEPROM 1 KB (ATmega32u4) Clock Speed 8 MHz
LED_BUILTIN 1
Clock Speed 8 MHz
Diameter 27.94 mm
Conhecendo Arduino UNO:

ATMEGA 16U2-MU
- Conversor USB Serial
ATMEGA 328P
- Microcontrolador
Reset
- Responsável por resetar o Micro
Conexão USB
- Transferência de dados
Alimentação Externa
- Conexão para fonte Externa
Conversor USB – Serial (ATMEGA 16U2 – MU):
Componente responsável pela comunicação do micorcontrolado ATMEGA
328P (Conexão SERIAL) com a USB (Arquitetura tecnologia RISC).
Diagrama de Bloco Configuração dos Pinos
Microcontrolador (ATMEGA 328P):
Componente responsável pela parte “pensante” do Arduino, nele é gravado e
interpretado os códigos e armazenamento dados (Arquitetura Tecnologia RISC)
Diagrama de Bloco Configuração dos Pinos
Um pouco sobre memórias no ATMEGA 328P:
- A SRAM é uma memória que retém dados enquanto estiver sendo alimentada
eletricamente. Se tirar sua alimentação ela apaga os dados (Memória de estado
dinâmico). No Arduino essa memória é onde o sketch cria e manipula as variáveis
dentro de um tamanho de no máximo 2KB no UNO.
- EEPROM (Electrically-Erasable-Programmable) são eletricamente apagáveis e
programáveis. São do tipo não volátil. Uma desvantagem da EEPROM é o custo alto e
o número limitado de ciclos de gravação. No Arduino essa memória é de uso livre
para os programadores para armazenamento de dados que não possam ser
apagados ao desligar o Micro utilização em tamanho máximo de 1 KB no UNO.
- Flash são de alta densidade, baixo custo, não-volátil e rápidas (rápidas para ler e não
para escrever). Elas podem ser reescritas eletricamente como a EEPROM, porém são
mais rápidas e gravam de setor a setor (grupo de bytes). Geralmente as memórias
FLASH são utilizadas para gravar a programação do microcontrolador, por causa da
velocidade e armazenamento. No Arduino é onde armazenamos o sketch ela possuí
um tamanho máximo de 32KB no UNO.
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
Esquematico Arduino
Baixando Software Acessar: www.arduino.cc
Baixando Software
Instalando Drive
Conecte o cabo ao Arduino e a uma USB livre do computador
Instalando Drive
Vá até “Painel de controle” e acesse sistema:
Instalando Drive
Acesse o menu ‘Gerenciador de Dispositivos”
Instalando Drive
Procure por “Portas (COM e LPT)” Expanda a opção e clique com o bom direito na Porta (numero da com
depende da porta disponível em cada máquina)
Instalando Drive
Clique em “Procurar software de driver no computador e navegue até a pasta salva no computador ...
\Driver Correto - UNO R3

Clique em Avançar e conclua a instalação do drive


Abrindo o Programa
Copie a pasta “arduino-1.8.3” para o C: do computador
Abrindo o Programa
Abra a pasta e procure pelo arquivo “arduino”
Abrindo o Programa
IDE carregada
Habilitando a placa UNO R3 no programa
Acesse o menu “ferramentas” opção “Porta “COM”” e selecione a com a qual a placa foi instalada
Habilitando a placa UNO R3 no programa
Acesse o menu “ferramentas” “Placa” e selecione “Arduino/Genuino Uno”
Carregando programa Blink
Acesse o menu “Arquivo” vá para “Exemplos” em “01.Basics” e clique em “Blink”
Carregando programa Blink
Clique em carregar e veja o LED piscar na placa.
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
Tipos de dados:
Tipo Especificação
int O tipo de dados inteiro é referente aos valores conjuntos dos numéricos inteiros naturais
positivos e negativos, incluindo o zero e abrangendo a faixa de -32.768 e 32.767. Necessita
de 2 bytes (16 bits) da memória para armazenamento.
float Tipo de dado que representa o conjunto de números reais, positivos e negativos. Chamados
de números de ponto flutuante, abrangem a faixa de 3,4028235E+38 a -3,4028235E+38.
São necessários 4 bytes da memória para armazenar um valor desse tipo de dados.
char O tipo caractere utiliza 1 byte de memória e armazena o valor de um caractere. A
representação simbólica do caractere deve ser escrita entre aspas simples (‘ ’).
String Strings representam um conjunto ou cadeia de caracteres, como quando formamos uma
palavra ou frase. Seu armazenamento é variável, dependendo da quantidade de caracteres
que formam a cadeia. Um valor String deve ser delimitado por aspas duplas (" ").
Boolean Dados do tipo Booleano podem possuir apenas o valor Verdadeiro (TRUE) ou Falso (FALSE).
byte Um dado do tipo byte armazena um número de 8 bits sem sinal que deve possuir um valor
entre 0 e 255.
Tipos de dados:
Tipo Especificação
unsigned int Número inteiro de 16 bits sem sinal (0 a 65535)
long Número inteiro de 16 bits com sinal (-2147483648 a 2147483647)
unsigned long Número inteiro de 16 bits sem sinal (0 a 4294967295)
double Atualmente igual ao float

Lembrando:
16 bits = 216 = 65536 = 2 bytes
Importante!
Resolução do arduino 10 bits = 210 = 1024
Definição de constante:
São valores predefinidos que não podem ser alterados

No arduino podemos dividi-los em:

- HIGH e LOW Referente à tensão que enviamos a uma saída (HIGH +VCC e LOW GND)
Ex.: digitalWrite(13, HIGH)

- INPUT e OUTPUT Define o estado de uma porta


Ex: pinMode (13, OUTPUT)

- TRUE e FALSE Valores lógicos


Ex: if (digitalRead (13) == TRUE)

OBS: Verifique a tensão para seu modelo de Arduino nas especificações técnicas do fabricante para utilizar
HIGH e LOW.
Definição de variável:
São espaços criados na memória SRAM do arduino (Espaço de aproximadamente 2KB), responsável por
armazenar e manipular dados ao longo do programa.
Temos 2 tipos de variáveis GLOBAIS e LOCAIS!
Variável GLOBAL é declarada no topo do código Variável LOCAL é declarada dentro das funções
antes da função void setup(), variáveis desse tipo limitando seu uso apenas dentro dela, ou seja, não
podem ser manipuladas em qualquer lugar do pode ser acessada por outras funções dentro do
código (dentro de quaisquer funções). código.
Pratica 01:
Desenvolva o programa BLINK mascarando através de variável inteira o port 2, monte o circuito conforme
esquema:

Conecte o +VCC do
LED no resistor de
330R e o resistor no
port 2 do arduino
UNO
Tempo ligado – 500ms
Tempo Desligado –
500ms
Pratica 01:
Pratica 02:
Desenvolva o programa BLINK mascarando através de variável inteira o port 2 e port 3, monte o circuito
conforme esquema:
Os LED’s deveram alternar quando
um estiver ligado o outro apagado e
assim por diante
Alternar em tempos de 500ms
Pratica 01:
Pratica Avaliação 01:
Programa semáforo!

Desenvolva o circuito para ligar 3 Led’s (Vermelho, Amarelo e Verde) utilize resistores de 330r e os pinos 2,3 e
4 como saída.
Condições do programa:
- Mascare as saídas utilizando variáveis.
- O Led vermelho deverá permanecer 10s aceso;
- O Led Amarelo deverá permanecer 2s aceso;
- O Led Verde deverá ficar 8s aceso;
Respeite a sequência do sinal de transito acende o Led vermelho conta o tempo acende o verde conta o
tempo acende o Amarelo e após o tempo acende o vermelho repetindo o ciclo.

Dica: ao elevar o nível lógico de uma saída lembre-se de deixar as outras saídas em nível lógico baixo.

Boa prática!
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
Anotem:
Curso a ser ministrado: Sistemas Digitais e Microprocessados
Emenda do curso:
Primeiro Módulo (Conhecendo o ARDUINO – 2 Aulas):
- ARDUNIO – Oque é como surgiu e porque foi criado;
- ATMEL – Sobre a empresa sobre o Atmega 328;
- Familia Arduino – Um pouco sobre os vários produtos;
- Hardware do Arduino – Alimentação, Memória RAM, EEPROM, FLASH Aspectos técnicos esquemas;
- ARDUINO – Conhecendo a interface de programação;
- Instalação DRIVE e configuração de COM;
- Gravando primeiro exemplo – BLINK.
Segundo Módulo (Programando o ARDUINO – 5 Aulas):
- Aprendendo sobre os tipos de dados;
- Programando constante, variáveis;
- Operadores: Aritméticos, relacionais, lógico e bit a bit;
- Funções, comentários, sistema de numeração;
- Modo pino, Digital Output;
Anotem:
Curso a ser ministrado: Sistemas Digitais e Microprocessados
Emenda do curso:
Segundo Módulo (Programando o ARDUINO):
- Delay, Serial Monitor;
- Digital Input;
- Estrutura condicional IF e ELSE;
- Switch Case;
- Estrutura de repetição: While – Do While – For;
- Função de tempo millis – micros;
- Define;
- Analog Input;
- Map;
- Analog Write.
Operadores: Aritméticos, relacionais, lógico e bit a bit
Aritméticos!
Símbolo Operação
+ Adição
- Subtração
* Multiplicação
/ Divisão
++ Incremento (Ex.: a++ mesma coisa que a=a+1)
-- Decremento (Ex.: a-- mesma coisa que a=a-1)
+= Operação composta de adição (Ex.: a+=b mesma coisa que a=a+b)
-= Operação composta de subtração (Ex.: a-=b mesma coisa que a=a-b)
*= Operação composta de Multiplicação (Ex.: a*=b mesma coisa que a=a*b)
/= Operação composta de divisão (Ex.: a/=b mesma coisa que a=a/b)
Operadores: Aritméticos, relacionais, lógico e bit a bit
Relacionais!
Símbolo Operação
== Igual
!= Diferente
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual
Operadores: Aritméticos, relacionais, lógico e bit a bit
Lógicos!
Símbolo Operação
&& E (AND)
|| OU (OR)
! NÃO (NOT)

Tabela verdade!
AND OR NOT XOR
A B Y A B Y A Y A B Y
0 0 0 0 0 0 0 1 0 0 0
0 1 0 0 1 1 1 0 0 1 1
1 0 0 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0
Operadores: Aritméticos, relacionais, lógico e bit a bit
Bit a Bit!
1 byte

1 0 1 1 0 0 1 1
bit 7 bit 6 bit 5 Bit 4 bit 3 bit 2 bit 1 bit 0

Símbolo Operação
& E (AND)
| OU (OR)
~ NÃO (NOT)
^ OU Exclusico (XOR)
<< Deslocamento bit a esquerda
>> Deslocamento bit a direita
Pratica 01:
Monte o circuito abaixo monte um programa para acender parte a parte do display a cada 1 segundo e após
acender todos deverá apagar e reiniciar!

Utilize resistores de
220r
Utilize as saídas:
2,3,4,5,6,7,8 e 9
Mascare os pinos
Sequência para ligar
Pratica Avaliação 02:
Utilizando o circuito do outro programa faça um contador de 0 a 9!

Utilize resistores de
220r
Utilize as saídas:
2,3,4,5,6,7,8 e 9
Mascare os pinos
Sequência para ligar
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
- Modo do pino:
Sintaxe Parâmetros
pinMode(pin, mode); pin: número do pino mode: INPUT, OUTPUT e INPUT_PULLUP
- Digital Output:
Sintaxe Parâmetros
digitalWrite(pin, value); pin: número do pino value: HIGH ou LOW
- Digital Input:
Sintaxe Parâmetros
digitalRead(pin); pin: número do pino Retorno HIGH ou LOW
- Estrutura condicional Simples:
Na expressão utilizamos
operadores relacionais
if(EXPRESSÃO){ Símbolo Operação
[BLOCO DE COMANDOS] == Igual
. Se a expressão for != Diferente
. verdade executa o bloco > Maior
. de comando entre { } < Menor
. >= Maior ou igual
} <= Menor ou igual

O uso de { } é obrigatório quanto teremos de executar mais de um comando


- Estrutura condicional Simples:
Lógica “E” Operadores Lógicos
if((EXPRESSÃO A) && (EXPRESSÃO B)){ Símbolo Operação
[BLOCO DE COMANDOS] && E (AND)
Se a expressão
. || OU (OR)
for verdade
. ! NÃO (NOT)
executa o bloco
. de comando
. entre { }
}
- Estrutura condicional Composta:
if(EXPRESSÃO){ Na expressão utilizamos
operadores relacionais
[BLOCO DE COMANDOS]
Se a expressão for Símbolo Operação
.
verdade executa o bloco == Igual
.
de comando entre { } != Diferente
.
> Maior
.
< Menor
}
>= Maior ou igual
else{
<= Menor ou igual
[BLOCO DE COMANDOS]
. Senão executa o bloco de
. comando entre { }
.
.
}
- Estrutura condicional Aninhada:
if(EXPRESSÃO){ Na expressão utilizamos
[BLOCO DE COMANDOS] Se a expressão for operadores relacionais
. verdade executa o bloco Símbolo Operação
. de comando entre { } == Igual
}else != Diferente
if(EXPRESSÃO){ > Maior
[BLOCO DE COMANDOS] Senão Se a expressão for < Menor
. verdade executa o bloco >= Maior ou igual
. de comando entre { } <= Menor ou igual
}
else{
[BLOCO DE COMANDOS]
.
Senão executa o bloco
. de comando entre { }
}
PULL-UP e PULL-DOWN:
Pratica 01 PULL-UP:
Monte o circuito abaixo e escreva o programa ao lado.
Pratica 01 PULL-DOWN:
Monte o circuito abaixo e escreva o programa ao lado.
Pratica para a nota
Monte um circuito da seguinte forma:
- Coloque um LED Vermelho na porta 3;
- Coloque um LED verde na porta 4;
- Conecte um botão na versão PULL-UP na porta 5;
- Conecte um botão na versão PULL-UP na porta 6;

Monte um programa que ao apertar o botão da porta 5 ligue e mantenha ligado o LED Vermelho por 5
segundos e ao apertar o botão da porta 6 ligue e mantenha ligado o LED Verde por 5 segundos.
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
- Digital Input PullUP:
Pratica para a nota
Monte um circuito da seguinte forma:
- Coloque um LED Vermelho na porta 3;
- Coloque um LED verde na porta 4;
- Conecte um botão na porta 5;
- Conecte um botão na porta 6;

Monte um programa que ao apertar o botão da porta 5 ligue e mantenha ligado o LED Vermelho por 5
segundos e ao apertar o botão da porta 6 ligue e mantenha ligado o LED Verde por 5 segundos.
- Switch Case (Escolha Caso)
switch(variavel){
case valor1: switch-case
[bloco de comando A] Nesse caso temos uma sequência de comparações, onde o
valor da mesma variável é comparado várias vezes.
....
break
case valor2: No final de cada bloco de comandos
[bloco de comando B] utilizamos o comando break, que faz
com que a estrutura seja encerrada.
....
break
default: Caso nenhuma das comparações acima
[bloco de comando C] seja verdadeira, executa esse bloco.
.... NÃO É OBRIGATÓRIO ESSE BLOCO
}
Sistemas Digitais e Microprocessados
Prof.: Paulo Belvedere Junior
- analogRead() e analogWrite()
Sintaxe Parâmetros
analogRead(pin); pin: número do pino
analogWrite(pin, Nível) pin: número do pino Nível: Nível da saída (HIGH ou LOW ou SINAL)

-Ligar Potenciômetro Uma extremidade no


+5V a outra no GND o centro dele na porta
A0
-Ligar o LED vermelho no resistor de 330R e
liga-lo na porta 4
- Serial:
- map()
Sintaxe
map(Leitura a Ser convertida, Parameto1, Parameto2,Parameto3 Parameto4);
Parmeto1=Parmeto3 Parameto2=Parameto4
- Display()

Você também pode gostar