arduino day 2014 bh - hello world arduino

Download Arduino day 2014   BH - Hello World Arduino

Post on 15-Jul-2015

539 views

Category:

Technology

4 download

Embed Size (px)

TRANSCRIPT

Hello World ArduinoUma Introduo ao Arduino.Os primeiros passos para domina-lo.

http://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoa

Quem Sou?Carlos Delfino - Um idealista, as vezes utpicoHobista/Maker Eletronica e TI desde 1984 (a 30 anos)Analsta de suporte desde 1992 (a 22 anos)(Xenix, Unix, Linux, Windows, VirtuOS)Analista de redes desde 2005 (formao)Desenvolvedor Java desde 2005 (bolsista em projetos de mestrado e pesquisa)Desenvolvedor PHP desde 1999/2000Usurio Linux desde 1996 (Um dos motivadores da funo da comunidade Slackware em BH)nullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaQuem Sou?FIC - Faculdade Integrada do Cear - 2005Projeto e Implementao de Redes de ComputadoresUm dezena ou mais de cursos de programao e gesto de projetos desde 2003Atuei como Bolsista em dois projetos de mestrado, cheguei a ser cotado como bolsista para mestrado na UFC, com 4 semestres de faculdade.Ns ltimos 15 anos buscando influenciar e desenvolver um projeto Social de tecnologia, inspirado no Woz (Worzniak)A 6 anos conheci o xBeeA 3 anos conheci o Arduinonullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaO que espero com este cursoAbrir a porta do mundo para quem quer conhecer as possibilidades de se criar seu prprio projeto;Apresentar os conceitos bsicos do Arduino e tpicos relacionados;Alimentar o desejo dos participantes na tecnologia e mostrar que melhor criar do que ser [CTRL+C]/[CTRL+V];Se tornarem programadores de verdade, e mostrar que nem sempre o caminho mais fcil o mais adequado e elegante;Programar mais que escrever cdigo, tanto quanto escrever poesias e belos contos.nullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaTpicos do CursoModelos de ArduinosArquitetura do Arduino UNOArquitetura do AtMega328Esqueleton, estrutura do cdigo do ArduinoManipulando PortasPortas DigitaisPortas AnalgicasComunicao SerialTipo de VariveisEstruturas Lgica de Controle:IfForWhileEscopo de variveisInterrupesExpandindo o ArduinoShieldsMdulosProtocolosnullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaModelos de ArduinoMuito Alm de uma placa, um controladorUm conceito.Originais e Cloneshttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaATmega2560, 54 Portas Digitais, 16 Analgicas, 15 PWM, 4 UARTS (Seriais), 6 Interrupes externas, 256KB Flash (8k para bootloader), 8KB SRAM, 4KB EEPROM

Arduino Meganullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaUsa 4K para o bootloader porque ele no tem o acoplador usb serial ttl, j que o prprio chip atmega32u4 tem a porta USB diretamente, portanto o cdigo de adaptao USB j vem no bootloader.ATmega32U4, 12 Analgicas, 7 PWM, 4 Interrupes externas, 32k Flash (4k para bootloader), 2,5K SRAM, 1KB EEPROM

Arduino Leonardonullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaUsa 4K para o bootloader porque ele no tem o acoplador usb serial ttl, j que o prprio chip atmega32u4 tem a porta USB diretamente, portanto o cdigo de adaptao USB j vem no bootloader.SAM3X8E ARM Cortex-M3, 32bits, clock de 84Mhz, 96KB SRAM, 512KB Flash, 54 portas digitais, 12PWM, 12Analogicas, 4 UARTs (Seriais), 2 DACs, 1USB OTG, 2 TWI, DEBUG, usa 3.3V

