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.

57b10cf27d521.jpg

Video dibujando

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

57b10d13da5e2.jpg

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

57b10d434277e.jpg
57b10d5de5829.jpg
57b10d7265c6a.jpg
57b10d8086055.jpg
57b10d8bba76b.jpg

57b10da25451d.jpg

#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. ![57b10cf27d521.jpg](serve/attachment&path=57b10cf27d521.jpg) [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 ![57b10d13da5e2.jpg](serve/attachment&path=57b10d13da5e2.jpg) Las imágenes se obtienen en estancia oscura y con el obturador de la maquina de fotos en “B”. ![57b10d434277e.jpg](serve/attachment&path=57b10d434277e.jpg) ![57b10d5de5829.jpg](serve/attachment&path=57b10d5de5829.jpg) ![57b10d7265c6a.jpg](serve/attachment&path=57b10d7265c6a.jpg) ![57b10d8086055.jpg](serve/attachment&path=57b10d8086055.jpg) ![57b10d8bba76b.jpg](serve/attachment&path=57b10d8bba76b.jpg) ![57b10da25451d.jpg](serve/attachment&path=57b10da25451d.jpg) ```` #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
321
vistas
0
respuestas
1
seguidores
vista previa (en vivo)
introduzca al menos un 10 caracteres
Advertencia: Mencionaste a %MENTIONS%, pero ellos no pueden ver el mensaje y no serán notificados
Guardando...
Guardado
Todos los posteos de este tema serán borrados ?
Borrador pendiente ... Click para continuar editando
Descartar borrador