久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2760|回復: 0
打印 上一主題 下一主題
收起左側

arduino小車控制程序,包含與樹莓派通信程序

[復制鏈接]
跳轉到指定樓層
樓主
小車控制程序,包含與樹莓派通信程序


單片機源程序如下:

  1. int PWMA=10;
  2. int IN1 = 10;
  3. int IN2 = 9;
  4. int PWMB = 6;
  5. int IN3 = 6;
  6. int IN4 = 5;
  7. const int TrigPin = 2;
  8. const int EchoPin = 3;
  9. float distance;
  10. #include <Servo.h>    // 聲明調用Servo.h庫
  11. Servo myservo;        // 創建一個舵機對象
  12. int pos = 0;          // 變量pos用來存儲舵機位置
  13. String comdata = "";
  14. int i;

  15. void setup()
  16. {
  17.   pinMode(PWMA, OUTPUT); //PWM
  18.   pinMode(IN1, OUTPUT);
  19.   pinMode(IN2, OUTPUT);
  20.   pinMode(PWMB, OUTPUT); //PWM
  21.   pinMode(IN3, OUTPUT);
  22.   pinMode(IN4, OUTPUT);
  23.   // 初始化串口通信及連接SR04的引腳
  24.         Serial.begin(9600);
  25.         pinMode(TrigPin, OUTPUT);
  26.     // 要檢測引腳上輸入的脈沖寬度,需要先設置為輸入狀態
  27.         pinMode(EchoPin, INPUT);
  28.     Serial.println("Ultrasonic sensor:");
  29.   myservo.attach(5);  // 將引腳9上的舵機與聲明的舵機對象連接起來
  30.   Serial.begin(9600);
  31. }

  32. void up()
  33. {
  34.   digitalWrite(IN1, LOW);
  35.   digitalWrite(IN2, HIGH);
  36.   digitalWrite(IN3, LOW);
  37.   digitalWrite(IN4, HIGH);
  38.   analogWrite(PWMA, 10);
  39.   analogWrite(PWMB, 10);
  40.   delay(5000);
  41. }

  42. void down()
  43. {
  44.   digitalWrite(IN1, HIGH);
  45.   digitalWrite(IN2, LOW);
  46.   digitalWrite(IN3, HIGH);
  47.   digitalWrite(IN4, LOW);
  48.   analogWrite(PWMA, 10);
  49.   analogWrite(PWMB, 10);
  50.   delay(5000);
  51. }

  52. void sto()
  53. {
  54.   digitalWrite(IN1, LOW);
  55.   digitalWrite(IN2, LOW);
  56.   digitalWrite(IN3, LOW);
  57.   digitalWrite(IN4, LOW);
  58.   analogWrite(PWMA, 0);
  59.   analogWrite(PWMB, 0);
  60.   delay(5000);
  61. }

  62. void left()
  63. {
  64.   digitalWrite(IN1, LOW);
  65.   digitalWrite(IN2, HIGH);
  66.   digitalWrite(IN3, HIGH);
  67.   digitalWrite(IN4, LOW);
  68.   analogWrite(PWMA, 10);
  69.   analogWrite(PWMB, 10);
  70.   delay(5000);
  71. }

  72. void right()
  73. {
  74.   digitalWrite(IN1, HIGH);
  75.   digitalWrite(IN2, LOW);
  76.   digitalWrite(IN3, LOW);
  77.   digitalWrite(IN4, HIGH);
  78.   analogWrite(PWMA, 10);
  79.   analogWrite(PWMB, 10);
  80.   delay(5000);
  81. }

  82. void d()
  83. {
  84.     // 產生一個10us的高脈沖去觸發TrigPin
  85.         digitalWrite(TrigPin, LOW);
  86.         delayMicroseconds(2);
  87.         digitalWrite(TrigPin, HIGH);
  88.         delayMicroseconds(10);
  89.         digitalWrite(TrigPin, LOW);
  90.     // 檢測脈沖寬度,并計算出距離
  91.         distance = pulseIn(EchoPin, HIGH) / 58.00;
  92.         
  93. }

  94. void roun()
  95. {
  96.    for(pos = 0; pos < 180; pos += 1){    // 舵機從0°轉到180°,每次增加1°         
  97.       myservo.write(pos);           // 給舵機寫入角度   
  98.       delay(15);                    // 延時15ms讓舵機轉到指定位置
  99.    }
  100.     for(pos = 180; pos>=1; pos-=1) {    // 舵機從180°轉回到0°,每次減小1°                              
  101.        myservo.write(pos);        // 寫角度到舵機     
  102.        delay(15);                 // 延時15ms讓舵機轉到指定位置
  103.     }
  104. }

  105. void loop()
  106. {
  107. d();
  108.   while (Serial.available() > 0){
  109.         comdata += char(Serial.read());
  110.         i=comdata.toInt();//每次讀一個char字符,并相加
  111.         delay(2);
  112.     }
  113.     if (comdata.length() > 0){
  114.         if (i<140){
  115.           Serial.println("left");
  116.            left();
  117.         }
  118.         if(i>140&i<180){
  119.           Serial.println("up");
  120.           if(distance<30)
  121.           sto();
  122.           else
  123.           up();
  124.          
  125.         }
  126.         if (i>=180){
  127.           Serial.println("right");
  128.            right();
  129.         }
  130.        // Serial.println(i); //打印接收到的字符
  131.         comdata = "";
  132.     }
  133.    
  134. }

復制代碼

所有資料51hei提供下載:
arduino.rar (13.71 KB, 下載次數: 18)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: h视频网站在线观看 | 成人超碰 | 日韩久久久一区二区 | 欧美一区2区三区3区公司 | 日韩福利在线 | 好姑娘高清在线观看电影 | 久久一二 | 国产一区二区三区高清 | 在线视频国产一区 | 亚洲精品国产电影 | 国产ts人妖系列高潮 | 精品综合久久久 | 欧美在线视频一区二区 | 国产精品自拍视频 | 欧美日韩一区二区三区四区 | 激情欧美一区二区三区中文字幕 | 久久久久亚洲精品国产 | 毛片免费看 | 久久最新精品视频 | 日日摸夜夜添夜夜添精品视频 | 精品久久中文 | 国产成人精品免高潮在线观看 | 日韩一区二区三区在线播放 | 久久一区二区视频 | 日韩午夜一区二区三区 | 欧美精品欧美精品系列 | 日韩一区二区免费视频 | 欧美日韩综合一区 | 国产一区精品在线 | 做a网站 | 中文字幕一区二区三区在线观看 | 91视频88av | 亚洲精品免费视频 | 日韩在线中文字幕 | 欧美4p| 国产99小视频 | 国产精品久久久久aaaa | 91精品在线播放 | 黄色一级毛片 | 狠狠爱综合网 | 国产成人jvid在线播放 |