Oficina: Prototipação com Arduino
http://pc.void.cc - UDESC Physical Computing
Placas de Circuito Impresso DIY

Material:
   Glossy Paper
 ●

 ● Impressora Laser

 ● Ferro de passar roupa

 ● Vasilia c...
Ferramentas
Ferramentas         Mãos extras



Estanho
                                  Ferro de
                                  So...
Protoboard
Protoboard




...
...
Physical Computing




  Computação Ubiqua
●

● Computação Pervasiva

● Ambiente Inteligente

● Objetos inteligentes

● In...
Arduino
    Plataforma Open Source Physical Computing
●
Arduino
    Plataforma Open Source Physical Computing
●




    Hardware Livre
●
Arduino
    Plataforma Open Source Physical Computing
●




    Hardware Livre
●




    Comunidade
●
Arduino
    Plataforma Open Source Physical Computing
●




    Hardware Livre
●




    Comunidade
●




    IDE
●
Origens do Arduino




             Baseado no AVR-GCC, avr-libc, AVRlib e no
           ●

             Processing, filho...
Características Atmega8

    8 Kbyte - memória flash
●


    1 Kbyte - RAM
●


    512 byte – EEPROM
●


    13 digital I/...
Pinagem

    Digital Pins 2-13 (verde)
●



    Digital Pins (RX,TX) 0,1 (verde)
●



    Reset (azul)
●



    In-circuit...
Digital e Analógico

    Digital: On/Off, 1/0, 5v/0v
●


    Analógico: 0 até ∞ (muitos valores
●


 Computadores não ente...
●



    PWM (analog output)
    Pulse Width Modulation

 Oscilando rapidamente a saída
●

Digital, tem-se a impressão de ...
Mão na massa
Montar projetos ao invés de falar sobre eles, a filosofia do Arduino.
Digital Output
Blink: http://www.arduino.cc/en/Tutorial/Blink
Digital Output
Blink: http://www.arduino.cc/en/Tutorial/Blink




                                             int ledPin ...
Digital Input
Button: http://arduino.cc/en/Tutorial/Button
Digital Input
Button: http://arduino.cc/en/Tutorial/Button



                                               int ledPin = ...
PWM Output
Fading: http://arduino.cc/en/Tutorial/Fading
PWM Output
Fading: http://arduino.cc/en/Tutorial/Fading


                                               int value = 0;
  ...
Potentiometer Input
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Potentiometer Input
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput



                                           ...
Variable Resistor Input
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Variable Resistor Input
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput


                                        ...
Processing
Comunicando entre o Arduino e seu computador: http://www.processing.org
Firmata
http://www.arduino.cc/playground/Interfacing/Firmata




      File>Sketchbook>Exemples>Library-Firmata>StandardFi...
Digital Output
Blink: http://www.arduino.cc/en/Tutorial/Blink
Digital Output (Processing)

  import processing.serial.*;
  import cc.arduino.*;
   
  Arduino arduino;
  int ledPin = 13...
Variable Resistor Input
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Variable Resistor Input (Processing)

  import processing.serial.*;
  import cc.arduino.*;

  Arduino arduino;
  int pino_...
Você pode encontrar tudo isso e
muito mais em:

   Arduino Notebook:
 ●

 http://www.lulu.com/content/1108699
 ● Arduino B...
Oficina de Arduino
Oficina de Arduino
Upcoming SlideShare
Loading in …5
×

Oficina de Arduino

7,195 views
7,101 views

Published on

Oficina de Arduino.

Published in: Self Improvement, Technology

Oficina de Arduino

  1. 1. Oficina: Prototipação com Arduino http://pc.void.cc - UDESC Physical Computing
  2. 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. 3. Ferramentas
  4. 4. Ferramentas Mãos extras Estanho Ferro de Solda Sugador Multímetro Componentes Protoboard Fios (jumpers) Alicates
  5. 5. Protoboard
  6. 6. Protoboard ... ...
  7. 7. Physical Computing Computação Ubiqua ● ● Computação Pervasiva ● Ambiente Inteligente ● Objetos inteligentes ● Interação
  8. 8. Arduino Plataforma Open Source Physical Computing ●
  9. 9. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ●
  10. 10. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ● Comunidade ●
  11. 11. Arduino Plataforma Open Source Physical Computing ● Hardware Livre ● Comunidade ● IDE ●
  12. 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. 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. 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. 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. 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. 17. Mão na massa Montar projetos ao invés de falar sobre eles, a filosofia do Arduino.
  18. 18. Digital Output Blink: http://www.arduino.cc/en/Tutorial/Blink
  19. 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. 20. Digital Input Button: http://arduino.cc/en/Tutorial/Button
  21. 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. 22. PWM Output Fading: http://arduino.cc/en/Tutorial/Fading
  23. 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. 24. Potentiometer Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  25. 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. 26. Variable Resistor Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  27. 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. 28. Processing Comunicando entre o Arduino e seu computador: http://www.processing.org
  29. 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. 30. Digital Output Blink: http://www.arduino.cc/en/Tutorial/Blink
  31. 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. 32. Variable Resistor Input Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
  33. 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. 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 ●

×