学习杂记--arduino裁缝

arduino

传感器拼接

超声波+蜂鸣器+舵机+外部电源
舵机接线:
                                正极接Vin(以接外部电源的情况下)
                                负极接GND
                                剩下一条接7号引脚
超声波接线:
                               Vcc接5V
                               Tcig接2号引脚
                               Echo接3号引脚
                               GND 接GND
有源蜂鸣器接线:
                               正极接8号引脚
                               负极接GND

代码:

                          // 超声波传感器测距+蜂鸣器报警(buzzer)+舵机(sterring gear)
                          //注意需加外部电源接Vin
                          #include<Servo.h>
                          Servo myservo; //定义Servo对象来控制
                          const int TrigPin = 2; //trig引脚接2
                          const int EchoPin = 3; //echo引脚接3
                          const int buzzer = 8;  //蜂鸣器引脚接8
                          const int gear = 7;  //舵机接口

                          float cm;
                          void setup()
                          {
                                 Serial.begin(9600); //串口波特率
                              	 pinMode(TrigPin,OUTPUT); //定义trig为输出
								 pinMode(EchoPin,INPUT);  //定义echo为输入
								 pinMode(buzzer,OUTPUT);
								 pinMode(gear,INPUT);
							    myservo.attach(gear);
						}
						void loop()
						{
								 digitalWrite(buzzer,LOW);
							     digitalWrite(TrigPin,LOW);
								 delayMicroseconds(2);       
								 digitalWrite(TrigPin,HIGH);  
							    delayMicroseconds(10);   //通过高低电平发射一个短时间脉冲
								 digitalWrite(TrigPin,LOW);
								 cm = pulseIn(EchoPin,HIGH)/58; //将回波时间换算成cm
								 cm = (int(cm * 100))/100;  //保留两位小数
								 myservo.write(0);
								if(cm<=10)       //当距离小于10cm,工作
						{
							digitalWrite(buzzer,HIGH); 
							 myservo.write(180);

						 }

							Serial.print(cm);
							 Serial.print("cm");  
							Serial.println();  //串口输出
							delay(500);
						}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章