Que Tal: Me he comprado una controladora de servo SD21, la cuál se controla mediante bus I2C, trae su datasheet un ejemplo de programación, pero el problema es que esta programado en BasicStamp, me gustaría si alguien sabe como convertirlo a CCS para controlar el modulo con un PIC18F4550.
A continuación les pongo una idea de como lo haría y el código en BasicStamp, espero me ayuden.
Saludos
A continuación les pongo una idea de como lo haría y el código en BasicStamp, espero me ayuden.
Código:
SDA CON 0 ' SDA on pin0, SCL on pin1
SD21 CON $C2 ' SD21 I2C address
Servo1 CON 0 ' register address of servo1 speed reg (followed by pos low/pos high)
Speed CON 0 ' maximum speed
Servo1n CON 1200 ' position
Servo VAR W0
Loop:
Servo = Servo1n
I2COUT SDA, SD21, Servo1, [Speed, Servo.LOWBYTE, Servo.HIGHBYTE]
PAUSE 300
GOTO Loop
Código:
#use i2c(Master,sda=PIN_C0,scl=PIN_C1)
///////////////////////////
int servo_num,int velocidad, int16 posicion
servo_num=0;
velocidad=0;
poscion=1200
i2c_start();
i2c_write(0xC2); //Direccion Tarjeta
i2c_write(servo_num); //Numero de Registro Servomotor
i2c_write(velocidad); //Velocidad =0 Vel. maxima
i2c_write(posicion); //Parte baja de Posicion
i2c_write(posicion>>8); //Parte alta de posicion
i2c_stop();
Saludos