workshop de arduino
TRANSCRIPT
+
Workshop Arduino
Desiree Santos@desisant
+ Agenda
Click icon to add picture
* Hardware Corrente, Tensão, resistência Protoboard: Como funciona ?
* Software IDE arduino Ifs, else, for DigitalRead, DigitalWrite, ... * Atividades[eletrônica + programação] + Sensor luminosidade + Buzzer + Leds + Botão, ...
* Jogo arduBOPE
* O que é arduino ?
+ O que é arduino ?Computador em formato de placa, voltado para prototipaç˜o de projetos
Interativos, sendo o mesmo open [harware & software] de fácil manuseio, baixo custo e flexível.
+ Quem criou
Massimo Banzi
+David
+ Pq. esse nome
Massimo Banzi
+David
+ Quando foi criado
Massimo Banzi
+David
+ Simplesmente,fácil!Abstrai tarefas que facilitam o manuseio, tornando o mais acessível.
Embarcar código via USB
Baixo custo
Multiplataforma [Linux, Windows, Mac]
Comunidade muito forte e viva !!
Tudo é open [Hardware e Software], menos a marca
Aqueceu e revolucionou o mundo microcontroladores
+ O que posso fazer ?
O Céu é o limite !!!
+
ELETRÔNICA
+ Eletrônica
Ciência que estuda a forma de se controlar a energia elétrica, por meios eletrônicos, no qual os elétrons(menor partícula) possuem papel fundamental.
Fonte: Wikipedia
A computaçao física, requer software controlando hardware !
+ Corrente elétrica
Fluxo de elétrons em movimento em uma mesma direção, que circula por um condutor, esse movimento ocorre devido d.d.p(diferença de potencial)
A corrente elétrica é medida em Ampere
Unidade de medida A
Arduino pinos I/O 5v - 40mA
Arduino pino 3.3v - 50mA
Corrente contínua
+ Tensão elétrica
Força exercida sobre um determinada ponto,sendo a diferença de potencial entre as extremidades
Tensão elétrica é medida em I
Unidade de medida V
Tensão operação: 5v
Tensão entrada: 7 -12v
Tensão de entrada limites: 6 - 20v
Pinos: Vin, 5v, 3.3v
+
I = V / R
Calcular corrente
+ Resistor• Símbolo
R= (Vs –Vf) / I
R -> Resistência elétricaVs -> Tensão da fonte de alimentaçãoVf -> Tensão do ledI -> Corrente do led
R= (5 – 2,2) / 0,015R= 187 Ω
Para alimentar o led com a saída de 5V de um pino digital do arduino.Corrente de 15mA e tensão de 2,1V. Calcule usando a fórmula:
Como não temos um resistor com esta resistência, usamos o resistor mais próximo desse valor, 330Ω.
+ Tabela de cores
Há diversos softwares que calculam o valor da resistência.
+ Mão na massa …
+Como funciona ?
Pro
toboard
+ Eletrônica …
+
SOFTWARE
+IDE
+Linguagem
• Arduino utiliza a linguagem wiring, sendo a mesma
baseada C/C++, trazendo para o universo
SoC(System on Chip) o poder de controlar
diretamente o hardware, através do easy-to-use
by bare-metal para comandar portas digitais e
analógicas.
+Estrutura de decisão: If,If-else
Estrutura de decisão:
• If Se (verdade) então faz X
If (1 >0){ status = true}
• If – else Se (verdade) entao faz X senao faz Y
If (1 >0){ …}else{ …}
+Estrutura de decisão: If,If-else
• Exercício
+Estrutura de repetição: For
• ForFor(int x =0; 1 >100; i++){ …}
Variável (int x =0 )Expressão ( I > 100)Incremento ( i++)
• Exercício
+
Hackear \o/
+1
Blink (pisca – pisca)
< Hello word da eletrônica >
+ Blink
void setup() { pinMode(13, OUTPUT); }void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);}
+2
Fade(Acender led lentamente)
+ Fade
int led = 9;int brightness = 0;int fadeAmount = 5:
void setup() { pinMode(led, OUTPUT);}
void loop() { analogWrite(led, brightness); brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } }
+3
Push Button(Pressione o botão)
+ Push Button
int pushButton = 2;void setup() {Serial.begin(9600);pinMode(pushButton, INPUT); }void loop() {int buttonState = digitalRead(pushButton);Serial.println(buttonState); delay(1);}
+4
Speaker(Tocando música - MIDI)
+Speaker #include pitches.h
int melody[] = { NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};
int noteDurations[] = { 4, 8, 8, 4,4,4,4,4 };
void setup() {for (int thisNote = 0; thisNote < 8; thisNote++) {
int noteDuration = 1000/noteDurations[thisNote]; tone(8, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(8); }}
void loop() { // no need to repeat the melody.}
+5
LDR(Sensor de luminosidade)
+LDR int valor = 0;
int led_pin = 8; int analogin = 5; void setup(){Serial.begin(9600); }
void loop(){
valor = analogRead(analogin)Serial.print(“O valor Da LDR e igual a: “); Serial.println(valor);delay(25);
if (valor < 300) {digitalWrite(led_pin, HIGH)} else { digitalWrite(led_pin, LOW); }}
+ JOGO
Arduino Like a BOPE
Missão dada é missão cumprida !
+- Cada grupo receberá 1 kit contendo a missão com objetivo de cumpri-lá.
- 1 kit por grupo contendo [componentes eletrônicos + missão por escrito + dicas de eletrônicas e programação]
REGRA:Todos os grupos devem respeitar o tempo da rodada, sendo o mesmo de 30 min
Após 30 min, término da rodada, o grupo deverá se unir a outro grupo
NINGUÉM pode pedir para sair !!!
+
- Grupo 1: Controle remoto [controle remoto, receptor IR]
- Grupo 2: Montar carrinho [Base de madeira, servo motor, ponte H]
- Grupo 3: Montar quadrado de led [3 x 3]: sorriso feliz, sorriso triste, sorriso normal com efeito
- Grupo 4: Usar teclado para acender leds: Se apertar 1 acende 1, #2 -> acende 2 led ...
- Grupo 5: Imprimir na tela “I love arduino”, sendo 1 letra por vez e depois trocar love pelo símbolo coração .
Missão ZERO UM
+
Grupo 1 + Grupo 2 -> Movimentar o carrinho com controle remoto
Grupo 3 + Grupo 4 -> Usar o teclado para exibir os smiles de leds
Grupo 5 -> Colocar animação no caracter coração de acordo com o LDR.
Após 30 min