Successfully reported this slideshow.
Luciano Ramalho                           luciano@ramalho.org                                   @ramalhoorgArduino: hardwa...
Hardware hacking• Hacking: exploração ativa da tecnologia, motivada  pela curiosidade• Hardware hacking: hacking de equipa...
Família Arduino• Pinos genéricos: entradas e saídas digitais, analógicas• Conexão USB• Uma interface universal para comput...
Família Arduino     Uno              Mega                               etc...                     Nano           Lilypad ...
Clone de Arduinoem protoboard                   @ramalhoorg
Arduino UNO• Um pequeno  circuito com  microcontrolador  ATmega328 e  circuitos auxiliares          7cm • interface USB • ...
ATmega328• clock: 16 MHz• SRAM: 2 KB• EEPROM: 1 KB               7cm• Flash: 32 KB • bootloader    Arduino: 0,5 KB        ...
Entradas e saídasno ATmega328• 28 pinos• 23 pinos multi-  funcionais                    @ramalhoorg
Entradas e saídassimplificadas• 14 pinos de entrada  e saída digital • 6 com PWM• 6 pinos de entrada  analógica            ...
Eco-sistema Arduino• Vários livros  publicados (no  Brasil inclusive)• Incontáveis blogs e  vídeos no YouTube  com projeto...
Arduino na educação• Uma solução para o dilema da 1ª linguagem• Linguagem C, num contexto de uso simples  porém estimulant...
Garoa Hacker Clube• Laboratório comunitário,  aberto a todos  (sócios ou não)• Operado e mantido  pelos próprios sócios   ...
Garoa Hacker Clube             • Missão: facilitar a troca               de conhecimento e               experiência entre...
apresenta
CoDIng dOjocoM arduINO
coding dojo* Treino coletivo de programação* Divertido e eficaz para: * Treinar boas práticas (Ex. TDD) * Aprender novas l...
o arduino do dojo
randorI: treIno lIvRe* Duplas se sucedem resolvendo oproblema usando TDD e baby steps* Uma dupla: piloto e co-piloto * Pil...
tdd =test-driven design* Escrever testes *antes* deimplementar qualquer novafuncionalidade* Enquanto o teste não passa, ap...
tdd com hardware?* É complicado automatizartestes com hardware* No DOJO COM ARDUINO fazemostestes manuais e observamos osr...
babY steps* Para avançar com segurança econstância, cada passo deve serbem simples * Resista à tentação de resolver o prob...
exemplO:   Primeiro teste* Piscar o led do pino 13 * Para verificar a conexão USB e funcionamento básico do Arduino e do c...
O probleMa de hoje* Fazer uma animação simplesacendendo e apagandosequencialmente os leds doperímetro do display de 7segme...
display de 7 segmentos Arduino          potenciômetro
Mão na massA!* Voluntários? * Se não houver voluntários, o RANDORI pode ser terminado prematuramente!
venhaM nos vIsITAR eM São Paulo,     todos são bem-vindos!     http://garoa.net.br
Upcoming SlideShare
Loading in …5
×

Arduino: hardware hacking & coding dojo

4,343 views

Published on

Apresentação sobre Arduino e Coding Dojo com Arduino, uma atividade do Garoa Hacker Clube

Published in: Technology
  • Be the first to comment

