Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2628|回復: 3

arduino+app藍牙控制步進馬達

[複製鏈接]
發表於 2019-7-29 16:27:25 | 顯示全部樓層 |閱讀模式
本帖最後由 snow7788 於 2019-7-29 16:28 編輯

各位前輩好,小弟最近接觸了Arduino 最近還學到了App Inventor2

目前只會設定固定圈數+控制正反轉1圈

請問如果我想要讓他我按住按鈕"收"他會一直反轉,放開則停住,按住按鈕"放"他會一直正轉,放開則停住,我應該怎麼去寫Arduino跟app的程式呢?


Arduino程式碼如下(目前的程式碼就是按一下轉一圈)

#include <Stepper.h>
#include <SoftwareSerial.h>
SoftwareSerial BT(7,8);
#define STEPS 2048
//stepper(一圈的步數,IN1 IN2 IN3 IN4)
Stepper stepper( STEPS, 2, 3, 4, 5); //28BYJ-48馬達需要把中間兩pin位置交換
int speed = 14; //設定馬達速度(最大17),速度過快馬達不動
int Rece; //接收藍牙模組端訊號
void setup() {  
  BT.begin(9600);
  stepper.setSpeed(speed); //將馬達的速度設定成15 RPM(1分鐘轉15圈)
}

void loop() {
  if(BT.available()>0){    //判斷是否有收到訊號        
  Rece=BT.read();          //讀入變數Rece中
  switch(Rece){
    case 'u' :        
     stepper.step(2048);   //正1圈
     break;
    case 'd' :
     stepper.step(-2048);  //反1圈
     break;  
    }
  }
}

APP程式如下
1.PNG

點評

海!外直播 cutt.us/33f 禁闻视频 v.ht/77nn 一个国家有三千所普通大学,学生大多自费;但却有6000所党校是花纳税人的钱办学,学生全都用纳税人的钱上学!令人发指的是它们的毕业生犯罪率几乎百分之百!   發表於 2021-9-10 17:22
發表於 2019-7-30 12:44:22 | 顯示全部樓層
本帖最後由 超新手 於 2019-7-30 12:47 編輯

未命名.jpg
APP 的按鍵要改用"被壓下"和"被鬆開"
收的被壓下u, 被鬆開s
放的被壓下d, 被鬆開s
arduino 端則宣告一變數

  1. 其他部份不變

  2. unsigned char f =0;
  3. void loop() {
  4.   if(f == 1) {
  5.      stepper.step(1);
  6.   } else(f == 2) {
  7.      stepper.step(-1);
  8.   }
  9.   if(BT.available()>0){    //判斷是否有收到訊號        
  10.   Rece=BT.read();          //讀入變數Rece中
  11.   switch(Rece){
  12.     case 'u' :        
  13.      f = 1;  
  14.      break;
  15.     case 'd' :
  16.      f = 2;
  17.      break;  
  18.     case 's' :
  19.      f = 0;
  20.      break;  
  21.     }
  22.   }
  23. }
複製代碼
 樓主| 發表於 2019-7-30 14:58:38 | 顯示全部樓層
超新手 發表於 2019-7-30 12:44
APP 的按鍵要改用"被壓下"和"被鬆開"
收的被壓下傳 u, 被鬆開傳 s
放的被壓下傳 d, 被鬆開傳 s

感謝你><! 讓我燒焦的腦袋得以恢復
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2021-10-27 11:47 , Processed in 0.196291 second(s), 12 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表