v2 - microcontroladores: a revolucao do arduino

43
Microcontroladores : A Revolução do Arduino

Upload: samir-siqueira

Post on 05-Jul-2015

5.906 views

Category:

Technology


7 download

DESCRIPTION

Palestra dada na Semana da Computacao da Universidade Plinio Leite. detalhes em : http://blog.arduinrio.cc/2010/10/03/palestra-hardware-livre-na-semana-de-computacao-da-universidade-plinio-leite-niteroi/

TRANSCRIPT

Page 1: V2 - Microcontroladores: a revolucao do arduino

Microcontroladores :A Revolução do Arduino

Page 2: V2 - Microcontroladores: a revolucao 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

Page 3: V2 - Microcontroladores: a revolucao do arduino

Arduino = Microcontrolador + Gravador + Interfaces

• A alma do negócio é o Microcontrolador ATMega 328 ou 168

– Porém ele não funciona sozinho

Page 4: V2 - Microcontroladores: a revolucao do arduino

Circuitos auxiliares

• Como toda CPU, precisa de um Clock – Para isto temos o cristal

• Interface serial/USB

• Regulador de tensão – {7,21} V → 5 V

Page 5: V2 - Microcontroladores: a revolucao do arduino

Especificacoes do Arduino Duemilanove (2009)

ATMega 328ATMega 328 Clock – 16 MHzClock – 16 MHz MemoriasMemorias

32 KB – Flash – seu programa – 1 KB (bootloader) 32 KB – Flash – seu programa – 1 KB (bootloader) + O que voce quiser + O que voce quiser

2 KB - RAM – Variaveis do seu programa!2 KB - RAM – Variaveis do seu programa! 1 KB – EEPROM1 KB – EEPROM Entradas/Saidas – 14 digitais (6 PWM), 6 Entradas/Saidas – 14 digitais (6 PWM), 6

Analogicas (ADC 10 bits)Analogicas (ADC 10 bits)

Page 6: V2 - Microcontroladores: a revolucao do arduino

PWM(Modulação por Largura de Pulso)

AnalogWrite ([0-255]) – Porta Digital