Arduino: hardware hacking & coding dojo

  1. 1. Luciano Ramalho luciano@ramalho.org @ramalhoorgArduino: hardware hacking para todos @ramalhoorg
  2. 2. Hardware hacking• Hacking: exploração ativa da tecnologia, motivada pela curiosidade• Hardware hacking: hacking de equipamentos • desmontar o despertador • lockpicking • reciclar motores de impressoras para fazer uma máquina de corte CNC @ramalhoorg
  3. 3. Família Arduino• Pinos genéricos: entradas e saídas digitais, analógicas• Conexão USB• Uma interface universal para computação física• Uma plataforma para sistemas autônomos: • robôs, automação residencial, arte interativa...• Open Hardware: pode ser copiado livremente @ramalhoorg
  4. 4. Família Arduino Uno Mega etc... Nano Lilypad @ramalhoorg
  5. 5. Clone de Arduinoem protoboard @ramalhoorg
  6. 6. Arduino UNO• Um pequeno circuito com microcontrolador ATmega328 e circuitos auxiliares 7cm • interface USB • regulador de voltagem 7-12V @ramalhoorg
  7. 7. ATmega328• clock: 16 MHz• SRAM: 2 KB• EEPROM: 1 KB 7cm• Flash: 32 KB • bootloader Arduino: 0,5 KB @ramalhoorg
  8. 8. Entradas e saídasno ATmega328• 28 pinos• 23 pinos multi- funcionais @ramalhoorg
  9. 9. Entradas e saídassimplificadas• 14 pinos de entrada e saída digital • 6 com PWM• 6 pinos de entrada analógica @ramalhoorg
  10. 10. Eco-sistema Arduino• Vários livros publicados (no Brasil inclusive)• Incontáveis blogs e vídeos no YouTube com projetos• Mercado de shields (placas de expansão) @ramalhoorg
  11. 11. Arduino na educação• Uma solução para o dilema da 1ª linguagem• Linguagem C, num contexto de uso simples porém estimulante • foco em algoritmos • sem a complexidade incidental de I/O via sistema operacional, strings etc. @ramalhoorg
  12. 12. Garoa Hacker Clube• Laboratório comunitário, aberto a todos (sócios ou não)• Operado e mantido pelos próprios sócios @ramalhoorg
  13. 13. Garoa Hacker Clube • Missão: facilitar a troca de conhecimento e experiência entre entusiastas de tecnologia • Inspirado pelos hackerspaces de Berlin, New York, San Francisco, Praga... @ramalhoorg
  14. 14. apresenta
  15. 15. CoDIng dOjocoM arduINO
  16. 16. coding dojo* Treino coletivo de programação* Divertido e eficaz para: * Treinar boas práticas (Ex. TDD) * Aprender novas linguagens ou APIs * Integrar novos membros ao time
  17. 17. o arduino do dojo
  18. 18. randorI: treIno lIvRe* Duplas se sucedem resolvendo oproblema usando TDD e baby steps* Uma dupla: piloto e co-piloto * Piloto opera o teclado * Co-piloto ajuda na solução* Após 5 minutos, piloto voltapara a platéia; co-piloto virapiloto; voluntário da platéiaé o novo co-piloto
  19. 19. tdd =test-driven design* Escrever testes *antes* deimplementar qualquer novafuncionalidade* Enquanto o teste não passa, aplatéia não pode se manifestar(exceto a pedido dos pilotos)* Quando o teste passa, pessoasda platéia podem sugerir opróximo passo
  20. 20. tdd com hardware?* É complicado automatizartestes com hardware* No DOJO COM ARDUINO fazemostestes manuais e observamos osresultados* Mas cada teste tem que serdocumentado *antes* deimplementar o próximo passo
  21. 21. babY steps* Para avançar com segurança econstância, cada passo deve serbem simples * Resista à tentação de resolver o problema todo de uma vez só, ou partir direto para abstração e generalização* Não tenha medo de sugerirpassos bem pequenos e triviais
  22. 22. exemplO: Primeiro teste* Piscar o led do pino 13 * Para verificar a conexão USB e funcionamento básico do Arduino e do circuito sob teste
  23. 23. O probleMa de hoje* Fazer uma animação simplesacendendo e apagandosequencialmente os leds doperímetro do display de 7segmentos, com a velocidadecontrolada pelo potenciômetro
  24. 24. display de 7 segmentos Arduino potenciômetro
  25. 25. Mão na massA!* Voluntários? * Se não houver voluntários, o RANDORI pode ser terminado prematuramente!
  26. 26. venhaM nos vIsITAR eM São Paulo, todos são bem-vindos! http://garoa.net.br

×