0
Oficina de Arte e Tecnologiawww.void.cc/workshop/
Ferramentas
Ferramentas         Mãos extrasEstanho                                  Ferro de                   Sugador        Solda   ...
Protoboard
Protoboard......
Arduino●   Plataforma Open Source Physical Computing●   Hardware Livre●   Comunidade●   IDE
Características Atmega8●   8 Kbyte - memória flash●   1 Kbyte - RAM●   512 byte – EEPROM●   13 digital I/O●   5 analog inp...
Pinos●   Digital Pins 2-13 (verde)●   Digital Pins (RX,TX) 0,1 (verde)●   Reset (azul)●   In-circuit Serial Programer (azu...
Digital e Analógico●   Digital: On/Off, 1/0, 5v/0v●   Analógico: 0 até ∞ (muitos valores)●Computadores não entendem valore...
PWM (analog output)    Pulse Width Modulation●Oscilando rapidamente a saídaDigital, tem-se a impressão de que aquantidade ...
Linguagem Arduino    referências: http://arduino.cc/en/Reference/HomePage●  setup() Executado somente uma vez quando o mic...
Linguagem Arduino    referências: http://arduino.cc/en/Reference/HomePage● delay(<n>) Pausa o processamento durante n milé...
Mão na massaMontar projetos ao invés de falar sobre eles, a filosofia do Arduino.
Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink
Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink
Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink                                             int ledPin = 13;  ...
Saída Digital + PDBlink: http://www.arduino.cc/en/Tutorial/Blink                                                 int ledPi...
Código dos resistoreshttp://www.areaseg.com/sinais/resistores.html
Saída “Analógica“ PWM           Saída Digital    Fading: http://arduino.cc/en/Tutorial/Fading
Saída “Analógica“ PWMFading: http://arduino.cc/en/Tutorial/Fading
Saída “Analógica“ PWMFading: http://arduino.cc/en/Tutorial/Fading                                   int value = 0;        ...
Saída “Analógica“ PWM + PDFading: http://arduino.cc/en/Tutorial/Fading                                               int l...
Entrada Digital            Saída DigitalButton: http://arduino.cc/en/Tutorial/Button                         Circuito pull...
Entrada DigitalButton: http://arduino.cc/en/Tutorial/Button
Entrada DigitalButton: http://arduino.cc/en/Tutorial/Button                                               int ledPin = 13;...
Entrada Digital + PDButton: http://arduino.cc/en/Tutorial/Button                                               int pinoBot...
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                             Circuito divisor de t...
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                                                in...
Entrada Analógica + PDAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                                             ...
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                             Circuito divisor de t...
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                                                in...
Entrada Analógica + PDAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput                                             ...
Entrada Analógica PiezoKnock: http://arduino.cc/en/Tutorial/Knock
Entrada Analógica PiezoKnock: http://arduino.cc/en/Tutorial/Knock
int ledPin = 13;int knockSensor = 0;byte val = 0;int statePin = LOW;int THRESHOLD = 100;void setup() { pinMode(ledPin, OUT...
Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2
Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2
Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2                 int piezo = 9;                 in...
Piezo + PDPitch follower: http://arduino.cc/en/Tutorial/Tone2                                                      int ent...
MotorL293: http://www.arduino.cc/es/L293D/L293D
MotorL293: http://www.arduino.cc/es/L293D/L293D
int motor1Pin1 = 13; // pin 15 on L293Dint motor1Pin2 = 12; // pin 10 on L293Dint enablePin = 11; // pin 9 on L293Dvoid se...
Você pode encontrar tudo isso e muito mais em:● Arduino → http://arduino.cc● Pure Data → http://puredata.info● Coletivo Mu...
Oficina de Arte e Tecnologia
Upcoming SlideShare
Loading in...5
×

Oficina de Arte e Tecnologia

1,942

Published on

Oficina realizada em 2010 como parte do projeto de extensão "Oficina de Arte e Tecnologia". Exemplos de código e circuitos elétricos simples, Arduino, Pure Data e muito mais para artistas e designers.

Published in: Self Improvement
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,942
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
176
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Transcript of "Oficina de Arte e Tecnologia"

  1. 1. Oficina de Arte e Tecnologiawww.void.cc/workshop/
  2. 2. Ferramentas
  3. 3. Ferramentas Mãos extrasEstanho Ferro de Sugador Solda Multímetro Componentes ProtoboardFios (jumpers) Alicates
  4. 4. Protoboard
  5. 5. Protoboard......
  6. 6. Arduino● Plataforma Open Source Physical Computing● Hardware Livre● Comunidade● IDE
  7. 7. 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 / Intel286: 12.5 MHz /Intel Core 2: 3 GHz)
  8. 8. Pinos● 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 aalimentação do Diecimila (roxo)
  9. 9. Digital e Analógico● Digital: On/Off, 1/0, 5v/0v● Analógico: 0 até ∞ (muitos valores)●Computadores não entendem valoresanalógicos, esses valores são convertidos empulsos digitais
  10. 10. PWM (analog output) Pulse Width Modulation●Oscilando rapidamente a saídaDigital, tem-se a impressão de que aquantidade de energia enviada parao circuito é variável●Essa técnica pode ser utilizadapara variar a intensidade luminosade um led, a velocidade de ummotor, etc●No Arduino, as portas 9, 10, 11podem ser usadas como PWM● Usa-se a função analogWrite(x, y)para controlar essa saída. Porexemplo: analogWrite(9,128), seta opino 9 como PWM, usando 50% dasua tensão total. O valor máximopossível é 255
  11. 11. Linguagem Arduino referências: http://arduino.cc/en/Reference/HomePage● setup() Executado somente uma vez quando o microcontrolador é ligado● loop() Roda repetidamente o programa dentro desse bloco● pinMode(<pino>, <INPUT/OUTPUT>) Configura um pino como entrada ou como saída● digitalWrite(<pino>, <HIGH/LOW>) Configura o estado de uma saída digital como HIGH ou LOW● digitalRead(<pino>)● Lê o estado de uma entrada digital● analogWrite(<pino>, <valor: 0-255>) Escreve um valor em uma saída analógica● analogRead(<pino>) Lê o estado de uma entrada analógica
  12. 12. Linguagem Arduino referências: http://arduino.cc/en/Reference/HomePage● delay(<n>) Pausa o processamento durante n milésimos de segundo● random(<inicio>, <fim>) Retorna um número entre inicio e fim● Serial.begin(9600)● Serial.print(mensagem, <HEX/DEC/BIN/BYTE>)● Serial.read()
  13. 13. Mão na massaMontar projetos ao invés de falar sobre eles, a filosofia do Arduino.
  14. 14. Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink
  15. 15. Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink
  16. 16. Saída DigitalBlink: http://www.arduino.cc/en/Tutorial/Blink int ledPin = 13; int ledPin = 13; void setup(){ void setup(){ pinMode(ledPin, OUTPUT); pinMode(ledPin, OUTPUT); }} void loop(){ void loop(){ digitalWrite(ledPin, HIGH); digitalWrite(ledPin, HIGH); delay(1000); delay(1000); digitalWrite(ledPin, LOW); digitalWrite(ledPin, LOW); delay(1000); delay(1000); }}
  17. 17. Saída Digital + PDBlink: http://www.arduino.cc/en/Tutorial/Blink int ledPin = 13; int ledPin = 13; void setup(){ void setup(){ pinMode(ledPin, OUTPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); Serial.begin(9600); }} void loop(){ void loop(){ int msg ==Serial.read(); int msg Serial.read(); ifif((char)msg == l) { { ((char)msg == l) digitalWrite(ledPin, HIGH); digitalWrite(ledPin, HIGH); } }else ifif((char)msg == d) { { else ((char)msg == d) digitalWrite(ledPin, LOW); digitalWrite(ledPin, LOW); }} }}
  18. 18. Código dos resistoreshttp://www.areaseg.com/sinais/resistores.html
  19. 19. Saída “Analógica“ PWM Saída Digital Fading: http://arduino.cc/en/Tutorial/Fading
  20. 20. Saída “Analógica“ PWMFading: http://arduino.cc/en/Tutorial/Fading
  21. 21. Saída “Analógica“ PWMFading: 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); } }
  22. 22. Saída “Analógica“ PWM + PDFading: http://arduino.cc/en/Tutorial/Fading int ledPin = 9; void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop(){ int msg = Serial.read(); if (msg >= 0) { analogWrite(ledPin, msg); } }
  23. 23. Entrada Digital Saída DigitalButton: http://arduino.cc/en/Tutorial/Button Circuito pull-down
  24. 24. Entrada DigitalButton: http://arduino.cc/en/Tutorial/Button
  25. 25. Entrada DigitalButton: 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); } }
  26. 26. Entrada Digital + PDButton: http://arduino.cc/en/Tutorial/Button int pinoBotao = 2; void setup(){ pinMode(pinoBotao, INPUT); Serial.begin(9600); } void loop(){ int x = digitalRead(pinoBotao); Serial.write(x); }
  27. 27. Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput Circuito divisor de tensão
  28. 28. Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
  29. 29. Entrada AnalógicaAnalog 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/4); }
  30. 30. Entrada Analógica + PDAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput int potPin = 0; int value = 0; void setup() { pinMode(potPin, INPUT); Serial.begin(9600); } void loop(){ value = analogRead(potPin); Serial.write(map(value, 0, 1023, 0, 127)); }
  31. 31. Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput Circuito divisor de tensão
  32. 32. Entrada AnalógicaAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
  33. 33. Entrada AnalógicaAnalog 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/4); }
  34. 34. Entrada Analógica + PDAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput int entrada = 0; int valor = 0; void setup() { pinMode(entrada,INPUT); Serial.begin(9600); } void loop(){ valor = analogRead(entrada); Serial.write(valor); }
  35. 35. Entrada Analógica PiezoKnock: http://arduino.cc/en/Tutorial/Knock
  36. 36. Entrada Analógica PiezoKnock: http://arduino.cc/en/Tutorial/Knock
  37. 37. int ledPin = 13;int knockSensor = 0;byte val = 0;int statePin = LOW;int THRESHOLD = 100;void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600);}void loop() { Val =analogRead(knockSensor); if (val >= THRESHOLD) { statePin = !statePin; digitalWrite(ledPin, statePin); Serial.println("Toc-toc"); delay(10); }}
  38. 38. Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2
  39. 39. Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2
  40. 40. Saída Analógica PiezoPitch follower: http://arduino.cc/en/Tutorial/Tone2 int piezo = 9; int ldr = 0; void setup() { } void loop() { int sensorReading = analogRead(ldr); int pitch = map(sensorReading, 400, 1000, 100, 1000); tone(piezo, pitch, 10); }
  41. 41. Piezo + PDPitch follower: http://arduino.cc/en/Tutorial/Tone2 int entrada = 0; int valor = 0; void setup() { pinMode(entrada,INPUT); Serial.begin(9600); } void loop(){ valor = analogRead(entrada); Serial.write(valor); }
  42. 42. MotorL293: http://www.arduino.cc/es/L293D/L293D
  43. 43. MotorL293: http://www.arduino.cc/es/L293D/L293D
  44. 44. int motor1Pin1 = 13; // pin 15 on L293Dint motor1Pin2 = 12; // pin 10 on L293Dint enablePin = 11; // pin 9 on L293Dvoid setup() { pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT); digitalWrite(enablePin, HIGH);}void loop() { digitalWrite(motor1Pin1, LOW); digitalWrite(motor1Pin2, HIGH);}
  45. 45. Você pode encontrar tudo isso e muito mais em:● Arduino → http://arduino.cc● Pure Data → http://puredata.info● Coletivo MuSA → http://musa.cc● Artesanato de Volts → http://artesanato.devolts.org● des).(centro → http://pub.descentro.org● Robótica Livre → http://roboticalivre.org● Metareciclagem → http://rede.metareciclagem.org● Estúdio Livre → http://estudiolivre.org● MSST → http://devolts.org/msst
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×