Está en la página 1de 4

 

Controlar
Controlar la velocidad de desplazam
desplazamient
iento
o de un servo moto
motorr con Ardu
Arduin..
in.... http://creat
http://creatinu
inueva.co
eva.com
m/2014/02/07/con
/2014/02/07/controlar-la-ve
trolar-la-velocidad-de
locidad-de-desplaz
-desplaza...
a...

Sesión

Entra
radas
asrecientes

Categorías

1 de 4 14/10/2015 10:20
 

Controlar
Controlar la velocidad de desplazam
desplazamient
iento
o de un servo moto
motorr con Ardu
Arduin..
in.... http://creat
http://creatinu
inueva.co
eva.com
m/2014/02/07/con
/2014/02/07/controlar-la-ve
trolar-la-velocidad-de
locidad-de-desplaz
-desplaza...
a...

– Ca
Cabbles,protob
oboa
oard
rd… Acerc
rcadeLuisLeon
El códi
ód igo

Par
Pa ra elcódigo que utilizarem os en nuest
nu estro A
Ardu
rdui
ino U N O ,es n
necesar
ecesario consider
derar u
usar
sar dos
do s pri
principal
pa les
variabl
ab les qu
queed
def
efinirán e
el
lán
ángu
gul
lo del
d elservom otor y elvalor obt
ob teni
en ido p
por
or elpotencióm etro:

Variab
ablle “pot
“po tva
vall”:A lm acen
acenará los vavallores de
de la lectura an
analógi
óg ica d
del
elpin A 0,en elcual,
cual,irá conectad
con ectado
o el
pot
po tenci
encióm etro.Esta varivariabl
ab le será de
d e tipo IN TEG ER,
ER ,ya q
que
ue alm acenará
acena rá valores de 0 al
a l1023.
1023.
Vari
Va riabl
ab le “servopo
“servopos”:s”:A lm acenará
acen ará los va
val lores del
delán
ángu
gul
lo del
d elservom otor.Su valor inicialserá dede 90º
90º y
será de
d e tipo IN TEG
TEG ER,
ER ,ya qque
ue al
a lm acen
acenará
ará valores del0 al180180.
.

A dem ás,requ
requeri
erim os incluir la librería Servo.
S ervo.h para facilitar n
nuuestra p
program
rogram ación delservom otor.Esta
librería se encu
encuentr
entra incluida dentr
d entro de los ficheros del
delA rdu
rduiino ID
IDE.
E.A sim ism o,com enzam os a
em plear esta librería,colocan do elalias o e el
lnom bre delservom otor,que en este caso le p puuse Rede
desSociales
“m iservo”.

Por otro lado,


ad o,es ne
necesari
cesario con
conf figurar
gu rar las p
pati
atillas 2 y 4 d
del
elA rdu
rduiino com o enenttrad
radas,
as,dond
on de irá conect
conectado
ad o
elbotón delsensenttido delgiro,con ayuayudda de la instrucción “pinM ode”.od e”.En esta oca
ocasi
sión
ón,,elpin 2 signi
gn ificará
que elservo d deb
eberá
erá girar a la izqu ierda y elpin 4 qu q ue elservo deb
deberáerá girar a la derecha
d erecha.
.Y para
p ara con cluir
los prep
p reparati
arativo
vos
s del
delcódi
cód igo para ppasa
asarr a la ru
ruttina,es n necesa
ecesari
rio vi
vincul
cular elalias d
del
elservo con
co n elpin 3,
don
ondde irá conect
conectad
ado.
o.Esta vinculación se haceha ce por
po r m edi
edio d
del
elcód
códi igo “m iservo.attach
ach(
(3)”.

D e esta m aner
an era,elcódigo qued
q uedará
ará de la sigui
gu iente form a:

1 //Variables
2 int potval
potval==0; //Variable  que contendrá  el valor  del potenciómetro
3 int servopos
servopos==90
90;; //Variable  que contendra  el ángulo  del servo
4 //Declaraciones
5 #include  <Servo.h>  //Incluimos  la libreria de Servo
6 Servo  miservo; //Definimos  que el servo se llamara  miservo
7
8 void setup() {
9 //Configuración
10   miservo.attach(
miservo.attach(33); //Servo  en patilla  3
11   pinMode(
pinMode(22, INPUT);  //Botón  para iniciar  giro  del servo hacia la izquierda  
12 pinMode(4
pinMode( 4, INPUT);  //Botón  para iniciar  giro  del servo hacia la derecha
13
14 //Colocar  el servo  en una posición inicial
15   miservo.write(
miservo.write(90 ); //Centramos  el servo a la  posición central
90);
16 }
17

Ya con
con los prepara
prep arat tivos
vos listos para
p ara escribir la ru
ruti
tina,procedem
roced em os a defi
d efinir elprog
rogram
ram a pri
p rincipal.Para
iniciar,prim ero se pproced
rocede e a obt
ob ten
ener
er elvalor exped
exp edi
ido por
p or elpotencióm etro y cargarlo a la vari
variabl
ab le
“po
“pottval”.Esto,m edediian
antte la instrucción “an
“anal
alogR
ogRead
ead”
” em plead
eadaadde
e la sigui
gu ient
en te form a:“pot
“potval=
anal
an alogRead
ogR ead((A 0)”.

Post
Po steriorm ente,m ediant
an te cód
códiigos
gos de con
condi
dición IF/ELSE,
ELSE ,obt
ob tenem os los val
valores de los b
botones
otones
conectados a los pi
conectados p ines
nes 2 y 4.D e form a ap
a plicada,
cada ,em pleam os la instrucción “digitalRea
Read”
d” p
para
ara obt
ob tener
dos
do s posibles resultados
ad os (H IG H & LO W ),que esto se interpretaría com o H HIIG H :Pul
Pu lsado y LO W :Sin p
pul
ulsar.
Cabe
Ca be d
dest
estacar,que
qu e em pleam os ununaa exp
expres
resión lógica A
ANN D para
pa ra verificar que
qu e sólo u
unnb
botón
otón esté pu
pul lsado
y elotro perm
p erm anezca
an ezca suelto.

A plicado
cad o d
den
ent
tro del
delcódi
cód igo,
go ,sielbotón de giro a la izqu
zquierd
erda a está pu
pulsad
sado,
o,la va
vari
riab
ablle servopos
servop os (la cu
cual
al
iniciará e
enn 90)
90),deb
eberá
erá d
decrem
ecrem en
ent
tar en 1 g
grado
rado,
,lo cu
cual
al,nos p perm
erm itirá q
quue gi
gire a la izqu
zquiierda.
erda .En elotro
caso,sielbotón de giro a la derecha
d erecha está p
puulsad
sado,
o,la va
vari
riabl
ab le servopos
servop os d
deb
eberá
erá increm ententar 1 grado
grado..

D espu
espués de
de cerradas
ad as las con
conddiciones,
on es,se de
debberá hacer
hacer la escritura del
delángu
án gul
lo en elservo,m edi
ed iant
an te la
instrucción “m iservo.w rite(servop
servopos)
os)”,la cua
cuall,nos a
ayu
yud
dará a coloca
ocar
r nu
nuest
estro servo en
en elán
ángu
gullo ya
m od
odi
ificad
cadoo por
por las con
conddicion
ones.
es.

Para concl
con cluir,colocarem os unu n retard
ardo,
o,cuy
cuyo
o va
vallor será va
vari
riad
adoop
por
or la lectura de
dellpotencióm etro.D e
esta m aner
an era,elpot
po tencióm etro perm itirá q que
ue la rutina se ejecute con m enoenoss retraso o con m ayo
ayorr
retraso.Esto ocasiononarí
aría qu
q ue se m odi
od ifique elán
ángu
gullo m ás rápi
rápido o m ás lenent
to.Por lo tanto,elcód
códi
igo nos
queda
qu eda de la sigui
gu ient
ente form a:

1 //Variables
2 int potval
potval==0; //Variable  que contendrá  el valor  del potenciómetro
3 int servopos
servopos==90
90;; //Variable  que contendra  el ángulo  del servo
4 //Declaraciones
5 #include  <Servo.h>  //Incluimos  la libreria de Servo
6 Servo  miservo; //Definimos  que el servo se llamara  miservo
7

2 de 4 14/10/2015 10:20
 

Controlar
Controlar la velocidad de desplazam
desplazamient
iento
o de un servo moto
motorr con Ardu
Arduin..
in.... http://creat
http://creatinu
inueva.co
eva.com
m/2014/02/07/con
/2014/02/07/controlar-la-ve
trolar-la-velocidad-de
locidad-de-desplaz
-desplaza...
a...

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

Cóm
Có m o se obser
ob serva,las cond
condi iciones
on es qu
quee se em plean son IF y un ELSE IF,que
qu e nos
no s indi
nd ican que
q ue p
pued
ueden
en
hab
aber
er dos cond
con dicion
ones
es diferentes,que ejecuecut
tan dos acciones
on es diferentes,pero cuyos
cuyo s elem ent
entos
im plicados
cados dentr
d entro de la con
condidición lógica son los m ism os.

H ar
ardw
dw ar
are
e

La conexi
con exión física es relativam ente m uy sencilla.Lo q ue deb
debem em os hhacer
acer es verificar que
qu e no
n o haya
h aya alguna
gu na
om isión de algun
gu na resistenci
encia a tierra (para p
pon
oner
er un valor baj
ba jo en elbotón)
otón),que n nuuestro servo esté
alim ent
entado
ad o y que
qu e nuestr
n uestro potenci
p otencióm etro esté ad
adqu
quiiriend o la al
a lim entación de form a correcta.Para
nuest
nu estro circuito de
de p
prueba
rueba, ,em pleam os elsigui
gu iente diagram a:

Espero que
qu e les ayude
ayud e m ucho
ucho. .Cu
Cual
alqui
qu ier com entario,sugerenci
sugerencia o duda,
du da,pueden
pu eden com entaren este post
p ost.
A con
conttinuaci
nu ación dejaré los en
enllaces de
de descar
d escarga deldiagram a y del códi
ód igo:

D escargar:Regu
Reg ular_la_velocidad_de_un
ad _de_un _servo

3 de 4 14/10/2015 10:20
 

Controlar
Controlar la velocidad de desplazam
desplazamient
iento
o de un servo moto
motorr con Ardu
Arduin..
in.... http://creat
http://creatinu
inueva.co
eva.com
m/2014/02/07/con
/2014/02/07/controlar-la-ve
trolar-la-velocidad-de
locidad-de-desplaz
-desplaza...
a...

Ace
cercadeLuisLeo

Tema
masrelacionados

3Come
mentarios

Pingback:
ngb ack:PR
PRÁÁ CTI
CT ICA S con A rdu
duiino | sindof
nd ofdez

DejaunCom
omentario
D ebes de estarloguead
ogu eado
o para
pa ra publ
pu blicar un com entario.

Com prarTrituradora
rado ra de Pi
Pied
edra
ra ?Cap
apaci
acidad de trituración 50-
50 -100
10 00t/h

Creatinu
nueva
eva 2015
20 15 ® Todo
Todoss los derec
derecho
hoss Reservados
vado s

4 de 4 14/10/2015 10:20

También podría gustarte