Arduino DUEnullhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaFale um pouco do ARM-M, ARM-AOTGconsumo total em todas as portas Digitais 130mANo pode suar os pinos de 5V e 3.3V para alimentar a placa, pois preciso ser regulado, pode danificarExistem muitos outros modelos, que podem ser encontrados na pgina do Arduino (http://arduino.cc) ;H tambm h clones ou similares, como por exemplo o FreeDuino ou o Sanguino;nullOutros Modeloshttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaArquitetura do ArduinoArduino UNO R3http://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaMicrocontrolador:ATmega328Voltagem padro de Operao:5VNvel de voltagem de entrada recomendado: 7 a 12V, Limites: 6-20VPinos de Entrada e Sada Digital: 14 (sendo 6 com sada PWM) + 6 compartilhadas com as entradas Analgicas.Pinos de Entrada Analgica: 6 (que tambm podem ser usadas como digital)Limite de corrente por sada 5V: 40mA, mximo de 200mA simultneo.Memria Flash (Memria de programa): 32KB, sendo 0.5KB usado pelo Bootloader.SRAM (Memria de dados): 2KBEEPROM: 1KBClock: 16MhznullCaractersticas Tcnicashttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaEstrutura do Arduinonull

ahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoa

Arquitetura do ATmeganullahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoa

Arquitetura do padro AVRnullahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoa

nullahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaO Arduino composto por um framework chamado WiringEm sua forma original o Wiring d suporte para cores AVR, AVR Xmega, AVR Tiny, MSP430 da TI, PIC24/32 e STM M3 ARMNo Arduino podemos dizer que usamos um Dialeto C/C++ chamado Wiring, que nada mais que a Linguagem C/C++ empoderada com o Framework Wiring.Compilador utilizado para Arduino o GCC-AVR, H outros compiladores para a linha AVR: IAR, Eclipse + GCC, ATMel Studio (Visual Studio + GCC)nullC, C++ ou Wiringhttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaFalar da Linguagem Wiring, sua origem.O Framework Wiring completo pode ser obtida no site: http://wiring.org.co/Wiring uma iniciativa de Hernando Barragn da Universidade de Los Andes, da escola de Design e Arquitetura. Foi criada no Instituto de Interao e Design de Ivrea na Italia e atualmente desenvolvida na Universidade de Los Andes na Colombia.J o IAR um sistema integrado de desenvolvimento que gera cdigo para uma ampla gama de microcontroladores e processadores, sendo produzido pela IAR System.void setup(){}void loop(){}void serialevent(){}nullEsqueletonA estrutura do cdigo do ArduinoSetup: prepara todo o ambiente executado quando se liga o Arduino;Loop: Executado constantemente, mesmo que solicitando explicitamente a sada chamada novamente;SerialEvent: Funo executada sempre que chega algum caracter na serial, porm somente executada entre interaes com a funo loop. "No obrigatrio"http://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaFalar da estrutura do cdigo, funes:void setup(){}void loop(){}void serialevent(){}Manipulando as PortasInteragindo e controlando o mundo externohttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaUsando as Portas DigitaispinMode(port, mode);

digitalWrite(port, state);

bool digitalRead(port);nullpinMode: ajusta a porta se entrada ou sada, recebe o nmero indicativo da porta e um dos modos: INPUT, OUTPUT, INPUT_PULLUPdigitalWrite: escreve na porta informada um dos estados: HIGH (1) ou LOW (0)bool digitalRead: L a porta retornando um bool, o estado da porta HIGH/TRUE/1 ou LOW/FALSE/0http://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoahttp://facebook.com/CursoArduinoMinashttp://facebook.com/BasicaoDaEletronicahttp://facebook.com/TelefoniaEAutomacaoaAqui veremos o uso das portas Digitais tanto como entrada e sada, a escolha das portas e um pouco de PWM (Pulse Width Modulation) e interrupes alm das portas que so de uso especifico como serial e SPI (Serial Processor Interface)Usando as Portas AnalgicasanalogReference(type);

int analogRead(port);

analogWrite(port,value);nullanlogReference: permite definir uma nova referncia de limites para converso analgica, podendo ser DEFAULT (5V), INTERNAL (1.1V), EXTERNAL (usa o pino ARef)analogRead: Faz a leitura do nvel de tenso da porta analgica A0 at A5, retornando um valor entre 0 e 1023, veremos mais a frente mais detalhes;analogWrite: simula uma sada analgica, podem ser usadas apenas em pinos que possuam recurso PWM, sendo as portas 3,5,6,9,10,11. Permite valores entre 0 (0%) e 255(100%) d