“第七课--Microduino 舵机驱动,不用库函数/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将叫大家使用Microduinoarduino驱动舵机,不调用库函数 ==设备== '''Microduino-Core''' '''Microduino-FT...")
 
程序
 
(未显示2个用户的7个中间版本)
第1行: 第1行:
 +
{{Language|Lesson_7--Microduino_Drive_servo_(no library)}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
第6行: 第7行:
  
 
==设备==
 
==设备==
'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   
第15行: 第16行:
  
  
 +
[[File:intermediateLessong7All.jpg|600px|center|thumb]]
  
 
==原理图==
 
==原理图==
第20行: 第22行:
  
 
==程序==
 
==程序==
<source lang="cpp">
+
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoServoWithoutLibrary MicroduinoServoWithoutLibrary]
 
 
int sp1=7;//定义舵机接口数字接口7
 
int pulsewidth;//定义脉宽变量
 
int val;
 
int val1;
 
int myangle1;
 
//下面是servopulse函数部分(此函数意思:也就是說每次都是0.5ms高電平 1.98ms低電平 然後再0.52ms低電平 17ms延時也是低電平)
 
 
 
void servopulse(int sp1,int val1)//定义一个脉冲函数
 
{
 
  myangle1=map(val1,0,180,500,2480);
 
  digitalWrite(sp1,HIGH);//将舵机接口电平至高
 
  delayMicroseconds(myangle1);//延时脉宽值的微秒数
 
  digitalWrite(sp1,LOW);//将舵机接口电平至低
 
  delay(20-val1/1000);
 
}
 
//servopulse函数部分到此结束
 
void setup()
 
{
 
  pinMode(sp1,OUTPUT);//设定舵机接口为输出接口
 
  //设置两组串口波特率
 
  Serial.begin(9600);
 
  delay(500);
 
  Serial.println("servu=o_seral_simple ready" ) ;
 
}
 
 
 
void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数
 
{
 
  val=Serial.read();//读取串行端口的值
 
 
 
  if(val>'0'&&val<='9')
 
  {
 
    val1=val-'0';//将特征量转化为数值变量
 
    val1=map(val1,0,9,0,180);//将角度转化为500-2480的脉宽值
 
    Serial.print("moving servo to ");
 
    Serial.print(val1,DEC);
 
    Serial.println();
 
    for(int i=0;i<=50;i++)//给予舵机足够的时间让它转到指定角度
 
    {
 
      servopulse(sp1,val1);//引用脉冲函数
 
    }
 
  }
 
 
 
}
 
 
 
</source>
 
  
 
==调试==
 
==调试==
 
步骤一:搭建硬件电路,如下图
 
步骤一:搭建硬件电路,如下图
  
 
+
[[File:intermediateLesson7Connect1.jpg|600px|center|thumb]]
 +
[[File:intermediateLesson7Connect2.jpg|600px|center|thumb]]
 
[[File:第七课-控制舵机电路.jpg|600px|center|thumb]]
 
[[File:第七课-控制舵机电路.jpg|600px|center|thumb]]
 
步骤二:拷贝代码到ide中,编译并运行
 
步骤二:拷贝代码到ide中,编译并运行
 
步骤三:打开串口监视器,输入1到9之间的数字
 
步骤三:打开串口监视器,输入1到9之间的数字
 
[[File:第七课-串口监视器输入0到9.jpg|600px|center|thumb]]
 
[[File:第七课-串口监视器输入0到9.jpg|600px|center|thumb]]
 
 
  
 
==结果==
 
==结果==
 
串口输入数字,舵机转动相应角度
 
串口输入数字,舵机转动相应角度
 
==视频==
 
==视频==
 +
http://v.youku.com/v_show/id_XNjc1NjUwOTUy.html

2014年10月29日 (三) 04:24的最新版本

Language English

目的

本教程将叫大家使用Microduinoarduino驱动舵机,不调用库函数

设备


原理图

第七课-Microduino控制舵机原理图.jpg

程序

MicroduinoServoWithoutLibrary

调试

步骤一:搭建硬件电路,如下图

第七课-控制舵机电路.jpg

步骤二:拷贝代码到ide中,编译并运行 步骤三:打开串口监视器,输入1到9之间的数字

第七课-串口监视器输入0到9.jpg

结果

串口输入数字,舵机转动相应角度

视频

http://v.youku.com/v_show/id_XNjc1NjUwOTUy.html