Montaje simple pero de resultados divertidos aunque un poco chapuceros. Está inspirado en el que aparece en
http://openlab.makeblock.com/topic/57773eb4bbb501fb2db9fdeb
pero en lugar de mover un ventilador se aprovechan los dos ejes accionados por servos como coordenadas X e Y que dibujan distintas curvas de Lissajous mediante un puntero láser.

Las distintas curvas se logran variando algunos parámetros en las fórmulas que se incorporan al listado y se pueden encontrar en
https://es.wikipedia.org/wiki/Curva_de_Lissajous

Las imágenes se obtienen en estancia oscura y con el obturador de la maquina de fotos en “B”.






#include "MeOrion.h"
#include <SoftwareSerial.h>
int base_pin = mePort[4].s1;
int apuntador_pin = mePort[4].s2;
Servo base; // servo analogico, base
Servo apuntador;//servo digital, apuntad
MeDCMotor dc(M1); // al puntero laser
float t = 0;
float rads = 180/PI;
//"sin" realiza los calculos en radianes
int vol5= -160;//5V para el punt. laser
// parametros para las distintas curvas
float alfa=PI;
float beta=PI;
float gamma=8;
float delta=6;
//=========================
void setup() {
base.attach(base_pin);
apuntador.attach(apuntador_pin);
}
//=========================
void loop() {
t+=1;
if(t>360){ t-=360;}
base.write(85+15*sin(gamma*(t/rads)-alfa));
// hace un recorrido máximo de 30 grados en la horizontal (85-15 a 85+15)
apuntador.write(120+15*sin(delta*(t/rads)+beta));
// hace un recorrido máximo de 30 grados en la vertical (120-15 a 120+15)
dc.run(vol5);
delay(20);
}
Montaje simple pero de resultados divertidos aunque un poco chapuceros. Está inspirado en el que aparece en
http://openlab.makeblock.com/topic/57773eb4bbb501fb2db9fdeb
pero en lugar de mover un ventilador se aprovechan los dos ejes accionados por servos como coordenadas X e Y que dibujan distintas curvas de Lissajous mediante un puntero láser.

[Video dibujando](https://vimeo.com/179466762)
Las distintas curvas se logran variando algunos parámetros en las fórmulas que se incorporan al listado y se pueden encontrar en
https://es.wikipedia.org/wiki/Curva_de_Lissajous

Las imágenes se obtienen en estancia oscura y con el obturador de la maquina de fotos en “B”.






````
#include "MeOrion.h"
#include <SoftwareSerial.h>
int base_pin = mePort[4].s1;
int apuntador_pin = mePort[4].s2;
Servo base; // servo analogico, base
Servo apuntador;//servo digital, apuntad
MeDCMotor dc(M1); // al puntero laser
float t = 0;
float rads = 180/PI;
//"sin" realiza los calculos en radianes
int vol5= -160;//5V para el punt. laser
// parametros para las distintas curvas
float alfa=PI;
float beta=PI;
float gamma=8;
float delta=6;
//=========================
void setup() {
base.attach(base_pin);
apuntador.attach(apuntador_pin);
}
//=========================
void loop() {
t+=1;
if(t>360){ t-=360;}
base.write(85+15*sin(gamma*(t/rads)-alfa));
// hace un recorrido máximo de 30 grados en la horizontal (85-15 a 85+15)
apuntador.write(120+15*sin(delta*(t/rads)+beta));
// hace un recorrido máximo de 30 grados en la vertical (120-15 a 120+15)
dc.run(vol5);
delay(20);
}
````
editado 19 Aug '16 a las 4:02 pm