學習雜記--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);
						}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章