“第二课:输出设备的使用”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
舵机
第55行: 第55行:
 
=其他输出设备=
 
=其他输出设备=
 
==舵机==
 
==舵机==
*对舵机的控制主要是通过程序对旋转角度以及速度进行控制。
+
对舵机的控制主要是通过程序对旋转角度以及速度进行控制。
*舵机连接: 舵机通过舵机转接板与接口板连接,连接方法如图所示
+
===舵机连接===
 +
*舵机通过舵机转接板与接口板连接,连接方法如图所示
 
   舵机上有三根线,黑色的那根是负极(GND), 与转接板上的GND对应连接
 
   舵机上有三根线,黑色的那根是负极(GND), 与转接板上的GND对应连接
 
*舵机转接板可以连接两个舵机,上面一排对应引脚的前一个编号,下面对应后一个编号,例如图中连接6/7,接上面一排引脚就为6,下面一排就为7
 
*舵机转接板可以连接两个舵机,上面一排对应引脚的前一个编号,下面对应后一个编号,例如图中连接6/7,接上面一排引脚就为6,下面一排就为7
 
+
===编程===
 
打开_02_Servo_01_Basic.ino
 
打开_02_Servo_01_Basic.ino
 +
  #include<Servo.h> //调用舵机的库文件
 +
  Servo myservo; //定义舵机名称为myservo
 +
  void setup(){
 +
  myservo.attach(6); //初始化舵机,定义引脚为6
 +
  }
 +
  void loop(){
 +
  myservo.write(180); //舵机旋转到180度
 +
  delay(1000); //保持1秒
 +
  myservo.write(0); //舵机旋转到0度
 +
  delay(1000); //保持1秒
 +
  }
 +
===动手时间===
 +
尝试用for循环写一个舵机在0-180度之间来回摇摆的程序
 +
==蜂鸣器==
 +
控制蜂鸣器主要是控制发声频率,从而实现不同的音调。
 +
===编程===
 +
打开_03_Buzzer_01_basic.ino
 +
  void setup(){
 +
  pinMode(2, OUTPUT); //用pinMode()命令定义引脚为输出状态
 +
  }
 +
  void loop(){
 +
tone(buzzer_pin,200); //tone(a,b)是控制蜂鸣器的基本语法,其中”“为引脚,”b“为输出的频率值,人耳可以听到的频率在20~20000Hz之间
 +
  delay(1000); //当前声音保持1秒
 +
  noTone(buzzer_pin); //noTone()顾名思义就是静音
 +
  delay(1000); //静音保持1秒,可以刷进核心模块,听听效果
 +
  }
 +
===动手时间===
 +
尝试用for循环做一个警报的音效
  
 
|}
 
|}

2017年6月8日 (四) 06:16的版本

所需物料

名称 数量 说明
ColorLED 1 全彩LED
Core 1 核心模块
Hub 1 接口模块
USB线 1 连接USBTTL模块和电脑
传感器线 1 连接传感器到接口模块

ColorLED连接

  • 把灯接在数字信号的接口上,引脚默认为前面那个值,比如如果接到6/7管脚上,引脚就是6
 注意将连接线接到ColorLED的IN管脚
  • 如果要接多个灯,按下图所示方式连接

文件:ColorLED connection.png

 最多可以连接6个彩灯

程序说明

打开_o1_ColorLED_01_blink.ino

 #include<Adafruit_NeoPixel.h>
//大部分传感器和设备都有自己的库文件,要想使用这个设备,就需要调用这些文件内容,调用语法就是 #include<库文件名称>
 Adafruit_NeoPixel ColorLED=Adafruit_NeoPixel(2, 6, NEO_GRB+NEO_KHZ800);
 //这一句是定义彩灯的命令,用到了之前定义的两个值,一个是引脚”PIN“,另一个是灯的个数”PIN_NUM,按之前的定义,分别为“6”和“2”, 另外ColorLED为定义的彩灯名称,这个名称可以自行修改,但后面使用时要保持一致。
 void loop(){
 ColorLED.setPixelColor(0, ColorLED.Color(255,0,0));
 //这段代码控制哪盏灯亮,以及灯的颜色,当前灯的编号为0,即第一盏灯亮,如果接了两盏灯,想让第二盏灯亮,那编号就为1。后面的三个数字对应的是颜色的RGB值,当前255,0,0对应的是红色。
 ColorLED.show();
 //显示灯的效果
 delay(1000);
 //当前状态保持1000毫秒
 ColorLED.setPixelColor(0,ColorLED.Color(0,0,0));
 //再将灯的颜色设置成黑色(0,0,0),延时1000毫秒,循环起来,灯光就会亮1秒后,再暗1秒,循环往复,就形成了灯光闪烁的效果。
 ColorLED,show();
 delay(1000);
 }
  • 要想使用彩灯,首先要调用库文件“Adafruit_NeoPixel.h",设置灯的名称,引脚以及灯的个数,并输入那一大段定义,灯的名称要统一。
  • 之后,在void setup()中要输入”LEDname.begin();", 用来初始化彩灯。
  • 最后记得要显示彩灯的状态,这几个固定形式记住,彩灯的使用就掌握了。

其他输出设备

舵机

对舵机的控制主要是通过程序对旋转角度以及速度进行控制。

舵机连接

  • 舵机通过舵机转接板与接口板连接,连接方法如图所示
 舵机上有三根线,黑色的那根是负极(GND), 与转接板上的GND对应连接
  • 舵机转接板可以连接两个舵机,上面一排对应引脚的前一个编号,下面对应后一个编号,例如图中连接6/7,接上面一排引脚就为6,下面一排就为7

编程

打开_02_Servo_01_Basic.ino

 #include<Servo.h> //调用舵机的库文件
 Servo myservo; //定义舵机名称为myservo
 void setup(){
 myservo.attach(6); //初始化舵机,定义引脚为6
 }
 void loop(){
 myservo.write(180); //舵机旋转到180度
 delay(1000); //保持1秒
 myservo.write(0); //舵机旋转到0度
 delay(1000); //保持1秒
 }

动手时间

尝试用for循环写一个舵机在0-180度之间来回摇摆的程序

蜂鸣器

控制蜂鸣器主要是控制发声频率,从而实现不同的音调。

编程

打开_03_Buzzer_01_basic.ino

 void setup(){
 pinMode(2, OUTPUT); //用pinMode()命令定义引脚为输出状态
 }
 void loop(){

tone(buzzer_pin,200); //tone(a,b)是控制蜂鸣器的基本语法,其中”“为引脚,”b“为输出的频率值,人耳可以听到的频率在20~20000Hz之间

 delay(1000); //当前声音保持1秒
 noTone(buzzer_pin); //noTone()顾名思义就是静音
 delay(1000); //静音保持1秒,可以刷进核心模块,听听效果
 }

动手时间

尝试用for循环做一个警报的音效