Arduino servo control. En este proyecto se utiliza un servo que estará controlado por una PC atabes de una aplicación creada en VB2010, Donde un Slider controlara la posición del servo y será desplegada en un LCD display.
Los servos vienen con dos códigos de colores:
1) Amarillo = señal Rojo = Voltaje Marrón = Tierra
2) Blanco = señal Rojo = Voltaje Negro = Tierra
Conexiones del
LiquidCrystal lcd(8,9,4,5,6,7);
Arduino servo control Sketch
// apcexpert.wordpress.com
// servo control con LCD display position
#include <Servo.h>
#include <LiquidCrystal.h>
Servo myservo;
int servoPosition = 1;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
lcd.begin(16, 2);
lcd.print("Servo Position:");
myservo.attach(13);
Serial.begin(9600);
}
void loop() {
static int val = 0;
lcd.setCursor(0, 1);
if(Serial.available()) {
char ch = Serial.read();
switch(ch) {
case '0'...'9':
val = val * 10 + ch - '0';
break;
case 's':
myservo.write(val);
lcd.print((float)val);
val = 0;
break;
}
}
}
Codigo fuente Visual Basic 2010 (ServoController1)
Public Class ServoController
Private serialPort As New IO.Ports.SerialPort
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
With serialPort
.PortName = “COM3”
.BaudRate = 9600
.Parity = IO.Ports.Parity.None
.DataBits = 8
.StopBits = IO.Ports.StopBits.One
End With
serialPort.Open()
serialPort.Write(“0s”)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
serialPort.Write(TrackBar1.Value & “0s”)
End Sub
End Class
(ServoController1)
No hay comentarios.:
Publicar un comentario