
Cubo controlado por potenciometros con arduino
Publicado por Andrea (2 intervenciones) el 18/08/2016 19:29:14
Buen día a todos, hace unos días realicé un programa que me permite la rotación y traslación de un triángulo mediante un potenciómetro que se conecta a arduino, sin embargo me preguntaba si era posible realizar algo así pero en 3 dimensiones y con un cubo, aquí anexaré el código de la rotación y traslación del triángulo, agradecería mucho la ayuda.
Traslación:
Traslación:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
delete(instrfind({'Port'},{'COM3'}));
s = serial('COM3','BaudRate',9600);
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');
fopen(s);
num=input('cuantas traslaciones desea realizar');
x=[0 2 -1 0];
y=[5 4 1 5];
plot(x,y,'r');
hold on
t=0;
f=0;
while t<=num
c = fscanf(s,'%d');
g = (c*20)/1024;
a=[0 5 1];
b=[2 4 1];
d=[-1 1 1];
t=[1 0 0;0 1 0;g g 1];
a1=a*t;
b1=b*t;
d1=d*t;
h=[a1;b1;d1;a1];
plot(h(:,1),h(:,2),'g')
grid
t=t+1;
drawnow
end
fclose(s);
Rotación:
delete(instrfind({'Port'},{'COM3'}));
s = serial('COM3','BaudRate',9600);
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');
fopen(s);
num=input('cuantas rotaciones desea realizar');
x=[0 2 -1 0];
y=[5 4 1 5];
plot(x,y,'r');
hold on
for c=1:num
v=fscanf(s,'%d');
an=(v*(2*pi))/1024;
e=[cos(an) sin(an) 0;-sin(an) cos(an) 0;0 0 1];
j=[x;y;1 1 1 1];
R= j'*e;
plot(R(:,1),R(:,2),'g')
c=c+1;
drawnow
end
Valora esta pregunta


0