Un jardin de Objetos y Sonidos

CarmenGonzalez » 10 May 2010 » In Diseño de Interfaces, IC, Microcontrolador, Open Source » No Comments

Continue reading...

Tags: , ,

Secuenciador Solar Code

CarmenGonzalez » 07 April 2010 » In Código, arduino » No Comments

/* ======================================================================
 sequenciador solar. DreamAddictive 2010 - http://dalab.ws
 Basado en el codigo de  Arduino Punk Console
======================================================================*/

#define FrecuenciaAnaloga 1
#define TempoAnalogo 2
#define DuracionAnaloga 0
#define salida 11
#define boton0 2
#define boton1 3
#define boton2 4
#define boton3 5
#define boton4 6
#define boton5 7
#define boton6 8
#define StartStop 10

// lista para cada uno de los pasos
int pasos[] = {
  100,120,140,160,180,200,220};

// misc
int duration = 50;
int pitchval = 1;
int modoTocar = true;
int lastPushedStep = -1;
int val = 3;
int disminuir = 2;

// tempo inicial =
int tempo = 120;

void setup() { 

  // inputs y outputs
  pinMode (boton0, INPUT);
  pinMode (boton1, INPUT);
  pinMode (boton2, INPUT);
  pinMode (boton3, INPUT);
  pinMode (boton4, INPUT);
  pinMode (boton5, INPUT);
  pinMode (boton6, INPUT);
  pinMode (StartStop, INPUT);
  pinMode (salida, OUTPUT);  

}

void loop() {
  // loop de sequencia principal
  for (int i=0; i<7; i++)
  {
    //MODO PARA TOCA
    modoTocar = digitalRead (StartStop);

    // checar el Hardware
    LeerBotones();
    LeerPots();

    // Make the noise
    if (modoTocar)
    {
      freqout (pasos[i], duration);
    }

    // Pause between steps
    delay (tempo);
  }
} 

// Read the current values of the pots, called from the loop.
void LeerPots ()
{
  tempo = (analogRead (TempoAnalogo) * 1.9);
  duration = (analogRead (DuracionAnaloga * 1.9));
}

void LeerBotones() {
  // resete el ultimo paso
  lastPushedStep = -1;

  // check switch 0, if pressed, get the current freq into step 0, etc. etc.
  if (digitalRead (boton0) == HIGH)
  {
    pasos[0] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 1;
  }

  else if (digitalRead (boton1) == HIGH)
  {
    pasos[1] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 2;
  }

  else if (digitalRead (boton2) == HIGH)
  {
    pasos[2] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 3;
  }
  else if (digitalRead (boton3) == HIGH)
  {
    pasos[3] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 4;
  }
  else if (digitalRead (boton4) == HIGH)
  {
    pasos[4] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 5;
  }
  else if (digitalRead (boton5) == HIGH)
  {
    pasos[5] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 6;
  }
   else if (digitalRead (boton6) == HIGH)
  {
    pasos[6] = analogRead(FrecuenciaAnaloga);
    lastPushedStep = 7;
  }
}

//freqout code by Paul Badger
// freq - frequency value
// t - time duration of tone
// Modificacion en el hperiod
void freqout(int freq, int t) {
  long hperiod;     //calculate 1/2 period in us
  long cycles, i; 

  val = analogRead(3);
  Serial.begin(9600);
  Serial.print(val,DEC);
  Serial.print(" ");

  hperiod = (map(val, 0, 1023, 8000, 300000)  / ((freq -3) - disminuir));  //* analogRead(Modulacion) checar mapeo de valores

  // calculate cycles
  cycles = ((long)freq * (long)t) / 1000;    // calculate cycles

  for (i=0; i<= cycles; i++) {
    digitalWrite(salida, HIGH);
    delayMicroseconds(hperiod);
    digitalWrite(salida, LOW);
    delayMicroseconds(hperiod - 1);     // - 1 to make up for fractional microsecond in digitaWrite overhead
  }
}

Continue reading...

Tags: ,

