arduino結合AI2,用藍芽控制馬達-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1759|回复: 0

[未解决] arduino結合AI2,用藍芽控制馬達

[复制链接]
发表于 2021-1-3 00:28 | 显示全部楼层 |阅读模式
本帖最后由 zhe 于 2021-1-3 00:34 编辑

版上的各位大大新年快樂
小弟有門課在學arduino
最近的作業是結合AI2,用藍芽(HC-05)來控制馬達(L298N)
程式碼上小弟真的很弱,實在困惑很久,不知道該如修改
想請教版上的各位大大
#include <SoftwareSerial.h>
SoftwareSerial BT(10,9); //BT(TXD-10,RXD-9) 接收,傳送
const byte LED_R=4;//紅色LED
int insize,s;
char cmmd1[20],cmmd2[20],val;
int M1=3; //定義類比介面3(PWM 輸出)
int M2=5; //定義類比介面5(PWM 輸出)
int EN1=2; //定義數位介面2 (L298N致/禁能接腳)
int pwm=125; //PWM 輸出的變數初始數值
void setup()
{
pinMode(M1,OUTPUT); //定義類比介面3 為輸出
pinMode(M2,OUTPUT); //定義類比介面5為輸出
pinMode(EN1,OUTPUT); //定義數位介面2 為輸出
pinMode(LED_R,OUTPUT); //定義類比介面4 為輸出
digitalWrite(LED_R,1); //紅色LED亮
analogWrite(M1,0);
analogWrite(M2,0);
digitalWrite(EN1,0); //(禁能L298N)
//Serial.begin(9600);
BT.begin(9600);//宣告藍芽傳輸數度為9600bps
}
void loop()
{
if ((insize=(BT.available()))>0) { //若有資料由BT傳輸至arduino
val=BT.read(); //將讀取的資料存入val
switch (cmmd1[20]) {
case 'a':
stop1: digitalWrite(LED_R,1); //紅色LED亮
digitalWrite(EN1,0); //(禁能L298N)
digitalWrite (M1,0);
digitalWrite (M2,0);
break;
case 'b':
digitalWrite(LED_R,0);
digitalWrite(EN1,1); //(致能L298N)
while (1) {
val=BT.read();
if (val=='s')
{
s=pwm+1;
if (pwm>255) pwm=255;}
if (val=='s') {
s=pwm+1;
if (pwm<0) pwm=25;}
analogWrite(M1,s); // 馬達正轉
digitalWrite(M2,0);
if (val=='0') goto stop1; // 馬達停止
}
break;
case 'c':
digitalWrite(LED_R,0);
digitalWrite(EN1,1); //(致能L298N)
while (1) {
val=BT.read();
if (val=='s') {
s=pwm-1;
if (pwm>255) pwm=255;}
if (val=='s') {
s=pwm-1;
if (pwm<0) pwm=25;}
analogWrite(M2,pwm); // 馬達反轉
digitalWrite(M1,0);
if (val=='0') goto stop1; // 馬達停止
}
break;
}
}
}


case a馬達停止
b馬達正轉
c馬達反轉
val=BT.read() 該如何改成for迴圈?
目前遇到的狀況是,
1.按下馬達停止沒有反應
2.拉滑桿一兩次後馬達就會自動停止



這是線路圖




AI2的程式設計




AI2的畫面編排
文字輸入盒為滑桿數值





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 16:40 , Processed in 0.069706 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表