oficina arduino

Download Oficina Arduino

If you can't read please download the document

Post on 14-May-2015

5.585 views

Category:

Education

4 download

Embed Size (px)

TRANSCRIPT

  • 1.Workshop Arduino Francisco Marcelino Almeida franciscomarcelinoalmeida@gmail.comMarcus Vincius de Sousa Lemos marvinlemos@gmail.com

2. ApresentaoSobre o professor:Marcus Vincius de Sousa LemosMestre em Informtica Aplicada pela Universidade de Fortaleza UniforProfessor da Universidade Estadual do Piau UespiPesquisador do Laboratrio de Inteligncia Computacional Laic - UespiAuditor Fiscal de Controle Externo (Informtica) TCE/PIreas de Interesse:Redes de Sensores, Inteligncia Computacional, Robticamarvinlemos@gmail.comhttp://www.marvinlemos.net@marvinlemos 3. ApresentaoSobre o professor:Francisco Marcelino Almeida de ArajoMestrando em Biotecnologia pela Universidade Federal do Piau - UFPIProfessor do Instituto Federal do Piau IFPIreas de Interesse:Inteligncia Computacional, Processamento de Imagens,Microeletrnica, Nanotecnologiafranciscomarcelinoalmeida@gmail.comhttp://www.arduinopi.net@keyjin 4. Arduino 5. MotivaoConvergncia: tecnologia, criao e arteBaixo custo de microcontroladoresPlataformas de hardware abertas sendocriadosFebre DoItYourself 6. MotivaoDiversas aplicaes prticasRobsRoupas eletrnicasDesenvolvimento de celulares customizadosInstrumentos musicaisParedes interativasRedes de Sensores 7. MicrocontroladorTambm conhecido como MCU (MicrocontrollerUnit)Computador em um chipProgramado para funes especficas(geralmente para interagir com atuadores)Geralmente embarcados em outros dispositivos 8. MicrocontroladorATmega328PIC 16F628ABasic Stamp 9. ATMega328PCaractersticas do Atmega328:RISCProcessador: 8-bitFlash (Kbytes): 32EEPROM (Bytes): 1KSRAM (Bytes): 2KPWM Channels: 6Vcc (V): 1.8 5.5 10. ATMega328P 11. ArduinoPlaca + Microcontrolador + USB +SocketsPode ser conectado a uma grandevariedade de dispositivos:Sensores: Luz, temperatura, presena,etc.Displays: LCD, touchscreenMotores e servosGPSComunicao sem fio: 802.15.4,Zigbee, BluetoothEthernetAlimentao: Bateria de 9V ou pormeio da USB 12. Da pgina oficial (www.arduino.org):Arduino is an opensource electronics prototyping platform based onflexible, easytouse hardware and software. Its intended for artists,designers, hobbyists, and anyone interested in creating interactiveobjectsorenvironments.Arduinocansensetheenvironmentbyreceivinginputfromavarietyofsensorsandcanaffectitssurroundingsbycontrollinglights,motors,andotheractuators.ThemicrocontrollerontheboardisprogrammedusingtheArduinoprogramminglanguage(basedonWiring)andtheArduinodevelopmentenvironment(basedonProcessing).Arduinoprojectscanbestandaloneortheycancommunicatewithsoftwareonrunningonacomputer(e.g.Flash,Processing,MaxMSP). 13. Arduino Open-Source 14. Arduino com Protoboard 15. Arduino em Papel 16. ArduinoCriado na Itlia (em 2005) pelo Mssimo Banzi, noInteraction Design IvreaBaixo custo de produo e alta aplicabilidadeComputao fsica e redes de sensoresPermite que os programas (ou sketches) sejamescritos em uma linguagem de alto nvel chamadaProcessingProcessing um ambiente e linguagem deprogramao para criar imagens, animao einteraohttp://processing.org/ 17. Verses do ArduinoArduino Uno 18. Verses do ArduinoArduino Nano 19. Verses do ArduinoArduino Mega 20. Verses do ArduinoArduino Lilypad 21. Verses do ArduinoArduino Romeo All-in-one 22. Caractersticas do Arduino UnoMicrocontrolador ATmega328PTenso Operacional 5VTenso de Alimentao7-12 VPinos de I/O digitais14 (dos quais 6 podem ser sadas PWM)Pinos de entrada analgica 6Corrente contnua por pino de I/O40 mACorrente contnua para o pino de 3.3 V 50 mAMemria Flash2KBEEPROM 1KFrequncia de clock16 MHz 23. Arduino Diecimila/Uno 24. Ok... but first, lets go shopping 25. Kit Para Iniciante 26. Outros Componentes 27. Sensores 28. Hello World 29. Ambiente de DesenvolvimentoO ambiente de desenvolvimento pode serbaixado em: http://arduino.cc/en/Main/Software A ltima verso a 0022O arquivo compactado deve ser extrado emqualquer diretrio do sistemaSer criado um diretrio arduino-XXXX, ondeXXXX a verso baixado (por exemplo:arduino-0022). 30. Ambiente de DesenvolvimentoExecutar o arquivo arduino 31. Ambiente de Desenvolvimento 32. Configurando o AmbienteLinuxConecte o Arduino ao seu computador, por meio da porta USB eespere alguns segundos at que o sistema recohea o dispositivoPara confirmar se o dispositivo foi reconhecido, abra um terminal eexecute o comando abaixo:$ dmesgProcure, nas ltimas linhas, por uma linha mais ou menos parecidacom a de baixo:[56999.967291] usb 5-2: FTDI USB Serial Device converternow attached to ttyUSB0Essa mensagem indica que o kernel reconheceu um novodispositivo conectado na porta /dev/ttyUSB0.O sistema nem sempre reconhece como /dev/ttyUSB0, mas emgeral /dev/tty 33. Configurando o AmbienteWindows: http://arduino.cc/en/Guide/WindowsMac OSX: http://arduino.cc/en/Guide/MacOSX 34. Configurando o AmbienteConfigurar o ambiente de desenvolvimento parautilizar a porta detectado pelo sistema:Tools Serial PortConfigurar a placa utilizada:Tools Board e escolher a opo Arduino Uno 35. Hello WorldO primeiro projeto ser o equivalente HelloWorld para dispositivos embarcadosComo no h um terminal, iremos fazer piscar(blink) um LED.A placa do Arduino vem com um LED embutido,conectado ao pin digital 13Esta conexo faz com que o pin 13 seja semprede sada, mas como o LED usa pouca corrente,ainda possvel conectar outras coisas na sada 36. Hello WorldCdigo:int ledPin = 13;void setup() {// initialize the digital pin as an output.// Pin 13 has an LED connected on most Arduinoboards:pinMode(ledPin, OUTPUT);}void loop() {digitalWrite(ledPin, HIGH);// set the LED ondelay(1000); // wait for a seconddigitalWrite(ledPin, LOW); // set the LED offdelay(1000); // wait for a second} 37. Hello WorldPara fazer o upload para a placa, deve-seclicar no boto especfico: 38. Explicando o cdigoUm sketch Arduino possui, no mnimo duasfunes:setup():Executada apenas uma vez, durante a inicializaoloop():Funo principal 39. Explicando o cdigosetup() pinMode(ledPin, OUTPUT); A funo pinMode define o modo de operao do pino. Neste caso, definimos que o pino 13 (ledPin) ser de sada 40. Explicando o cdigoloop() digitalWrite(ledPin, HIGH); Permite ligar (5V) ou desligar (0V) um pino digital Neste cdigo especifico, estamos ligando (constante HIGH) o pino 13 (ledPin) Por meio da constante LOW, podemos desligar o pino delay(200) A funo delay() faz com que o processado fique X milisegundos em espera 41. Revisando Componentes:Breadboard, Resistor &LED 42. Breadboard (Protoboard)Breadboard (ou protoboard ou Matriz de Contato)Dispositivo que permite aconstruo de circuitos sema necessidade de soldaFcil prototipaoNa superfcie h uma basede plstico com vriosorifcios onde soencaixados os componentesNa parte inferior h contatosmetlicos que interligam oscomponentes inseridos naplaca 43. Breadboard (Protoboard)Breadboard (ou protoboard ou Matriz de Contato)Os furos das linhas verticaisesto interligados 44. ResistorResistor:Componente projetado para gerar uma resistncia corrente eltrica e, consequentemente, diminuir atenso entre os dois terminaisMedido em Ohm e representado pela letra gregaOmega ( )Os pinos digitais geram uma tenso de 5 V (DC) a40mALEDs geralmente precisam de uma tenso de 2 V ecorrente de 10mA (para brilhar razoavelmente bem) 45. ResistorResistor:Precisamos de um resistor capaz de reduzir a tensode 5 para 2 (Voltage Drop) e a corrente de 40mApara 10mAPara descobrir o valor do resistor apropriado, vamosutilizar a Lei de Ohm:I = V/R ouR = V/ I ouR = (Tenso fornecida Tenso apropriada) / I R = (5 2)/0.01 = 3/0.01 = 300 46. ResistorComo ler os valores dos resistores: 47. Resistor 48. LEDLED: Light Emmiting Diode Diodo um componente que permite que a corrente siga apenas uma direo Um LED um diodo que emite luz 49. Projeto 001:LED Flasher 50. LED FlasherComponentes: 51. LED FlasherConexo: 52. LED Flasher 53. LED FlasherCdigo:int ledPin = 10;void setup() {pinMode(ledPin, OUTPUT);}void loop() {digitalWrite(ledPin, HIGH);delay(1000);digitalWrite(ledPin, LOW);delay(1000);} 54. Revisando Componentes: Potencimetro 55. PotencimetroO potencimetro simplesmenteum resistor cuja resistncia podeser ajustadaPor exemplo: em um potencimetrode 4K7, a resistncia pode variarentre 0 e 4700 Possui trs pernas:Conectando apenas duas, o potencimetrotransforma-se em um resistor varivelConectando 3 e aplicando uma tenso, opotencimetro transforma-se em um divisor detenso (voltage divider) 56. Projeto 002:Interactive LEDChase Effect 57. Interactive LED Chase EffectComponentes: 58. Interactive LED Chase EffectConexo: 59. Interactive LED Chase Effectbyte ledPin[] = {11,12,13};void changeLed(){int ledDelay; //delay between changesint direcao = 1; for (int x = 0; x < 3; x++){int currentLed = 0;digitalWrite(ledPin[x], LOW);unsigned long changeTime;}int potPin = 2; //select the input pin forthe potdigitalWrite(ledPin[currentLed], HIGH);void setup() { currentLed += direcao;for (int x = 0; x < 3; x++){pinMode(ledPin[x], OUTPUT);if (currentLed == 2) { direcao = -1; }}if (currentLed == 0) { direcao = 1; }changeTime = millis(); }}void loop(){ledDelay = analogRead(potPin);if ((millis() - changeTime) > ledDelay){changeLed();changeTime = millis();}} 60. Interactive LED Chase EffectConsideraes:Inicialmente declaramos uma varivel para opotencimetro: int potPin = 2;O potencimetro est conectado a uma porta analgicaPara ler o valor de uma porta analgica, utilizamos afuno analogReadUm Arduino possui 6 portas anlogicas com um conversoranalgico-digital de 10bitsUma porta anlogica pode ler tenso entre 0V e 5V emvalores inteiros entre 0 (0V) e 1023 (5V).Resoluo de: 5V / 1024 unidades ou 0.0049V (4.9mV) porunidade 61. Revisando Componentes:Tactile Switch 62. Tactile SwitchTactile Switch 63. Tactile SwitchTactile Switch 64. Tactile SwitchTactile SwitchFonte: http://www.ladyada.net/learn/arduino/lesson5.html 65. Tactile SwitchAlm de controlar a corrente, funcionam comotimos dispositivos de entradaNo prximo exemplo, vamos configurar a correnteem um pino para 5V ou terra e usar a funodigitalRead para consultar