miércoles, 28 de noviembre de 2007

Programación arduino,para hacer que un discman lo controle un microcontrolador atmega8 por medio de sensores de agua y de luz

Programación:


/*
* Lee swiche de agua y determina dos posibilidades: con o sin agua
* Lee fotocelda y determina 3 umbrales de luz: soleado, nublado y noche
* Elige una canción
*
*/
int FotoPin = 0; // selecciona el pin análogo para leer la fotocelda // there are six to choose from:PC0-PC5
int ledPin = 13; // selecciona el pin para encender LED
int val_luz = 0; // variable to store the value coming from the light sensor
int AguaPin = 4; // lee el switch que va a estar con o sin agua
int led_agua = 8; // se enciende cuando recibe agua
int val_agua = 0; // declara una variable para medir el estado del switch (agua o no agua)
int play_pin = 2; // pin que controla el play del cd
int stop_pin = 3; // pin que controla el stop del cd
void setup() {
pinMode(ledPin, OUTPUT); // declara el ledPin como SALIDA
pinMode(led_agua, OUTPUT); // declara el led_agua como SALIDA
pinMode(AguaPin, INPUT); // declara el AguaPin como ENTRADA
Serial.begin(9600); // inicia la comunicación serial
}
void loop() {
val_agua = digitalRead(AguaPin); // variable que toma el estado del AguaPin
if (val_agua == HIGH){ // si hay agua
//digitalWrite(led_agua, HIGH); // se enciende el led

val_luz = analogRead(FotoPin); // read the value from the sensor
if (val_luz > 1000){ // valor del umbral
//digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000); // espera 5 minutos
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (180000);
//digitalWrite(ledPin, LOW); // apaga el led
}
if (val_luz > 500){ // valor del umbral
//digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000); // espera 5 minutos
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (60000); // espera 5 minutos
digitalWrite(ledPin, LOW); // apaga el led
}
if (val_luz > 200){ // valor del umbral
digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000); // espera 5 minutos
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (6009000); // espera 5 minutos
//digitalWrite(ledPin, LOW); // apaga el led
}
}
else{
val_luz = analogRead(FotoPin); // read the value from the sensor
if (val_luz > 800){ // valor del umbral
//digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (40000); // espera 5 minutos
//digitalWrite(ledPin, LOW); // apaga el led
}
if (val_luz > 500){ // valor del umbral
//digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (5450000); // espera 5 minutos
//digitalWrite(ledPin, LOW); // apaga el led
}
if (val_luz > 200){ // valor del umbral
//digitalWrite(ledPin, HIGH); // enciende led que indica el comienzo de una canción
digitalWrite(stop_pin, HIGH); // activa el stop del cd
delay (500);
digitalWrite(stop_pin, LOW); // activa el stop del cd
delay (500); // espera medio segundo
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (1000);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW);
digitalWrite(play_pin, HIGH); // activa el stop del cd
delay (1000); // espera un segundo
digitalWrite(play_pin, LOW); // pone el pin en low para que el cd no se quede en "fastfoward"
delay (2400000); // espera 5 minutos
//digitalWrite(ledPin, LOW); // apaga el led
}
}
Serial.print("leyendo:");
Serial.print(val_luz);
Serial.print(" ");
delay (500);
Serial.print("leyendo:");
Serial.print(val_agua);
Serial.print(" ");
delay (500);
}

sábado, 24 de noviembre de 2007

lunes, 12 de noviembre de 2007

proceso de la construcción del circuito de la matera



















Aqui encontraras unas fotos del proceso.
Proceso:
1- Descomponer el discman, que voy a intervenir.
2- Saber bien como funcionan sus circuitos.
3- Intervenir el boton de play y review
4- programar en ardiuno para que haga un loop al cd.
5- Poner un releé para que la accion lo haga él, y no los botones del discman.
6- Programar para que el releé haga la accion.
7- Verificar que si esta haciendo el arduino la accion, sin tener que oprimir los botones del discman.

jueves, 8 de noviembre de 2007

matera final





















































martes, 6 de noviembre de 2007

Tercer boceto de maceta


Posterior


Frontal


Superior


isometrica


Los sonidos para la planta y esquema algoritmico de como va a funcionar la maceta






Partiendo del conocimiento de que las plantas crecen bien con la música, la idea de la maceta es que cuando los sensores reaccionen, toquen canciones que le recalquen a la planta el cuidado que nosotros le brindamos es como hacerle a la planta psicología de repetición para que crezca mejor, por lo cual cada sonido que va a sonar, es una forma de recalcarle el cuidado y también meterla dentro del ambiente en que generalmente esta que es la naturaleza y por lo tanto a los usuarios nos va hacer meter dentro de su ambiente.

La sustentación de los sensores de luz y de agua es por que la planta hace fotosíntesis lo cual quiere decir que hace solo una respiración profunda en todo el día, por lo tanto lo que hice fue separar en 3 etapas del día las cuales son: el día soleado, el día nublado y la noche.

Esto es por que en el día la planta respira y toma oxígeno, en la noche bota dióxido de carbono, y el día nublado es por que es el equilibrio para el sol y la lluvia por que una planta no puede hacer bien la fotosíntesis si tiene mucho sol o si solo es de noche necesita de los tres para tener un equilibrio en su fotosíntesis.

por lo cual cada de estas etapas va a llevar un sonido diferente al igual que si se mezcla estas etapas con agua, ya que es uno de los nutrientes mas importantes para la planta, por lo cual al mezclarse van a sonar unos sonidos diferentes, ya que esta cumpliendo su fotosíntesis equilibradamente.

Investigación de la música en las plantas