Skip navigation

hoje vemos mais processos áudio de síntese, e iniciamos arduino com dois sensores ligados a um patch de som e um sketch de processing.

1. audio
os patches que analisamos são quase todos do pd-extended, e acedem-se melhor através do browser do pd (menu help > browser ou maçã/ctrl+b). dentro do browser, são tudo exemplos de audio (help browser > 3.audio.examples > c08.etc)

começamos com emulação de sintetisador analógicos, e fomos ver mais patches de samplehold, síntese aditiva, vibrato, complex fm, delay loops e resíntese por fft. aqui ficam algumas imagens dos patches a correrem.

13-c8

13-complexfm1

13-delayfeedback

 

13-fft-resintese

 

 

2. arduino

o arduino é um aparelho que digitaliza o mundo analógico, ou para ele envia voltagens, através do protocolo série (rs-232). hoje vamos ligar dois sensores às portas analógicas do arduino; fazemos um mini-programa no chip do arduino que lê os valores dos sensores e os envia para o computador; por fim criamos um patch e um sketch que lêem os valores e fazem coisas simples, dois osciladores, e dois quadrados.

usamos um LDR, que é uma resistência variável foto-voltaica, e um knob, um potenciometro (ou pot), que também é uma resistência variável, e faz variar a resposta voltaica dos sensores que vamos ler para fazer interagir esses dados.

do arduino fazemos conexões do +5v e do ground para as fileiras horizontais da breadboard. um pin do ldr entra directamente num dos pins de +5v da fileira da breadboard; o outro pin liga-se a uma fileira horizontal. da fileira horizontal da breadboard lemos o sinal para uma das portas analógicas do arduino e finalizamos a ligar uma resistência do fim da fileira para a linha de ground da fileira horizontal da breadboard.

o potenciómetro é mais simples, visto que já tem 3 pins; os exteriores ligam-se aos +5v e ao ground, e ligamos o pin do meio a uma porta analógica do arduino.

13-arduino_4496

depois criamos os programas no arduino ide, e fazemos upload para o chip atmega168 do arduino; o código começa logo a funcionar no chip e a correr os programas que  se seguem. usamos duas versões, um lê um sensor apenas, e outra lê dois valores analógicos:

/// arduino ler um sensor
int valor = 0; // variavel para o valor
int pin = 5; // variavel para o pin de entrada do valor

void setup() {
// open the serial port at 9600 bps:
Serial.begin(9600);
digitalWrite(13,HIGH); //turn on led
}

void loop() {
// ler o valor do pin
valor = analogRead(pin);
// escrever para a porta série o valor
Serial.print(valor, BYTE);
// esperar 10 ms próxima leitura
delay(10);
}

 

/// arduino ler dois sensores
// aqui enviamos um caracter que sincroniza
// no fim da mensagem

int valorldr = 0;
int valorpot = 0;
int pinldr = 5;
int pinpot = 3;

void setup() {
// open the serial port at 9600 bps:
Serial.begin(9600);
digitalWrite(13,HIGH); //turn on led
}

void loop() {
// ler os valores do pin
valorldr = analogRead(pinldr);
valorpot = analogRead(pinpot)/4;
// escrever para a porta série a mensagem
Serial.print(valorldr, BYTE);
Serial.print(valorpot, BYTE);
Serial.print(9); // tab = 9 ascii
// esperar 10 ms próxima leitura
delay(10);
}

 

do lado físico as coisas já estão finalizadas: os valores dos sensores já são enviados para o computador. agora precisamos de os ler. no pd usamos o [comport], um objecto que lê tudo o que chega através de série, no processing fazemos o import da serial lib, configuramos a porta e lemos a data. aqui ficam algumas imagens dos patches e sketches que criámos para começar a ler os valores e brincar com eles. na próxima semana vamos rever esta introdução ao arduino e introduzir actuação física com alguns motores.

13-sensor1

 

13-sensor21

13-p5sensor2

Anúncios

One Comment

  1. fica aqui um lembrete do material inicial que precisam para estes testes:

    arduino, breadboard, ldr’s, pots, resistências, conectores. vejam também alguns motores e outro género de sensores que possam usar para desenvolver um projecto.

    e muita informação importante no site do tom igoe > http://www.tigoe.net/pcomp/

    alguns links nacionais onde podem adquirir material
    > http://www.inmotion.pt/
    > http://lusorobotica.com/index.php/board,16.0.html


One Trackback/Pingback

  1. By sessão 18 « O Som do Pensamento on 27 Maio 2009 at 11:41 am

    […] é tão semelhante ao processing e o código que usamos também é parecido com java/c. (sessões 13, […]

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: