查看完整版本: 關於arduino的問題
頁: [1]

計成田 發表於 2018-12-22 11:44 AM

關於arduino的問題

小弟是arduino 的初學者 想幫自己做聲控的開關 ,材料是 arduino uno/ld3320的聲控模組/sg90的伺服馬達但是改了好多次,一直無法編譯進去,一開始的想法是喊開燈的時候,伺服馬達轉180度,說關燈再轉回去{:47:},以下為小弟打的程式,求各位大大幫忙看個程式{:38:}拜託了!!!!!


#include <ld3320.h>

VoiceRecognition Voice;                         //聲明一個語音識別對象

#define Led 8                                   //定義LED控制引腳

void setup()
{
    pinMode(Led,OUTPUT);                        //初始化LED引腳為輸出模式
    digitalWrite(Led,LOW);                      //LED引腳低電平

    Voice.init();                               //初始化VoiceRecognition模塊   
    Voice.addCommand("kai deng",0);             //添加指令,參數(指令內容,指令標簽(可重復))
    Voice.addCommand("guan deng",1);            //添加指令,參數(指令內容,指令標簽(可重復))
    Voice.start();//開始識別
}
void loop() {
  switch(Voice.read())                          //判斷識別
  {
    case 0:                                     //若是指令“kai deng”
  digitalWrite(Led,HIGH);
  #include <Servo.h>
Servo myServo; // 建立一個伺服馬達物件
void setup() {
}
Serial.begin(9600);
myServo.attach(9); // 伺服馬達物件連接到接腳9
}
void loop() {
  for (pos = 0; pos <= 180; pos += 1) // 從 0 度旋轉到 180 度,每次 1 度
  {     
    myservo.write(pos);               // 告訴 servo 走到 'pos' 的位置
    delay(15);                        // 等待 15ms 讓 servo 走到指定位置
}


//點亮LED
        break;
    case 1:                                     //若是指令“guan deng”
  digitalWrite(Led,LOW);//熄滅LED
        break;   
    default:
        break;
  }

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

baepi 發表於 2019-1-5 11:53 AM

arduino內的語法多數以C++為主...建議將這類問題放置該區求教...畢竟多數人根本不會注意到這裡

以下是小弟拿大大的程式稍作修改...若是編譯還是錯誤...表示大大應該是沒有把相對應ld3320.h匯入...畢竟我雖沒拿板子實際去做燒入測試功能...但編譯我還是有做測試...確實可以編譯成功#include <ld3320.h>
#include <Servo.h>

VoiceRecognition Voice;                         //聲明一個語音識別對象
Servo myServo; // 建立一個伺服馬達物件

#define Led 8                                   //定義LED控制引腳

int pos = 0;//布進馬達角度

void setup()
{
  Serial.begin(9600);
  myServo.attach(9); // 伺服馬達物件連接到接腳9

  pinMode(Led, OUTPUT);                        //初始化LED引腳為輸出模式
  digitalWrite(Led, LOW);                      //LED引腳低電平

  Voice.init();                               //初始化VoiceRecognition模塊   
  Voice.addCommand("kai deng", 0);             //添加指令,參數(指令內容,指令標簽(可重復))
  Voice.addCommand("guan deng", 1);            //添加指令,參數(指令內容,指令標簽(可重復))
  Voice.start();//開始識別
}
void loop()
{
  switch (Voice.read())                          //判斷識別
  {
  case 0:                                     //若是指令“kai deng”
      digitalWrite(Led, HIGH);      //點亮LED
      for( ; pos < 180 ; pos++)
      {
        myServo.write(pos);
        delay(15);
      }
    break;
  case 1:                                     //若是指令“guan deng”
      digitalWrite(Led, LOW);//熄滅LED
      for( ; pos >= 0 ; pos--)
      {
        myServo.write(pos);
        delay(15);
      }
    break;
  default:
    break;
  }
}...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]