2. PerguntasPerguntas
Como devo faze-las?Como devo faze-las?
A Primeira:A Primeira:
Eu posso usar o Arduino emEu posso usar o Arduino em
projetos Comerciais?projetos Comerciais?
Como?Como?
Daqui a pouco respondemos.Daqui a pouco respondemos.
3. Nossa ProgramaçãoNossa Programação
●
Quem Sou EuQuem Sou Eu
●
Resposta a 1º Pergunta.Resposta a 1º Pergunta.
●
O que é o ArduinoO que é o Arduino
●
A Linguagem deA Linguagem de
ProgramaçãoProgramação
●
Microcontrolador?Microcontrolador?
●
Modelos de ArduinoModelos de Arduino
●
Porque usar o ARM?Porque usar o ARM?
●
Por onde começar?Por onde começar?
●
A arquiteturaA arquitetura
●
EspecificaçõesEspecificações
●
Escolhendo uma IDEEscolhendo uma IDE
●
O que precisamos saberO que precisamos saber
●
IntegraçãoIntegração
●
Onde eu e meus alunos oOnde eu e meus alunos o
usamos.usamos.
●
Sugestões de ProjetoSugestões de Projeto
●
4 projetinhos de4 projetinhos de
exemplo.exemplo.
●
Projetos Startups locaisProjetos Startups locais
●
Sorteio do KITSorteio do KIT
4. Carlos Delfino,Carlos Delfino,
Quem é?Quem é?
●
UmaUma LongaLonga HistóriaHistória;;
●
2727 anosanos dede TecnologiaTecnologia;;
●
Analista de SuporteAnalista de Suporte
(DOS 3.3 (~85), Windows (~90), Xenix (93), Unix (94), Linux(96))(DOS 3.3 (~85), Windows (~90), Xenix (93), Unix (94), Linux(96))
●
Analista e Desenvolvedor de SistemasAnalista e Desenvolvedor de Sistemas
(DBase (~86), Clipper (88), DataFlex (93), Java (2003), C para AVR/ARM)(DBase (~86), Clipper (88), DataFlex (93), Java (2003), C para AVR/ARM)
●
Consultoria em Projetos TICConsultoria em Projetos TIC
Foco em ONGs e Pesquisa, novos produtos.Foco em ONGs e Pesquisa, novos produtos.
●
Aluno Fundador da Fabrica de Projetos de SoftwaresAluno Fundador da Fabrica de Projetos de Softwares
●
Idealizador e Professor nos Cursos:Idealizador e Professor nos Cursos:
Arduino Minas (Hello World Arduino, Basicão da Eletrônica)Arduino Minas (Hello World Arduino, Basicão da Eletrônica)
5. Can I build a commercial productCan I build a commercial product
based on Arduino?based on Arduino?
●
Yes, with the following conditions:Yes, with the following conditions:
●
Physically embedding an Arduino board inside aPhysically embedding an Arduino board inside a
commercial product does not require you tocommercial product does not require you to
disclose or open-source any information about itsdisclose or open-source any information about its
design.design.
●
Deriving the design of a commercial product fromDeriving the design of a commercial product from
the Eagle files for an Arduino board requires youthe Eagle files for an Arduino board requires you
to release the modified files under the sameto release the modified files under the same
Creative Commons Attribution Share-Alike license.Creative Commons Attribution Share-Alike license.
You may manufacture and sell the resultingYou may manufacture and sell the resulting
product.product.
6. Can I build a commercial productCan I build a commercial product
based on Arduino?based on Arduino?
●
Using the Arduino core and libraries for the firmware ofUsing the Arduino core and libraries for the firmware of
a commercial product does not require you to releasea commercial product does not require you to release
the source code for the firmware. The LGPL does,the source code for the firmware. The LGPL does,
however, require you to make available object fileshowever, require you to make available object files
that allow for the relinking of the firmware againstthat allow for the relinking of the firmware against
updated versions of the Arduino core and libraries. Anyupdated versions of the Arduino core and libraries. Any
modifications to the core and libraries must bemodifications to the core and libraries must be
released under the LGPL.released under the LGPL.
●
The source code for the Arduino environment isThe source code for the Arduino environment is
covered by the GPL, which requires any modificationscovered by the GPL, which requires any modifications
to be open-sourced under the same license. It doesto be open-sourced under the same license. It does
not prevent the sale of derivative software or itsnot prevent the sale of derivative software or its
inclusion in commercial products.inclusion in commercial products.
7. O que é ArduinoO que é Arduino
●
Um Computador?Um Computador?
●
Um SoC, PsoC, ASIC ou FPGA?Um SoC, PsoC, ASIC ou FPGA?
System on Chip, Programable SoC, Application-specific IC,System on Chip, Programable SoC, Application-specific IC,
Field Programable Gate ArrayField Programable Gate Array
●
Um SoM?Um SoM?
System on ModuleSystem on Module
●
Um CoMUm CoM
Computer on ModuleComputer on Module
●
O que é afinal?O que é afinal?
8. A Linguagem C/C++A Linguagem C/C++
o Dialeto Arduino/Wiringo Dialeto Arduino/Wiring
●
Wiring, framework criado para as placasWiring, framework criado para as placas
Wiring anterior ao ArduinoWiring anterior ao Arduino
●
Arduino se inspirou no Wiring, criado no MIT eArduino se inspirou no Wiring, criado no MIT e
Inst. Ivrea por Ben Fry and Casey Reas.Inst. Ivrea por Ben Fry and Casey Reas.
●
Podemos usar praticamente todos os recursosPodemos usar praticamente todos os recursos
da linguagem C e alguns do C++ parada linguagem C e alguns do C++ para
MicrocontroladoresMicrocontroladores
●
Mas porque não outra linguagem?Mas porque não outra linguagem?
●
A IDE foi baseada na mesma usada peloA IDE foi baseada na mesma usada pelo
Processing.Processing.
9. O que é este MicroControlador?O que é este MicroControlador?
Quais opções?Quais opções?
●
PICPIC
Nome baseado em “Peripheral Interface Controller”Nome baseado em “Peripheral Interface Controller”
Pertence a “Microchip Technology”Pertence a “Microchip Technology”
Primeiras versões nos anos 70, tomou o mercado nos anos 80Primeiras versões nos anos 70, tomou o mercado nos anos 80
●
AVRAVR
Apenas Especulações sobre a origem do nomeApenas Especulações sobre a origem do nome
Pertence a ATMel, adquirida atualmente pela “Microchip”Pertence a ATMel, adquirida atualmente pela “Microchip”
Criado nos anos 90, o unico que utiliza tecnologia FlashCriado nos anos 90, o unico que utiliza tecnologia Flash
●
ARMARM
Advanced RISC MachineAdvanced RISC Machine
É uma arquitetura, pertecente a empresa de mesmo nomeÉ uma arquitetura, pertecente a empresa de mesmo nome
Utilizado por grandes empresasUtilizado por grandes empresas
●
Outro?Outro?
10. Quais os modelos de ArduinoQuais os modelos de Arduino
Seriam muitos a serem listados aqui!Seriam muitos a serem listados aqui!
Vamos conversando e descobrindo, masVamos conversando e descobrindo, mas
nosso foconosso foco será oserá o
Arduino DUEArduino DUE,,
e variações que utilizame variações que utilizam
Arquitetura ARMArquitetura ARM
11. Porquê usar ARMPorquê usar ARM
●
Desempenho;Desempenho;
●
Mais Memória, 32Bits;Mais Memória, 32Bits;
●
EscalabilidadeEscalabilidade do Hardware;do Hardware;
●
Portabilidade Entre Fabricantes;Portabilidade Entre Fabricantes;
●
Portabilidade do Algoritmo Principal;Portabilidade do Algoritmo Principal;
●
Comunidade Acessível;Comunidade Acessível;
●
Bem Documentado;Bem Documentado;
12. O que Precisamos para ComeçarO que Precisamos para Começar
●
Seria um bom ter um KIT Básico;Seria um bom ter um KIT Básico;
●
Conhecer a Arquitetura do Arduino;Conhecer a Arquitetura do Arduino;
●
Conhecer a Arquitetura (pelo menosConhecer a Arquitetura (pelo menos
superficialmente) do Microcontrolador;superficialmente) do Microcontrolador;
●
Conhecer o básico da Linguagem C/C++;Conhecer o básico da Linguagem C/C++;
●
Conhecer Alguns protocolos;Conhecer Alguns protocolos;
●
Conhecer Alguns algoritmos dentro doConhecer Alguns algoritmos dentro do
contexto que irá trabalhar;contexto que irá trabalhar;
●
Entender o mercado que pretendo atender;Entender o mercado que pretendo atender;
13.
14.
15.
16. ●
Microcontrolador:Microcontrolador:
AT91SAM3X8EAT91SAM3X8E
●
Memória Flash: 512 KBMemória Flash: 512 KB
(2x256Kb), total disponível para(2x256Kb), total disponível para
código.código.
●
SRAM 96 KBSRAM 96 KB
(2 bancos: 64KB and 32KB)(2 bancos: 64KB and 32KB)
memória (ram) para dados.memória (ram) para dados.
●
Clock: 84 MHzClock: 84 MHz
Parâmetros do Arduino DUEParâmetros do Arduino DUE
●
Corrente máxima pino 3.3V:Corrente máxima pino 3.3V:
800 mA800 mA
●
Corrente máxima pino 5V:Corrente máxima pino 5V:
800 mA800 mA
●
Corrente total somando todasCorrente total somando todas
as portas:as portas: 130 mA130 mA
●
Tesnsão de Trabalho:Tesnsão de Trabalho: 3.3V3.3V
●
Limite Tensão Entrada Dados:Limite Tensão Entrada Dados:
4V (suscetível a dano)4V (suscetível a dano)
●
Alimentação da Placa:Alimentação da Placa: 7-12V7-12V
(máximo 16V)(máximo 16V)
●
DimensõesDimensões: 101.52x53.3 mm: 101.52x53.3 mm
●
Peso: 36 gPeso: 36 g
17. Escolha uma IDEEscolha uma IDE
●
Existem várias opções, como:Existem várias opções, como:
– GCC Tools:GCC Tools:
• VIVI
• Notepad++Notepad++
– MariaMoleMariaMole
– Visual Studio + VisualMicroVisual Studio + VisualMicro
– ATMel StudioATMel Studio
– Eclipse Arduino PluginEclipse Arduino Plugin
– Eclipse ARM GCC PluginEclipse ARM GCC Plugin
– Entre muitos outrosEntre muitos outros
18. O que é preciso saberO que é preciso saber
●
No Mínimo Eletrônica Básica;No Mínimo Eletrônica Básica;
(Basicão da Eletrônica)(Basicão da Eletrônica)
●
Algoritmos Relacionados ao produto;Algoritmos Relacionados ao produto;
●
O que há no mercado modularizado;O que há no mercado modularizado;
(Quase tudo)(Quase tudo)
●
Quais os protocolos:Quais os protocolos:
– HardwareHardware
– SoftwareSoftware
19. O que preciso saber para integrarO que preciso saber para integrar
●
Equipamentos e MCUEquipamentos e MCU
– I2C/TWII2C/TWI
(Inter-Integrated Circuit)(Inter-Integrated Circuit)
(Two Wire Interface)(Two Wire Interface)
– OneWireOneWire
– SPISPI (Serial Processo Interface)(Serial Processo Interface)
– CANCAN (Controller Area Network)(Controller Area Network)
– LINLIN (Local Interconect Network)(Local Interconect Network)
– Serial (USART)Serial (USART)
(Universal Sincrono/Assincrono(Universal Sincrono/Assincrono
Receiver Transmiter)Receiver Transmiter)
– Outras portas, protocolosOutras portas, protocolos
de hardware e softwarede hardware e software
●
Software eSoftware e
ComputadorComputador
– USBUSB
– BlueToothBlueTooth
– Serial (USART)Serial (USART)
– IrDaIrDa
(Infrared Data(Infrared Data
Association)Association)
– WiFi 2.4ghz (802.11)WiFi 2.4ghz (802.11)
– GPRS/GSMGPRS/GSM
– Outros tipos de portasOutros tipos de portas
20. Onde eu e meus alunosOnde eu e meus alunos
usamos o Arduino?usamos o Arduino?
●
Uma solução de Monitoramento de RotasUma solução de Monitoramento de Rotas
de Segurançade Segurança
●
Uma Solução para Auditória de Postos deUma Solução para Auditória de Postos de
GasolinaGasolina
●
Um Instrumento Musical e InteraçãoUm Instrumento Musical e Interação
Artísticas (Synap.sis e Intimatron)Artísticas (Synap.sis e Intimatron)
●
Melhorando um velho tearMelhorando um velho tear
●
E você onde quer usar?E você onde quer usar?
21. Sugestões de Projetos?Sugestões de Projetos?
●
Acadêmicos ou não, há uma infinidade deAcadêmicos ou não, há uma infinidade de
projetos a serem realizados.projetos a serem realizados.
●
Atualmente propostos:Atualmente propostos:
– Iniciação Científica:Iniciação Científica:
• Pesquisa consumo de energia em sistemas dePesquisa consumo de energia em sistemas de
baixa energia e algoritmos de criptográficos;baixa energia e algoritmos de criptográficos;
• Produção de Artigos Técnicos relacionados a Rede;Produção de Artigos Técnicos relacionados a Rede;
– Projetos de Mestrado:Projetos de Mestrado:
• Mapeamento de Transito por Flood de PacotesMapeamento de Transito por Flood de Pacotes
26. Synap.sysSynap.sys
●
Instrumento MúsicalInstrumento Músical
●
Desenvolvimento por Henrique RoscoeDesenvolvimento por Henrique Roscoe
●
Consultoria Técnica Carlos DelfinoConsultoria Técnica Carlos Delfino
●
Uso em apresentações artísticas peloUso em apresentações artísticas pelo
MundoMundo
●
Venda como Instrumento MúsicalVenda como Instrumento Músical
●
Utiliza Arduino UNO Integrado a um MACUtiliza Arduino UNO Integrado a um MAC
via USB, sistema desenvolvido emvia USB, sistema desenvolvido em
MAX/MSPMAX/MSP
28. GAMESGAMES
●
GamebuinoGamebuino
●
OpensourceOpensource
●
Biblioteca e tutorial para novos jogosBiblioteca e tutorial para novos jogos
●
Expansível por módulosExpansível por módulos
●
Uso além dos jogos, controlador,Uso além dos jogos, controlador,
educacional, psicomotor, analiseeducacional, psicomotor, analise
comportamentalcomportamental
●
Compátivel com Arduino UNOCompátivel com Arduino UNO
●
€€ 35,00 (R$ 200)35,00 (R$ 200)
30. Automação ResidencialAutomação Residencial
CPL DuinoCPL Duino
●
08 Saídas Relés selados 10A08 Saídas Relés selados 10A
●
08 Entradas OptoAcopladas (Isoladas)08 Entradas OptoAcopladas (Isoladas)
●
Módulo Relógio RTC DS1307Módulo Relógio RTC DS1307
●
02 Saídas por Relés02 Saídas por Relés
●
Compátivel comArduinoCompátivel comArduino
●
Conectores para Shields padrão ArduinoConectores para Shields padrão Arduino
●
Conexão para Módulo WiFi ESP8266, Nrf24L01+Conexão para Módulo WiFi ESP8266, Nrf24L01+
●
Conector para LCD com Módulo de controle i2CConector para LCD com Módulo de controle i2C
●
Conector de expansão padrão UEXTConector de expansão padrão UEXT
●
Entrada de Alimentação de 12Vdc +-10% x 600mAEntrada de Alimentação de 12Vdc +-10% x 600mA
31. Automação ResidencialAutomação Residencial
CLP com ArduinoCLP com Arduino
●
Adequado para projetos:Adequado para projetos:
– ComerciaisComerciais
– EducacionaisEducacionais
– PesquisaPesquisa
●
Hardware ProprietárioHardware Proprietário
●
OpenSourceOpenSource
●
R$ 255,00R$ 255,00
32. Projeto EducacionalProjeto Educacional
●
Daniel ChagasDaniel Chagas
– Membro do ForhackerMembro do Forhacker
– Professor e PesquisadorProfessor e Pesquisador
– Fácil de MontarFácil de Montar
– Possui Trilhas LargasPossui Trilhas Largas
– Custo MínimoCusto Mínimo
– Compatível com o ArduinoCompatível com o Arduino
UNOUNO
– Funciona com Pilhas comunsFunciona com Pilhas comuns
– Custo Médio: R$ 15,00Custo Médio: R$ 15,00
35. Obrigado a todosObrigado a todos
Contatos:Contatos:
consultoria@carlosdelfino.eti.brconsultoria@carlosdelfino.eti.br
facebook.comCursoArduinoMinasfacebook.comCursoArduinoMinas
(85) 985.205.490(85) 985.205.490
Notas do Editor
SoM → System on Module
SoC → System on Chip
ASSIC → Application Specific Integrated Circuits
FPGA → Field Programmable Gate Array
PIC: Microcontroladores da arquitetura Harvard modificada fabricados pela Microchip Technology, "Peripheral Interface Controller" (Controlador de Interface Periférica)
ARM: Arcon Risc Machines depois passou a ser Advance Risc Machines
AVR: Microcontrolador de arquitetura Havard Modificada, fabricado pela ATMEL, a sigla AVR não significa nada em especial, mas há quem diga que é Alf (Egil Bogen) and Vegard (Wollan)'s RISC processor
Alguns outros para conhecer:
Stino para Sublime Text
Universal Embedded Computing IDE (UECIDE)
MakeFile e ANT scripts especiais para Arduino
embedXcode: Arduino on Xcode with Mac OS X
biicode (windows, linux, mac)
Muitos outros em http://playground.arduino.cc/Main/DevelopmentTools