Oficina de Arduino
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
8,176
On Slideshare
7,790
From Embeds
386
Number of Embeds
14

Actions

Shares
Downloads
670
Comments
1
Likes
5

Embeds 386

http://www.musa.cc 161
http://avalon1982.posterous.com 62
http://musa.cc 49
http://automata.cc 27
http://www.alfakini.com.br 24
http://xoomer.virgilio.it 15
http://b1.robot.am 14
http://www.alfakini.cc 12
http://prof.xoom.it 10
http://www.slideshare.net 5
http://avalon1982.tumblr.com 3
http://127.0.0.1 2
http://www.health.medicbd.com 1
http://localhost 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Oficina: Prototipação com Arduino http://pc.void.cc - UDESC Physical Computing
  • 2. Placas de Circuito Impresso DIY Material: Glossy Paper ● ● Impressora Laser ● Ferro de passar roupa ● Vasilia com água e detergente Modo de Fazer: Imprima o circuito no papel Glossy ● ● Coloque o papel impresso em cima da placa e passe com o ferro por cerca de 10 minutos ● Deixe a placa descançar na vasilia por uns 15 minutos ● Retire o excesso de papel com o dedo
  • 3. Ferramentas
  • 4. Ferramentas Mãos extras Estanho Ferro de Solda Sugador Multímetro Componentes Protoboard Fios (jumpers) Alicates
  • 5. Protoboard
  • 6. Protoboard ... ...
  • 7. Physical Computing Computação Ubiqua ● ● Computação Pervasiva ● Ambiente Inteligente ● Objetos inteligentes ● Interação
  • 8. Arduino Plataforma Open Source Physical Computing ●
  • 9. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ●
  • 10. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ● Comunidade ●
  • 11. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ● Comunidade ● IDE ●
  • 12. Origens do Arduino Baseado no AVR-GCC, avr-libc, AVRlib e no ● Processing, filho do Wiring ● Usa o microcontrolador AVR Atmega168 ● Possui um bootloader padronizado
  • 13. Características Atmega8 8 Kbyte - memória flash ● 1 Kbyte - RAM ● 512 byte – EEPROM ● 13 digital I/O ● 5 analog input ● 6 analog output ● 16 Mhz (Apple II: 1 MHz / Intel ● 286: 12.5 MHz /Intel Core 2: 3 GHz)
  • 14. Pinagem Digital Pins 2-13 (verde) ● Digital Pins (RX,TX) 0,1 (verde) ● Reset (azul) ● In-circuit Serial Programer (azul) ● Analog in Pins (azul) ● Power 5v e 9v (laranja) ● Terra (verde e laranja) ● Alimentação externa 9v – 12v ● (rosa) USB (amarelo) ● Jumper para mudar a alimentação ● do Diecimila (roxo)
  • 15. Digital e Analógico Digital: On/Off, 1/0, 5v/0v ● Analógico: 0 até ∞ (muitos valores ● Computadores não entendem valores ● analógicos, esses valores são convertidos em pulsos digitais
  • 16. ● PWM (analog output) Pulse Width Modulation Oscilando rapidamente a saída ● Digital, tem-se a impressão de que a quantidade de energia enviada para o circuito é variável; Essa técnica pode ser utilizada ● para variar a intensidade luminosa de um led, a velocidade de um motor, etc; No Arduino, as portas 9, 10, 11 ● podem ser usadas como PWM; Usa-se a função analogWrite(x, y) ● para controlar essa saída. Por exemplo: analogWrite(9,128), seta o pino 9 como PWM, usando 50% da sua tensão total. O valor máximo possível é 255;
  • 17. Mão na massa Montar projetos ao invés de falar sobre eles, a filosofia do Arduino.
  • 18. Digital Output Blink: http://www.arduino.cc/en/Tutorial/Blink
  • 19. Digital Output Blink: http://www.arduino.cc/en/Tutorial/Blink int ledPin = 13; void setup(){ pinMode(ledPin, OUTPUT); } void loop(){ digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
  • 20. Digital Input Button: http://arduino.cc/en/Tutorial/Button
  • 21. Digital Input Button: http://arduino.cc/en/Tutorial/Button int ledPin = 13; int inputPin = 2; int val = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); } void loop(){ val = digitalRead(inputPin); if (val == HIGH) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); } }
  • 22. PWM Output Fading: http://arduino.cc/en/Tutorial/Fading
  • 23. PWM Output Fading: http://arduino.cc/en/Tutorial/Fading int value = 0; int ledpin = 9; void setup(){ pinMode(ledpin, OUTPUT); } void loop() { for(value = 0; value <= 255; value+=5) { analogWrite(ledpin, value); delay(30); } for(value = 255; value >=0; value-=5) { analogWrite(ledpin, value); delay(30); } }
  • 24. Potentiometer Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  • 25. Potentiometer Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput int ledPin = 9; int potPin = 0 int value = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(potPin, INPUT); } void loop(){ value = analogRead(potPin); delay(100); analogWrite(ledpin, value); }
  • 26. Variable Resistor Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  • 27. Variable Resistor Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput int ledPin = 9; int ldrPin = 0 int value = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(ldrPin, INPUT); } void loop(){ value = analogRead(ldrPin); delay(100); analogWrite(ledpin, value); }
  • 28. Processing Comunicando entre o Arduino e seu computador: http://www.processing.org
  • 29. Firmata http://www.arduino.cc/playground/Interfacing/Firmata File>Sketchbook>Exemples>Library-Firmata>StandardFirmata Arduino Library: http://www.arduino.cc/playground/Interfacing/Processing
  • 30. Digital Output Blink: http://www.arduino.cc/en/Tutorial/Blink
  • 31. Digital Output (Processing) import processing.serial.*; import cc.arduino.*;   Arduino arduino; int ledPin = 13;   void setup(){ arduino = new Arduino(this, Arduino.list()[0]); arduino.pinMode(ledPin, Arduino.OUTPUT); }   void draw(){ arduino.digitalWrite(ledPin, Arduino.HIGH); delay(1000); arduino.digitalWrite(ledPin, Arduino.LOW); delay(1000); }
  • 32. Variable Resistor Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  • 33. Variable Resistor Input (Processing) import processing.serial.*; import cc.arduino.*; Arduino arduino; int pino_sensor_ldr = 0; int valor_capturado_ldr = 0; void setup(){ println(Arduino.list()); arduino = new Arduino(this, Arduino.list()[0]); arduino.pinMode(pino_sensor_ldr, Arduino.INPUT); } void draw(){ valor_capturado_ldr = arduino.analogRead(pino_sensor_ldr); println(valor_capturado_ldr); }
  • 34. Você pode encontrar tudo isso e muito mais em: Arduino Notebook: ● http://www.lulu.com/content/1108699 ● Arduino Booklet: http://www.alfakini.com.br/blog/wp-content/uploads/2009/02/arduino_booklet02.pdf ● Arduino Lecture: http://www.slideshare.net/eoinbrazil/imediaarduino08 ●