Você está na página 1de 31

Arduino

µprocessados Vs µcontrolados
MICROPROCESSADOR MICROCONTROLADOR
• Maior poder de • Menor poder de
processamento; processamento;
• Possui apenas a CPU (ULA e • Possui memória e periféricos
UC) em seu chip; em um único chip
• Flexibilidade de programas; (encapsulamento);
• Pinos com funcionalidade • Programas desenvolvidos
específica; para uma aplicação
• Opção de consumo de energia específica;
controla em algumas placas- • Pinos que compartilham
mãe (Ex: Notebook) funções;
• Opções de consumo de
energia para atender
diferentes aplicações;
Principais Fabricantes de µC
Evolução da Programação

 Anos 50 e 60
 Poucas instruções disponíveis
 Programação binária
 Sem telas, discos rígidos, etc...

 Anos 60 e 70
 Programação alto nível
 Fortran, Basic, C
Arquitetura CISC

 Anos 80 – computadores mais complexos

 CISC – Complex Instruction Set Computer

 Conjuntos de instruções cada vez mais complexas e maiores


 Conjunto menor de instruções = desempenho inferior

 Diminuição de número de linhas de código


Arquitetura RISC

 RISC – Reduced Instruction Set Computer

 Diminuição do número de instruções disponíveis


 Permanência apenas de funções mais utilizadas
RISC x CISC

RISC CISC
Ênfase Software Hardware
Número de instruções Menor Maior
LOAD e STORE Instruções independentes Incorporado na instrução
Tamanho de código Maior Menor
Equação de desempenho

𝑡𝑒𝑚𝑝𝑜 𝑡𝑒𝑚𝑝𝑜 𝑐𝑖𝑐𝑙𝑜𝑠 𝑖𝑛𝑠𝑡𝑟𝑢çõ𝑒𝑠


  

= 𝑥 𝑥 RISC CISC

𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎 𝑐𝑖𝑐𝑙𝑜 𝑖𝑛𝑠𝑡𝑟𝑢çã𝑜 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎


Arduino

 Microcontrolador ATMEL Atmega328


 Pinos I/O Digitais e Analógicos
 LEDs de sinalização
 Pinos de energia
 Conectores
Arduino Uno
Características gerais

 Tensão de operação: 5V
 Tensão de entrada: 7-12V
 Pinos digitais de I/O: 14 (6 com PWM)
 Pinos analógicos de I/O: 6 (6 com PWM)
 Corrente DC pinos digitais: 40 mA
 Corrente DC pino 3.3V: 50 mA
Microprocessador ATMEGA 328

 Arquitetura RISC
 131 instruções
 32 registradores de propósito geral
 Até 20 MIPS – 20 MHz

 Memória
 Programa: 32k Flash
 EEPROM: 1k
 Retenção de dados: 20 anos em 85ºC e 85 anos em 25ºC

 Temperatura de Operação
 -40 a 85ºC
Pinagem do microcontrolador
Funções de cada pino no Arduino
16

Firmware x Software
 Quala diferença entre um firmware e um
software?
17

Firmware x Software
Firmware Software
 Desenvolvido especificamente para  Desenvolvido para rodar em qualquer
um determinado dispositivo computador com o mesmo sistema
eletrônico (Microcontrolador + operacional (Windows, Linux, OS e
circuito específico com os outros) independente da
componentes ligados ao µC). configuração do hardware.
 Depende da estrutura externa ligada  Não depende de todos os dispositivos
ao µC, uma vez mudada a estrutura (placa de vídeo, som, modem)
deve mudar o firmware. Por ligados no computador. Funciona
exemplo: um programa desenvolvido apenas com a configuração mínima.
para executar numa TV Toshiba não
funciona numa TV LG.
 Exemplos de equipamentos que usam  Exemplos de equipamentos que usam
firmware: microondas, DVD player, software: computadores pessoais,
TV, controle remoto, celular, vídeo- celulares modernos com sistema
game, relógio digital e etc. operacional embarcado (Windows
Mobile, OS, Linux).
Linguagens Alto Nível x Baixo Nível
Linguagem C Linguagem ASM Linguagem de
Máquina
C = (A + B)*2;
LOAD A

  01001100 00000001
 LOAD B  01001100 00000010
 ADD  01001110 00000000
 DUP  00001100 00000000
 ADD  01001110 00000000
 STRORE C  01110010 00000011

18
Linguagens disponíveis

Assembly;
C e C++;
Pascal;
Basic;
Ladder;
Assembly vs. Linguagem C
20

 
Vantagens Desvantagens
Linguagem mais amigável Pode ocupar um espaço de
Rápido desenvolvimento de memória desnecessário,
aplicações dependendo da otimização
Fácil manutenção do código do compilador
Fácil acesso aos recursos de
Linguagem C Hardware
Linguagem bastante difundida Uma determinada tarefa
Compiladores atuais tem bom pode não ser realizada da
desempenho maneira mais eficiente
Vários Exemplos implementados na
Web
Aumenta o tempo de
Possibilidade de otimização do
desenvolvimento de novos
processamento
projetos;
Linguagem Controle total do hardware Dificulta a manutenção de
programado projetos antigos
Assembly
Exige projetistas experientes
Economia de espaço e velocidade de
e bem treinados;
memória
Depuração complexa
Arduino

 Arduino Board
 IDE de Programação Arduino IDE
 Baseado em C/C++
 Funções próprias
 Comunidade Arduino Community
 Design de circuitos compatíveis com Arduinos (Shields)
 Colaboração em Software e hardware

Microcontrollers & Robotics


IDE Arduino
Selecionar Porta de Comunicação e
Placa
Mensagens de status
25

Aba Tutoriais/C18
Compilador DVD PICMinas18
v2.0

 A maneira do ser humano delegar tarefas a um microcontrolador é através de


um programa.

 Para fazer a tradução da “linguagem dos humanos” para a “linguagem do


microcontrolador” é usado um programa, no nosso caso, um COMPILADOR.
26

Porque um tradutor é importante?


E a comunicação
homem-máquina?
int main (void){
counter =1;
...
}

Compilador

Homem Computador
27

Trabalho do Compilador

Código feito pelo usuário Código na linguagem de máquina


Arquivo main.c Arquivo contador .hex
Programação

 Case sensitive

 Programação em C
 Terminar com ‘;’
 Comentários com // ou /* */

 Loop e Setup
Terminologia
Terminology
Digital I/0

www.mikroe.com/chapters/view/1

pinMode(pin, mode)
Sets pin to either INPUT or OUTPUT
digitalRead(pin)
Reads HIGH or LOW from a pin
digitalWrite(pin, value)
Writes HIGH or LOW to a pin
Electronic stuff
Output pins can provide 40 mA of current
Writing HIGH to an input pin installs a 20KΩ pullup

Você também pode gostar