Diagrama de conexión

CarmenGonzalez » 04 April 2010 » In Boarduino, Diagramas, Microcontrolador, arduino » No Comments

Continue reading...

Tags:

Circuito Eléctrico

CarmenGonzalez » 01 April 2010 » In Circuito Eléctrico, Diagramas » No Comments

Circuito eléctrico compuesto de dos celdas solares en serie, diodo y batería recargable, para proveer de electricidad a Microcontrolador Boarduino.

Continue reading...

Tags: , ,

Sonidos de Protoboard

CarmenGonzalez » 27 March 2010 » In IC, mini-piano, workshop » No Comments

Taller realizado en el Centro Cultural España México, los días 20, 21, 27, y 28 de marzo de 2010, como parte de las actividades de Comunidades Digitales dentro del Ars Electrónica en el fmx.

Sonidos de Protoboard es un taller de acercamiento práctico a los instrumentos electrónicos. Se impartieron dos talleres de seis horas cada uno. Durante las sesiones los participantes ensamblan un theremin óptico y un piano de escala variable.

Continue reading...

Tags: , , ,

Haciendo música manipulando electricidad

CarmenGonzalez » 15 March 2010 » In Diagramas, IC, Open Source, workshop » No Comments

Sonidos de Protoboard es un taller de acercamiento práctico a los instrumentos electrónicos. Se realizarán dos talleres de seis horas en el Centro Cultural España México, como parte de las actividades de Comunidades Digitales dentro del Ars Electrónica el fmx.

Como material de apoyo para el taller se diseño un díptico, con los diagramas y referencias técnicas y teóricas. Descargar aquí

Continue reading...

Tags: ,

SolarSequencer

CarmenGonzalez » 03 March 2010 » In Diseño de Interfaces » No Comments

Continue reading...

Tags: ,

Interfaz Secuenciador

CarmenGonzalez » 03 March 2010 » In Diseño de Interfaces » No Comments

Continue reading...

Tags:

Piano de escala variable. Diagrama

CarmenGonzalez » 25 February 2010 » In Componentes, Diagramas, IC » No Comments

El piano de escala varible, utiliza un potenciomentro para variar la frecuencia del sonido, permitiendonos contar con mas de una escala de notas.

Las resistencias permiten controlar directamente la cantidad de corriente que viaja por el circuito. Definiendo asi, la frecuencia específica o la nota de la escala que representara cada uno de los botones.

Continue reading...

Tags: ,

Frecuencias Sonoras y Frecuencias Eléctricas

CarmenGonzalez » 23 February 2010 » In mini-piano, workshop » No Comments

La Frecuencia de las Notas Musicales
Los sonidos musicales son producidos por procesos físicos tales como la vibracion. Has notado que las cuerdas de guitarra tienen diferentes sonidos?, estos son efecto de la vibración de las cuerdas. Por ejemplo la nota Do vibra a 277.18 Hz, es decir que para producir la nota Do nuestra cuerda tiene que vibrar 277.18 veces por segundo. El herzio o HZ es la forma en que medimos la frecuencia de los sonidos o la cantidad de veces que se oscila por segundo.

Cuando una nota se escucha más aguda es por que tiene una frecuencia alta, y oscila muchisimas veces por segundo.
El oído humano tiene un rango de frecuencia audible de entre 20 Hz (sonidos muy graves) hasta 20,000 Hz (sonidos muy agudos).

Frecuencias Sonoras y Frecuencias Eléctricas
Al igual que en el sonido, en la electrónica también utilizamos las frecuencias para medir los ciclos de altas y bajas de corriente en un circuito. Utilizando esta misma lógica podemos hacer que la membrana de una bocina conectada a nuestro circuito vibre a 440Hz porduciendo asi la nota La.

Para producir variaciones en las frecuencias de un circuito utilizamos resistencias que dosifican la cantidad de electrones que pasan por él. De esta forma podemos obtener la escala musical completa con sonidos electrónicos.

Continue reading...

Tags: ,