Você está na página 1de 13

Microcontroladores :

A Revolução do Arduino
O que é um Microcontrolador?
 Computador ?
 CI ?
 Computador num CI!
 Computador
 Entradas => INTELIGÊNCIA => Saidas
 Microcontrolador
 Entradas => INTELIGÊNCIA => Saidas

Sensores => INTELIGÊNCIA => Atuadores
 No caso da robótica
Entradas e Saidas do Arduino
Duemilanove
 Isto geralmente não muda muito para um
conjunto de microcontroladores de mesmo
porte :
PWM
(Modulação por Largura de Pulso)
Conversor Analógico<->Digital
(ADC)
Hardware - status - 2004
 Referência – PIC – Microchip

R$ 32,00 o microcontrolador
 R$ 300,00 o ambiente de desenvolvimento
 Melhores estágios – R$ 300,00 por mes
 Possível?
 Não para todos
Software – status - 2004
 Catequese para se programar em assembly
 Conhecida como a linguagem mais baixo-nível que
humanos conseguem ler.
 Menos papo e mais código, como se faz um LED
piscar :
list p=16F630 ; list directive to define processor
#include <p16F630.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OF
F & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
VARIABLES UDATA_SHR
delayA RES 1
delayB RES 1
;**********************************************************************
RESET_VECTOR CODE 0x000 ; processor reset vector
goto main ; go to beginning of program
PROGRAM CODE
main
call 0x3FF ; retrieve factory calibration value
bsf STATUS,RP0 ; set file register bank to 1
movwf OSCCAL ; update register with factory cal value
movlw 0x00
movwf TRISC
bcf STATUS,RP0 ; set file register bank to 0

loop
clrf PORTC
call delay
movlw 0xFF
movwf PORTC
call delay

goto loop

;-------------------------------------------------------------------
;Delay Routine

delay
movlw 0xFF
movwf delayA
loopA
movlw 0xFF
movwf delayB
loopB
decfsz delayB, f
goto loopB
decfsz delayA, f
goto loopA

return
;-------------------------------------------------------------------
END ; directive 'end of program'
A possibilidade da linguagem C

 Era possível programar em C


 Mas pra que? C é muito facil! É pros fracos!
 Aliás, C gasta tanta memória que é melhor fazer em
assembly
 (vai debugar agora em assembly!)
Arduino – a quebra de paradigmas
 Software Livre – Faça e extenda (em casa)
 Hardware Livre – Faça e extenda (em casa!)
 Cultura de simplificação
 Linguagem Wiring – o “C simplificado”
 Você também pode programar o Arduino em C
puro.
 Piscando um LED no Arduino :
int ledPin = 13; // LED connected to digital pin
13
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as
output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
Shields – Bibliotecas de Hardware

Com apenas encaixando a placa de expansão e
carregando a biblioteca, você já tem a
funcionalidade pronta
 No PIC você faria o interfaceamento e teria que
programar a interface via software
 Shields muito legais existentes :
 Ethernet (rede cabo azul)

Wi-Fi

Controladora de diversos motores
 Sensores diversos

Bluetooth
 Muito mais!
Conclusão

Facilidade

Até artistas programam hoje

Estudantes de escolas técnicas não tem mais porque
não estudar este assunto
 Um Arduino custa R$ 40,00 vindo da china
 Por volta de R$ 85,00 no Brasil.

Criatividade

A facilidade te abstrai os problemas menores para que
você se preocupe com o seu real problema

Comunidade

Como nós aqui hoje, muitos se ajudam para um
aprendizado coletivo, com isto todos só tem a ganhar.

Você também pode gostar