26
Luciano Ramalho [email protected] @ramalhoorg Arduino: hardware hacking para todos

Arduino Garoa Fatec

Embed Size (px)

DESCRIPTION

slides sobre arduino

Citation preview

Page 1: Arduino Garoa Fatec

@ramalhoorg

Luciano [email protected]

@ramalhoorg

Arduino: hardware hacking para todos

Page 2: Arduino Garoa Fatec

@ramalhoorg

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

Page 3: Arduino Garoa Fatec

@ramalhoorg

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

Page 4: Arduino Garoa Fatec

@ramalhoorg

Família Arduino

LilypadNano

Uno Mega

etc...

Page 5: Arduino Garoa Fatec

@ramalhoorg

Clone de Arduino em protoboard

Page 6: Arduino Garoa Fatec

@ramalhoorg

Arduino UNO

• Um pequeno circuito com microcontrolador ATmega328 e circuitos auxiliares

• interface USB

• regulador de voltagem 7-12V

7cm

Page 7: Arduino Garoa Fatec

@ramalhoorg

ATmega328

• clock: 16 MHz

• SRAM: 2 KB

• EEPROM: 1 KB

• Flash: 32 KB

• bootloader Arduino: 0,5 KB

7cm

Page 8: Arduino Garoa Fatec

@ramalhoorg

Entradas e saídasno ATmega328

• 28 pinos

• 23 pinos multi-funcionais

Page 9: Arduino Garoa Fatec

@ramalhoorg

Entradas e saídassimplificadas

• 14 pinos de entrada e saída digital

• 6 com PWM

• 6 pinos de entrada analógica

Page 10: Arduino Garoa Fatec

@ramalhoorg

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)

Page 11: Arduino Garoa Fatec

@ramalhoorg

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.

Page 12: Arduino Garoa Fatec

@ramalhoorg

Garoa Hacker Clube• Laboratório comunitário,

aberto a todos (sócios ou não)

• Operado e mantido pelos próprios sócios

Page 13: Arduino Garoa Fatec

@ramalhoorg

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...

Page 14: Arduino Garoa Fatec

apresenta

Page 15: Arduino Garoa Fatec

CoDIng dOjo coM arduINO

Page 16: Arduino Garoa Fatec

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

Page 17: Arduino Garoa Fatec

o arduino do dojo

Page 18: Arduino Garoa Fatec

randorI: treIno lIvRe* Duplas se sucedem resolvendo o problema 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 volta para a platéia; co-piloto vira piloto; voluntário da platéia é o novo co-piloto

Page 19: Arduino Garoa Fatec

tdd = test-driven design* Escrever testes *antes* de implementar qualquer nova funcionalidade* Enquanto o teste não passa, a platéia não pode se manifestar (exceto a pedido dos pilotos)* Quando o teste passa, pessoas da platéia podem sugerir o próximo passo

Page 20: Arduino Garoa Fatec

tdd com hardware?

* É complicado automatizar testes com hardware* No DOJO COM ARDUINO fazemos testes manuais e observamos os resultados* Mas cada teste tem que ser documentado *antes* de implementar o próximo passo

Page 21: Arduino Garoa Fatec

babY steps

* Para avançar com segurança e constância, cada passo deve ser bem 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 sugerir passos bem pequenos e triviais

Page 22: Arduino Garoa Fatec

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

Page 23: Arduino Garoa Fatec

O probleMa de hoje

* Fazer uma animação simples acendendo e apagando sequencialmente os leds do perímetro do display de 7 segmentos, com a velocidade controlada pelo potenciômetro

Page 24: Arduino Garoa Fatec

display de 7 segmentos

potenciômetroArduino

Page 25: Arduino Garoa Fatec

Mão na massA!

* Voluntários?* Se não houver voluntários, o RANDORI pode ser terminado prematuramente!

Page 26: Arduino Garoa Fatec

venhaM nos vIsITAR eM São Paulo, todos são bem-vindos!

http://garoa.net.br