c#发展

注册

 

发新话题 回复该主题

实战项目做一个舵机控制上位机 [复制链接]

1#
白癜风好治愈吗 http://www.kstejiao.com/
简介:设计舵机控制的上位机和运行在舵机控制板中的下位机代码,实现联动控制舵机。下面展现效果:项目效果项目开发环境:VisualStudio/ArduinoIDE开发语言:C#/Cdemo功能:1:设计上位机,使得用户在其界面拖动滑条,可以通过串口发送指令到单片机控制板2:设计单片机控制板中的固件程序,接收上位机发过来的串口指令并解析,根据指令控制舵机运动3:这里单片机控制板采用一块自己设计的arduino板,其他单片机板也可以,主要理解其通信原理。下面上源码截图:上位机部分源码截图:界面实现代码实现代码还有下位机部分源码截图:arduino实现代码arduino实现代码上位机要注意串口的设置,demo设计的比较简单,仅仅实现了原理,在舵机控制方面,有很多玩法,包括将指定动作写入控制板内并保存在芯片flash中,实现重播;也可以在线编辑动作组;而舵机控制板还可以用stm32或者51等单片机设计电路和程序。下面上源码:上位机源码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace舵机图形化上位机软件{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}boolbuttonstatus=false;privatevoidbutton1_Click(objectsender,EventArgse){try{if(buttonstatus==false){serialPort1.PortName=textBox3.Text.ToString();//设置端口号serialPort1.BaudRate=Convert.ToInt32(textBox4.Text);//设置波特率serialPort1.Open();//打开串口buttonstatus=true;panel1.BackColor=Color.Blue;timer1.Enabled=true;button1.Text=关闭串口;}else{serialPort1.Close();//打开串口buttonstatus=false;panel1.BackColor=Color.Red;timer1.Enabled=false;button1.Text=打开串口;}}catch{MessageBox.Show(串口打开出错);}}privatevoidtimer1_Tick(objectsender,EventArgse){serialPort1.Write(#2+00+trackBar1.Value.ToString()+\r\n);serialPort1.Write(#3+00+trackBar2.Value.ToString()+\r\n);textBox1.Text=trackBar1.Value.ToString();textBox2.Text=trackBar2.Value.ToString();}}}下位机arduino源码:#includeServo.h//定义舵机Servomyservo2;Servomyservo3;int
分享 转发
TOP
发新话题 回复该主题