Arduino: hardware hacking & coding dojo

4.259 visualizações

Publicada em

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

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.259
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2.255
Ações
Compartilhamentos
0
Downloads
57
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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

    ×