Luminosidad flectada erráticamente en proximidad
Título | Observación y propuestas Gestuales |
---|---|
Palabras Clave | secuencias |
Período | 2022-2022 |
Asignatura | Taller de Diseño de Interacción |
Del Curso | Taller de Diseño de Interacción 2022 |
Carreras | Diseño, Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Interacción y Servicios"Interacción y Servicios" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property. |
Alumno(s) | Matilde Croxatto Ullrich, Valentina Dietz, Andrés Aliaga Chandía |
Profesor | Daniela Salgado, Leonardo Aravena, Herbert Spencer |
URL | https://github.com/MatildeCU/Luminosidad-flectada-erraticamente-en-proximidad |
Observaciones
M - Aproximación versátil desde el vacío expansivo al volumen próximo
Para salir a observar los gestos se define este concepto como “Gestualidad , movimiento que tiene una huella en su acontecer y un eco como evidencia que lo delata, sobre su temporalidad y en su total expansión.”
Al nombrar aparece aquello escondido en la forma, la luz, el vacío.
Al habitar corporalmente un espacio dinámico se pasan por alto las sutilezas del andar, esas salidas del cuerpo en su aproximación a las cosas, el origen de una primera interacción física y sus sutiles expresiones que delatan la ocupación del vacío cercano.
Por esto se decide contemplar la versatilidad y agilidad de las manos dentro del habitar objetual y cotidiano. Lo dactilar que se acopla, presionando, trasladando y transformando, con sus pequeñas y segmentadas líneas que cubren un gran y complejo sistema de manipulación, los dedos se acomodan a las formas y tamaños, pudiendo aplicar fuerzas y movimientos preciosos, el apoyo de la palma juega con los volúmenes transportando la fuerza de torque desde el brazo.
Siendo el contexto en cual se desenvuelve la corporalidad total estas toman un rol más o menos importante, limitada por el rango de movilidad de las falanges de los dedos y la rotación de la muñeca.
Esta aproximación versátil desde el vacío expansivo al volumen próximo permite en su eco la construcción de el ritmo corporal. Se habita sobre una temporalidad latente en la acción. una deslumbrando a la otra en un continuo.
Las manos siendo este puente, que comunica entre la cosa y el cuerpo, que calza con agilidad la forma, transformando dos cosas incomunicadas en una.
Siendo el vacío la mínima expresión, cual proyecta paulatinamente al resto del cuerpo su intención.
La construcción segmentada del gesto se vuelve más aparente
Resguardo articular por planos y segmentos encontrados en la comprensión corporal. Se observa cómo la mano entro de un espacio conformado por el cuerpo cobra un rol de privacidad en cuanto a la manipulación de un artefacto, en este caso el celular. Se identifican partes de esta extremidad y se nombran las funciones determinadas a cada una dentro del mismo gesto.
Levedad del espacio inscrito en el movimiento amplificado desde un plano que lo manipula con suavidad. La división del cuerpo para cumplir una tarea, está compuesta por breves y distintos gestos.
Planos Transversales calzados, movilizados con fuerza en una evolución de vacíos y luces flechadas.
Cambio de estado en el vacío angular envolvente, tras la rotación lineal de un volumen.
A-Rodear sostenido del vacío
Desde los átomos a las galaxias es curioso reflexionar que, así como los organismos vivos crecen rodeándose a sí mismos, los seres humanos nos organizamos rodeando o rodeándonos unos a otros, acercándonos, alejándonos y colisionando.
Gesto (Lat. Gestus: traer, llevar consigo), referido formalmente al lenguaje corporal de las personas.
Se ha tomado como punto de partida el recorrer rodeando y los movimientos que componen la navegación sensorial humana. Dentro de los casos observados, se pudo determinar que el cuerpo se moldea al recorrido. El cuerpo propone un recorrido. El cuerpo sostiene un recorrido.
En el caso de rodeos por una cosas inertes u objeto, el cuerpo adoptará tres ejes que ordenarán su navegación. Uno de dirección y sentido del desplazamiento, este eje es el encargado de desplazar al cuerpo a través del recorrido. Por otra parte, un segundo eje quiebra este primero para posicionar la cabeza, o la extremidad en la que se encuentre el sentido utilizado, frente a lo recorrido; Y por un tercer eje el sentido utilizado moverá (paneará) el sentido utilizado.
Luego, en una dimensión social se rodea la comunicación, aquí se sostiene lo inmaterial, por lo que, siempre es un en torno al vacío. El cuerpo será ahora el encargado de moldear ese vacío disponiéndose sostenido en el espacio con una postura que permita la interacción directa (Frente a frente) o semi-directa (otorgando solo una parte del cuerpo a los interlocutores). Una vez moldeado el vacío central, el gesto comunicativo será un movimiento corporal, de atención, explicación, conversación, etcétera; que estará soportado por una postura “prolongadamente” estática ¿por qué los seres humanos necesitamos soportar ese vacío comunicativo estáticamente? ¿podríamos des-armar ese vacío y seguir sosteniendo la comunicación?
En otro tipo de recorrido sensorial, en el que se pierde algún sentido, y/o están difusos además otros, el gesto adquiere un carácter navegante, como perdido o errático. Esta navegación busca el estímulo significante, como desencadenante del entendimiento sensitivo del espacio, de aquí en más, nuestro cuerpo tendrá un punto de partida para enlazar un sistema de relaciones que genere una imagen (lat. Imago: Imitación o copia) que le dé sentido a los sentidos...algo así como el movimiento de encontrar un orden o el movimiento des-ordenado que ordena.
¿Qué rol desempeña la marca, o trazado “permanente” del gesto? Desde el alba del pensamiento humano, este se ha esmerado en dejar huella de su recorrido. Es decir, en este caso, se deja la marca del gesto de recorrer o se estampa la evidencia de que este tuvo lugar. Podríamos hablar entonces de superficies con un gesto sostenido.
Se podría realizar entonces una disección de dimensiones del gesto: Dimensión temporal, o capacidad del gesto de sostenerse en el tiempo (efímero-permanente). Una dimensión física kinésica, relacionada directamente con los movimientos. Y una dimensión sensorial, como el vínculo entre el movimiento y la sensación, o la racionalización de lo que produce el movimiento.
V - Apertura y recogimiento articulado en continuidad
Surf - Apertura y Recogimiento
El estudio de observación comienza enfocándose en la búsqueda de gestualidad en torno a un espacio de trayectoria, por lo que aparece en una primera instancia el cuerpo humano en movimiento.
En este caso se muestra el cuerpo cómo un elemento en movimiento constante que se hace parte del entorno directamente completando un todo de “situación” o “acción”. el surf comprende un deporte en el cual el cuerpo se va adaptando a través de “aperturas y cierres” para poder generar el equilibrio y rapidez necesaria.
“El cuerpo se tensiona expectante frente a las condiciones que se presentan espontáneamente”
A partir de las condiciones en donde el cuerpo interactúa directamente con el entorno, podemos decir que salen a la luz ciertas expresiones gestuales corporales que van revelando la acción. Se encuentran casi todas las partes del cuerpo interactuando en el espacio, pero podemos destacar particularmente las extremidades y sus articulaciones; Brazos - Codos y Piernas - Rodillas.
“Los brazos bajan, las rodillas también. El cuerpo se cierra para un mayor equilibrio frente a la velocidad..”
“El cuerpo se abre. Abraza el vacío para subir la velocidad y encontrar el ritmo presente en el entorno; el agua.”
Es por esto que enfocamos el estudio a la particularidad abstracta del Abrir - Cerrar // Contraer - Soltar observada en el movimiento corporal continuo.
Yoga - Predominancia de extremidades articuladas
Por otra parte, aparece un segundo elemento de estudio; él Yoga. Dentro de la práctica de yoga aparecen categorizaciones dentro de las posturas realizadas; las de apertura y las de cierre.
“Encuentro con él propio cuerpo, su flexibilidad y su constante articulación..”
Las posturas de apertura se enfocan principalmente en que la parte frontal del cuerpo se exponga hacia él cielo, revelando la entrega, él regalar, él abrirse al exterior. Mientras que la parte trasera va hacia la tierra. Cómo por ejemplo; Apertura de pecho, puente, cobra, apertura de cadera, etc.
Mientras que en las posturas de cierre buscan una introspección, en donde la parte frontal del cuerpo, en especifico él pecho, se dirige con fuerzas hacia la tierra. -Cerrar, mirar hacia adentro, recibir, cuidar-
“Él cuerpo se abre entregándose hacia él cielo.. Curvatura generada a partir de articulaciones.. él cuerpo en su totalidad expresa solo una curva..”
“Equilibrio con un punto de apoyo.. extremidades cómo soporte..”
Desde aqui, se buscan detalles particulares dentro de cada gestualidad en la práctica, llegando a la conclusión de la importancia de las extremidades. Nuevamente se presentan estos elementos cómo foco de atención frente a la expresión corporal. Estos se van mostrando de manera progresiva y muy predominantes dentro de cada postura y movimiento. Finalmente se exponen cómo soportes, gestores de lo que se busca hacer aparecer; la apertura y él cierre continuo.
Passiflora - Trayectoria, Unión y Encuentro
Otro estudio presente nos habla de la trayectoria, de las uniones y los encuentros. La “passiflora” es un arbusto - enredadera, que dentro de su forma contiene ciertos “espirales” conectores entre tallos y raíces, los cuales permiten la estructura de enredadera y su adherencia frondosa a las superficies.
Estos espirales se muestran cómo conectores esenciales para su forma. Se van haciendo parte sutilmente de un nuevo tallo, hasta lograr atraparlo y unirlo con él que se encuentra en él otro extremo.
“las uniones que generan la frondosidad se van creando a través de encuentros entre curvas que van creando una trayectoria “uniones guías”...”
“...extensiones del tallo que aparecen para envolver de manera curva. Espiral envolvente que permite él encuentro en una trayectoria, distancia o recorrido..”
Unión de observaciones
Se conversó como grupo sobre las diversas observaciones y encuentros que tuvimos, llegando a una observación por cada uno, que guiará la propuesta final del totem. Se determinó el concepto de proximidad como uno de estos, por lo cual unos de los inputs del Tótem es un sensor de ultra sonido el cual mide la distancia de un objeto enviando y recibiendo señales sonoras. La segunda característica observada es lo errático, aquello es expresado el en el movimiento de dentro del Tótem, el cual se efectuará mediante un motor activado por los sensores ultrasónicos. Este movimiento será expresado por una tela al interior del objeto. Luz Flectada es aquello que se logró en la unión se estos conceptos.
Además se presentarán dos output con máximos y mínimos, la intensidad de las luces manejadas con botones ubicados en los laterales del Tótem y la altura en desplazamiento de estas. Esto ya que se dispondrán ocho botones en total, cada cara contará con dos, los cuales se podrán activar en pares o individualmente. Cara placa con los botones estará en distintas alturas, así se tendrá que disponer el cuerpo a estirarse o a recogerse para activarlos.
Acercamiento a la forma
Pruebas constructivas - Avances
Pruebas constructivas a escala menor
Partimos probando cilindros de tela que se van recogiendo mientras se proyecta la textura de estos mismos en contraluz. La luz central se va controlando manualmente en búsqueda de pruebas; subir y bajar, acercarse y alejarse, etc. A partir de estas pruebas van apareciendo distintas proyecciones en el espacio, de las cuales podemos rescatar algunas más interesantes que otras. La luz se hace parte relevante en la proyección cuando ambas telas se superponen en movimiento y la fuente luminica se va acercando a la "arruga".
Luego comenzamos a realizar las pruebas a escala real, en donde pudimos replicar de cierta manera lo descubierto en el movimiento de las telas, pero esta vez a través de hilos. En donde los hilos integrados a la tela arrugan esta misma para ir formando distintas texturas dentro del espacio en contraluz.
Pruebas constructivas a escala real
Tela - Hilos
Mecanismo tela - hilos
Luz
Mecanismos
Arduino
Motor Superior
Diagrama
Código
Motor Inferior
Diagrama
Código
Código del motor inferior, el cual mueve la caja de led por un eje vertical. Se controla cuanto sube y baja con botones ubicados en una de las caras del tótem.
#include <SoftwareSerial.h> //Valores editables int radio=10; // medida del radio del eje del motor en milimetros int distancia= 100; // distancia de recorrido de la cuerda en milimetros int duracion=10; // tiempo del recorrido en segundos, 10 para enrollar y 10 para desenrollar const int stepPin = 5; // pin de conexión al arduino const int dirPin = 11; // pin de conexión al arduino const int enPin = 12; // pin de conexión al arduino int unidadtiempo=(0.0455/radio); // constante dividida por el radio del eje del motor int total= 50; // tiempo dividido por unidadtiempo int perimetro=(2*PI*radio); // perímetro del espesor del eje del motor int calculo1=(distancia/perimetro); // cálculo para saber cuantas vueltas debe dar el motor en una distancia determinada int calculo2=(calculo1*1600); // cálculo 1 por 1600 (correspondiente a una vuelta del motor) int aumentar = 7; int disminuir = 8; void setup() { Serial.begin(9600); pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); pinMode(enPin,OUTPUT); digitalWrite(enPin,LOW); pinMode(disminuir, OUTPUT); pinMode(aumentar, OUTPUT); digitalWrite(aumentar,LOW); digitalWrite(disminuir,LOW); } void loop() { digitalWrite(dirPin,HIGH); // sentido de giro del motor a la derecha if (digitalRead(aumentar) == HIGH) { Serial.println("aumentar"); //for(int x = 0; x < calculo2; x++) { // ciclo for para mantener la duración del ciclo digitalWrite(stepPin,HIGH); delayMicroseconds(total); digitalWrite(stepPin,LOW); delayMicroseconds(total); //} } //delay(10); // un segundo de retraso digitalWrite(dirPin,LOW); // sentido de giro del motor a la izquierda if (digitalRead(disminuir) == HIGH) { Serial.println("disminuir"); //for(int x = 0; x < calculo2; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(total); digitalWrite(stepPin,LOW); delayMicroseconds(total); //} } //delay(10); // un segundo de retraso }
Luces
Código de una variante lumínica, para activar con una placa botón. Esta variante opera con un ciclo for el cual sube y baja la intensidad de las luces, pasando por los colores de manera separada.
int r= 3; int g= 5; int b= 6; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); } void loop() { for (int i = 0 ; i < 256 ; i ++){ //rojo analogWrite(r,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(r,i); delay(10); } for (int i = 0 ; i < 256 ; i ++){ //verde analogWrite(g,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(g,i); delay(10); } for (int i = 0 ; i < 256 ; i ++){//azul analogWrite(b,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(b,i); delay(10); } }
Se realizan dos códigos para interactuar con los botones ya que el tiempo que demora un arduino en realizar cada acción es considerable ses decide separar en dos arduinos mini los input de las placas pres. Cada arduino tiene un código para operar cuatro botones cada uno y a su vez el motor
Arduino A
los OUTPUT de estos botones tiene que ver con las cualidades de las luces led que se presentan en una caja suspendida y dirigida por un riel al interior del tótem. Las cualidades que se pueden manipular es el delay (aumentarlo y diminuirlo), la aparición random de un color y un loop que pasa por distintos colores cambiando su intensidad al hacerlo.
int r= 3; int g= 5; int b= 6; int c1d= 2; int c1i= 4; int c2d= 7; int c2i= 8; void setup() { Serial.begin(9600); pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); pinMode(c1d, INPUT); pinMode(c1i, INPUT); pinMode(c2d, INPUT); pinMode(c2i, INPUT); /*digitalWrite(c1d,LOW); digitalWrite(c1i,LOW); digitalWrite(c2d,LOW); digitalWrite(c2i,LOW);*/ randomSeed(analogRead(c2d));
}
void loop() { if (digitalRead(c1d) == HIGH) //cambio de color por medio de subidas y bajadas de intencidad lumínica { for (int i = 0 ; i < 256 ; i ++){ //rojo analogWrite(r,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(r,i); delay(10); } for (int i = 0 ; i < 256 ; i ++){ //verde analogWrite(g,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(g,i); delay(10); } for (int i = 0 ; i < 256 ; i ++){//azul analogWrite(b,i); delay(10); } for (int i = 256 ; i > 0 ; i --){ analogWrite(b,i); delay(10); } } if(digitalRead(c1i) == HIGH){ //decrecer el delay al cambiar los colores for (int d = 1000 ; d > 10 ; d --){ analogWrite(g,200); delay(d); analogWrite(r,200); delay(d); analogWrite(b,200); delay(d); analogWrite(g,200); delay(d); } } int vf=0; vf = digitalRead(c2d); //cambio de color de manera azarosa cada vez que se activa if(vf){ float col1= random(0,255); float col2= random(0,255); float col3= random(0,255); Serial.print("entro"); analogWrite(r, col1); analogWrite(g, col2); analogWrite(b, col3); delay(1000); } else{ analogWrite(r, 0); analogWrite(g, 0); analogWrite(b, 0); delay(100); } if (digitalRead(c2i) == HIGH){ for (int d = 10 ; d < 1000 ; d ++){ //crecer el delay al cambiar los colores analogWrite(b,200); delay(d); analogWrite(g,200); delay(d); analogWrite(r,200); delay(d); analogWrite(b,200); delay(d); } } }
Arduino B
Como OUTPUT se define al acenso y descenso de la caja de led por el riel, utilizando un sistema de poleas con motor. a la vez que baja se va intensificando el color rojo y cuando asciende se intensifica el color azul.
int r= 3; int g= 5; int b= 6; int c3d= 2; //disminuir int c3i= 4; int c4d= 7; //aumentar int c4i= 8; int radio=10; // medida del radio del eje del motor en milimetros int distancia= 100; // distancia de recorrido de la cuerda en milimetros int duracion=10; // tiempo del recorrido en segundos, 10 para enrollar y 10 para desenrollar const int stepPin = 5; // pin de conexión al arduino const int dirPin = 11; // pin de conexión al arduino const int enPin = 12; // pin de conexión al arduino int unidadtiempo=(0.0455/radio); // constante dividida por el radio del eje del motor int total= 50; // tiempo dividido por unidadtiempo int perimetro=(2*PI*radio); // perímetro del espesor del eje del motor int calculo1=(distancia/perimetro); // cálculo para saber cuantas vueltas debe dar el motor en una distancia determinada int calculo2=(calculo1*1600); // cálculo 1 por 1600 (correspondiente a una vuelta del motor) void setup() { Serial.begin(9600); pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); pinMode(c3d, OUTPUT); //disminuir pinMode(c3i, INPUT); pinMode(c4d, OUTPUT); //aumentar pinMode(c4i, INPUT); pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); pinMode(enPin,OUTPUT); digitalWrite(enPin,LOW); digitalWrite(c3d,LOW); //disminuir digitalWrite(c4d,LOW); //aumentar } void loop() { digitalWrite(dirPin,HIGH); // sentido de giro del motor a la derecha if (digitalRead(c4d) == HIGH) { Serial.println("aumentar"); //for(int x = 0; x < calculo2; x++) { // ciclo for para mantener la duración del ciclo digitalWrite(stepPin,HIGH); delayMicroseconds(total); digitalWrite(stepPin,LOW); delayMicroseconds(total); //} } //aumento del color azul if (digitalRead(c4i) == HIGH) //cambio de color por medio de subidas y bajadas de intencidad lumínica { for (int i = 0 ; i < 256 ; i ++){ //azul analogWrite(b,i); delay(100); } } //delay(10); // un segundo de retraso digitalWrite(dirPin,LOW); // sentido de giro del motor a la izquierda if (digitalRead(c3d) == HIGH) { Serial.println("disminuir"); //for(int x = 0; x < calculo2; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(total); digitalWrite(stepPin,LOW); delayMicroseconds(total); //} } //aumento del color rojo if (digitalRead(c3i) == HIGH) //cambio de color por medio de subidas y bajadas de intencidad lumínica { for (int i = 0 ; i < 256 ; i ++){ //rojo analogWrite(r,i); delay(100); } } //delay(10); // un segundo de retraso }
Funcionamiento del mecanismo de seguimiento del recorrido
Se instalan cuatro sensores de proximidad en la parte inferior del totem. Estos sensores serán los encargados de informar al mecanismo qué cara es la que debe modificar, así, si estoy en la cara 1, el motor posicionará el mecanismo de acción en esa cara.
Código
Este código identifica la cara en la que esta ubicado el usuario y envía cierta cantidad de pasos (dependiendo de la cara C1:200, C2:600, C3:1000,C4:1400 *step ). una vez posicionado, hace presiones random dentro de esta cara, luego vuelve a su posición inicial
#include <Servo.h int trigPin1 = 51; // Elegimos el pin para Trig1 int echoPin1 = 50; // Elegimos el pin para Echo1 long duration1, cm1; // Variables que utilizaremos int trigPin2 = 47; // Elegimos el pin para Trig1 int echoPin2 = 46; // Elegimos el pin para Echo1 long duration2, cm2; // Variables que utilizaremos int trigPin3 = 49; // Elegimos el pin para Trig1 int echoPin3 = 48; // Elegimos el pin para Echo1 long duration3, cm3; // Variables que utilizaremos int trigPin4 = 53; // Elegimos el pin para Trig1 int echoPin4 = 52; // Elegimos el pin para Echo1 long duration4, cm4; // Variables que utilizaremos Servo servo1; const int stepPin = 5; // pin de conexión al arduino const int dirPin = 11; // pin de conexión al arduino const int enPin = 12; // pin de conexión al arduino int pos = 0; int C1 = 200; int C2 = 1000; int C3 = 600; int C4 = 1400; int pasos; boolean di;//booleano qUe controla el sentido de giro void setup() { Serial.begin(9600); servo1.attach(2); pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); pinMode(enPin, OUTPUT); digitalWrite(enPin, LOW);
pinMode(trigPin1, OUTPUT); //Definimos inputs y outputs pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT); //Definimos inputs y outputs pinMode(echoPin2, INPUT); pinMode(trigPin3, OUTPUT); //Definimos inputs y outputs pinMode(echoPin3, INPUT); pinMode(trigPin4, OUTPUT); //Definimos inputs y outputs pinMode(echoPin4, INPUT); } void loop() { analogWrite (A1, 2.5); lectura(trigPin1,echoPin1,duration1, cm1); lectura(trigPin2,echoPin2,duration2, cm2); lectura(trigPin3,echoPin3,duration3, cm3); lectura(trigPin4,echoPin4,duration4, cm4); if (cm1 < 20) { analogWrite (A1, 0); Serial.println ("CCCaARa 11111111111");
posicionate(pos, C1); Serial.println (pos); posicion1(C1); }
if (cm2 < 20) { posicionate(pos, C2); Serial.println("CaaaRa 22222222"); posicion1(C2); } if (cm3 < 20) { analogWrite (A1, 5); posicionate(pos, C3); Serial.println ("CCCaARa 33333333"); posicion1(C3); } if (cm4 < 20) { posicionate(pos, C4); Serial.println ("CCCaARa 44444444"); posicion1(C4); } }
void lectura (int trig, int echo, long duration, long cm) { digitalWrite(trig, LOW); delayMicroseconds(5); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); // La duración es el tiempo, en microsegundos que tarda la señal pinMode(echo, INPUT); duration = pulseIn(echo, HIGH); // Convertimos el tiempo en distancia cm = (duration / 2) * 0.0344; } void posicion1(int cara) { int as = random(5); int t = 1; digitalWrite(dirPin, HIGH); // sentido de giro del motor a la derecha
//envío de posición al servo
servo1.write(45); delay(100); for (int x = 0; x < cara; x++) { // ciclo for para llegar a la posicion random mov (X,Z)
digitalWrite(stepPin, HIGH);
delay(t); pos = pos + 1; digitalWrite(stepPin, LOW);
delay(t); }
float locura = random (400); //búsqueda random, movimiento en la cara int tiemDloc = 10; //tiempo para alcanzar a posicionar el servo int angLoc = int (random(5, 30)); //ángulo random del servo en la cara que corresponde. digitalWrite (dirPin, HIGH); for (int x = 0; x < locura ; x++) { // ciclo for para llegar a la posicion random mov (X,Z)
digitalWrite(stepPin, HIGH); servo1.write(angLoc); delay(tiemDloc); pos = pos + 1; digitalWrite(stepPin, LOW); servo1.write(45); delay(tiemDloc); } digitalWrite (dirPin, LOW);
for (int x = locura; x > 0; x--) { // ciclo for para llegar a la posicion random mov (X,Z)
digitalWrite(stepPin, HIGH); servo1.write(angLoc); delay(tiemDloc); pos = pos + 1; digitalWrite(stepPin, LOW); servo1.write(45); delay(tiemDloc); }
servo1.write(45); delay (100); digitalWrite (dirPin, LOW); for (int x = cara; x > 0; x--) { // ciclo for para llegar a la posicion random mov (X,Z)
digitalWrite(stepPin, HIGH);
delay(t); pos = pos + 1; digitalWrite(stepPin, LOW);
delay(t); } /* delay(10); // 1/1000*10seg de retraso // 1/100 segundos //i = random(100); as = random(5); digitalWrite(dirPin, LOW); // sentido de giro del motor a la izquierda
for (int x = 0; x < A; x++) { digitalWrite(stepPin, HIGH); servo1.write(as); delay(t); pos = pos - 1; digitalWrite(stepPin, LOW); servo1.write(45); delay(t); } delay(10); // un segundo de retraso}*/
}
void posicionate (int Cpos, int cara ) { // Cpos= current posición, es decir la posicion que el motor tiene en este momento; cara= al lugar que debe llegar. if (Cpos < 0) { di = false; } if (Cpos > 1600) { di = true ; }
pasos = cara - Cpos ; //if (di==false){digitalWrite(dirPin, HIGH);} // if (di==true){digitalWrite(dirPin, LOW);}} //Fin del Código
Construcción Totem
GitHub
Página web
https://matildecu.github.io/Luminosidad-flectada-erraticamente-en-proximidad/
Repositorio
https://github.com/MatildeCU/Luminosidad-flectada-erraticamente-en-proximidad