`

Page 7: V2 - Microcontroladores: a revolucao do arduino

Conversor Analógico<->Digital (ADC)

Amostragem● Taxa de amostragem

● Teorema utilizado nas telecomunicacoes – no minimo 2X● Na pratica, 8 a 10 X

● Limite - Taxa maxima de amostragem no arduino?● Pensem nisto

Page 8: V2 - Microcontroladores: a revolucao do arduino

Quantizacao - AnalogRead()

• Etapa na qual a amostra e quantizada de acordo com a resolucao do ADC.

• Arduino – 0 a 5V – 10 bits – 2^10 = 1024 – 0 a 1023

– 5V / 1024 =~ 5 mV

Page 9: V2 - Microcontroladores: a revolucao do arduino

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

Page 10: V2 - Microcontroladores: a revolucao do arduino

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 :

Page 11: V2 - Microcontroladores: a revolucao do arduino

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_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT VARIABLES UDATA_SHRdelayA RES 1delayB RES 1 ;**********************************************************************RESET_VECTOR CODE 0x000 ; processor reset vector goto main ; go to beginning of programPROGRAM CODEmain 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'

Page 12: V2 - Microcontroladores: a revolucao do arduino

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!)

Page 13: V2 - Microcontroladores: a revolucao do arduino

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 :

Page 14: V2 - Microcontroladores: a revolucao do arduino

int ledPin = 13; // LED connected to digital pin 13void 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}

Page 15: V2 - Microcontroladores: a revolucao do arduino

IDE

• Escrita em Java, roda em– Linux

– OSX

– Windows

• Basta compilar

• Escolher o microcontrolador

• Upload do codigo via USB

• Pronto!

Page 16: V2 - Microcontroladores: a revolucao do arduino

Mao na massa!

Page 17: V2 - Microcontroladores: a revolucao do arduino

Ferramenta didatica – Fritzing!

• Represente circuitos para uma crianca de 5 anos

• O Diagrama tambem esta disponivel.

• Compartilhe!

Page 18: V2 - Microcontroladores: a revolucao do arduino

Simulador de circuitos!

• http://www.falstad.com/circuit/

• Simule sensores, motores, etc...

Page 19: V2 - Microcontroladores: a revolucao do arduino

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 :

Page 20: V2 - Microcontroladores: a revolucao do arduino

Shield Ethernet

• Fale com seu Arduino via TCP/IP, logo de qualquer lugar do mundo

Page 21: V2 - Microcontroladores: a revolucao do arduino

Wi-Fi Shield

• Fale com seu Arduino de qualquer lugar do mundo sem precisar de fios

– WEP (64-bit and 128-bit)

– WPA/WPA2 (TKIP and AES) PSK

Page 22: V2 - Microcontroladores: a revolucao do arduino

Motor Shield

• 2 Servo motores

• 4 Motores DC – dois sentidos

• 2 motores de passo

Page 23: V2 - Microcontroladores: a revolucao do arduino

SD Shield

Page 24: V2 - Microcontroladores: a revolucao do arduino

Placas Derivadas do ArduinoResultado de tecnologias Open Source

• Roboduino– Interfaceamento para motores e sensores

Page 25: V2 - Microcontroladores: a revolucao do arduino

ArduinoBT

• Arduino com Bluetooth integrado

Page 26: V2 - Microcontroladores: a revolucao do arduino

Program-Me – Brasileira

• Diversos sensores e drivers de motor on-board

– Buzzer

– Sensor de Luz

– 4 drivers de motores

– LEDs de Debug + Resistor

Page 27: V2 - Microcontroladores: a revolucao do arduino

Severino

• Serial =(• 3.3V =)

Page 28: V2 - Microcontroladores: a revolucao do arduino

Nano

Page 29: V2 - Microcontroladores: a revolucao do arduino

Mega

Page 30: V2 - Microcontroladores: a revolucao do arduino

Fio

• Desenhada para aplicacoes sem fio– Conector para bateria de Polimero de Litio

– Xbee integrado

Page 31: V2 - Microcontroladores: a revolucao do arduino

Lilypad

• Muito interessante – Componentes costuraveis

– Linhas condutivas

Page 32: V2 - Microcontroladores: a revolucao do arduino

Casos de uso• OpenEnergyMonitor.org

– Monitore o uso de energia eletrica numa casa, escritorio ou fabrica (com graficos caso mande para o PC)

• MouseGlove– Controle seu mouse por acelerometros numa

luva

• Automação de casa– Aquecedor, alarme de seguranca e iluminacao.

– Interface WEB

• Padaria– Arduino avisa aos clientes via Twitter quando o

pão sai.

Page 33: V2 - Microcontroladores: a revolucao do arduino

E como falar com esse cara?

• USB – FDTI USB/Serial

• Serial

• Ethernet - TCP/IP

• Wi-Fi – TCP/IP

• Bluetooth

• Xbee?

Page 34: V2 - Microcontroladores: a revolucao do arduino

Fazendo o Perl falar com ele

• Device::SerialPort – no Linux

• O código do Arduino tem de estar preparado para receber mensagens, e interpreta-las para a ação desejada – se for o caso

my $sp=new Device::SerialPort("/dev/ttyUSB0");

$sp->databits(8);$sp->baudrate(9600);$sp->stopbits(1);$sp->parity("none");

$sp->write(“s”);

Page 35: V2 - Microcontroladores: a revolucao do arduino

void loop() { char pc_input; if (Serial.available()) { pc_input = Serial.read(); } if( pc_input == 'w') { if (Speed < 255){ Speed = Speed + 5; } go_forward(Speed); } if( pc_input == 's') { stopMotors(); } if( pc_input == 'a') { turn_left(10); } if( pc_input == 'd') { turn_right(10); } }

Page 36: V2 - Microcontroladores: a revolucao do arduino

Um minuto sobre Cellbots• Arduino + Android

• Arduino + Smartphone

• Vantagens– Diversos sensores (acelerometros, GPS,

luminosidade)

– Camera embutida (streaming)

– Muitos rodam Linux, logo sem dificuldade rodam Perl

– Interface Wi-Fi

– Interface Bluetooth

– Internet – 3G / GPRS

Page 37: V2 - Microcontroladores: a revolucao do arduino
Page 38: V2 - Microcontroladores: a revolucao do arduino

Arduino TV Out

Page 39: V2 - Microcontroladores: a revolucao do arduino

Possibilidades• Interfaceamento com controle remoto

– So precisa calibrar

• Interfaceamento com controle de Wii

• Interfaceamento com Ipod/Iphone/Android

• Sensores– Temperatura, distância, microfone, luz, Infra-

vermelho(controle remoto), muito mais!

• Atuadores– Motores, LEDs, TVs, caixa de som, LED Infra-

vermelho(controle remoto), muito mais!

Page 40: V2 - Microcontroladores: a revolucao do arduino

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

Page 41: V2 - Microcontroladores: a revolucao do arduino

ArduInRio

• Comunidade carioca de Arduino– http://www.arduinrio.cc

– http://wiki.arduinrio.cc

• Dia 16 – III Arduino Hack Day– Palestras

– Hands on

– Arduino Dojo?

Page 42: V2 - Microcontroladores: a revolucao do arduino

Agora é usar a imaginação e desenvolver!

Perguntas?

Page 43: V2 - Microcontroladores: a revolucao do arduino

Contato

[email protected]

[email protected]

• @samircury• youtube.com/samircury – videos sobre Arduino e

etc.