Your SlideShare is downloading. ×
V2 - Microcontroladores: a revolucao do arduino
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

V2 - Microcontroladores: a revolucao do arduino

5,836

Published on

Palestra dada na Semana da Computacao da Universidade Plinio Leite. detalhes em …

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/

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,836
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
234
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Microcontroladores : A Revolução do Arduino
  • 2. 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
  • 3. Arduino = Microcontrolador + Gravador + Interfaces
    • A alma do negócio é o Microcontrolador ATMega 328 ou 168
      • Porém ele não funciona sozinho
  • 4. 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
  • 5. Especificacoes do Arduino Duemilanove (2009)
            • ATMega 328
    • Clock – 16 MHz
    • Memorias
      • 32 KB – Flash – seu programa – 1 KB (bootloader) + O que voce quiser
      • 2 KB - RAM – Variaveis do seu programa!
      • 1 KB – EEPROM
      • Entradas/Saidas – 14 digitais (6 PWM), 6 Analogicas (ADC 10 bits)
  • 6. PWM (Modulação por Largura de Pulso) AnalogWrite ([0-255]) – Porta Digital `
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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 :
  • 11. 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'
  • 12. 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!)
  • 13. 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 :
  • 14. 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 }
  • 15. IDE
    • Escrita em Java, roda em
      • Linux
      • OSX
      • Windows
    • Basta compilar
    • Escolher o microcontrolador
    • Upload do codigo via USB
    • Pronto!
  • 16. Mao na massa!
  • 17. Ferramenta didatica – Fritzing!
    • Represente circuitos para uma crianca de 5 anos
    • O Diagrama tambem esta disponivel.
    • Compartilhe!
  • 18. Simulador de circuitos!
    • http://www.falstad.com/circuit/
    • Simule sensores, motores, etc...
  • 19. 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 :
  • 20. Shield Ethernet
    • Fale com seu Arduino via TCP/IP, logo de qualquer lugar do mundo
  • 21. 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
  • 22. Motor Shield
    • 2 Servo motores
    • 4 Motores DC – dois sentidos
    • 2 motores de passo
  • 23. SD Shield
  • 24. Placas Derivadas do Arduino Resultado de tecnologias Open Source
    • Roboduino
      • Interfaceamento para motores e sensores
  • 25. ArduinoBT
    • Arduino com Bluetooth integrado
  • 26. Program-Me – Brasileira
    • Diversos sensores e drivers de motor on-board
      • Buzzer
      • Sensor de Luz
      • 4 drivers de motores
      • LEDs de Debug + Resistor
  • 27. Severino
    • Serial =(
    • 3.3V =)
  • 28. Nano
  • 29. Mega
  • 30. Fio
    • Desenhada para aplicacoes sem fio
      • Conector para bateria de Polimero de Litio
      • Xbee integrado
  • 31. Lilypad
    • Muito interessante – Componentes costuraveis
      • Linhas condutivas
  • 32. 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.
  • 33. E como falar com esse cara?
    • USB – FDTI USB/Serial
    • Serial
    • Ethernet - TCP/IP
    • Wi-Fi – TCP/IP
    • Bluetooth
    • Xbee?
  • 34. 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(&quot;/dev/ttyUSB0&quot;); $sp->databits(8); $sp->baudrate(9600); $sp->stopbits(1); $sp->parity(&quot;none&quot;); $sp->write(“s”);
  • 35. 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); } }
  • 36. 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
  • 37.  
  • 38. Arduino TV Out
  • 39. 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!
  • 40. 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
  • 41. ArduInRio
    • Comunidade carioca de Arduino
      • http://www.arduinrio.cc
      • http://wiki.arduinrio.cc
    • Dia 16 – III Arduino Hack Day
      • Palestras
      • Hands on
      • Arduino Dojo?
  • 42. Agora é usar a imaginação e desenvolver! Perguntas?
  • 43. Contato
    • [email_address]
    • [email_address]
    • @samircury
    • youtube.com/samircury – videos sobre Arduino e etc.

×