[操作疑難] [arduino] 遙控車

本帖最後由 sdcwan006 於 2015-9-19 00:16 編輯

話說我整緊架arduino遙控車

唔知點解係比第一個singal 之前, 架車會自己亂郁

我想知我做漏左d咩?


int EN2 = 14;  
int EN3 = 15;
int EN4 = 16;
int EN5 = 17;
int lkf;


void RB_stop(void)
        {
          digitalWrite(EN2,LOW);   
          digitalWrite(EN3,LOW);
          digitalWrite(EN4,LOW);   
          digitalWrite(EN5,LOW);      
        }
        
void RB_forward(void)
        {   
          digitalWrite(EN2,LOW);
          digitalWrite(EN3,HIGH);
          digitalWrite(EN4,LOW);
          digitalWrite(EN5,HIGH);
        }

void RB_backward(void)
        {        
          digitalWrite(EN2,HIGH);
          digitalWrite(EN3,LOW);
          digitalWrite(EN4,HIGH);
          digitalWrite(EN5,LOW);            
        }

void RB_left(void)
        {        
        
          digitalWrite(EN2,LOW);
          digitalWrite(EN3,HIGH);
          digitalWrite(EN4,HIGH);
          digitalWrite(EN5,LOW);     
        }      

void RB_right(void)
        {              
          digitalWrite(EN2,HIGH);
          digitalWrite(EN3,LOW);
          digitalWrite(EN4,LOW);
          digitalWrite(EN5,HIGH);   
        }  

void setup()
{
  pinMode(EN2,OUTPUT);
  pinMode(EN3,OUTPUT);
  pinMode(EN4,OUTPUT);
  pinMode(EN5,OUTPUT);
  Serial.begin(9600);
  lkf=0;
}

void loop()
{
  
  if(Serial.available())
  {
    lkf = Serial.read();
  switch(lkf)
  {
  case 'a':
     RB_forward();
     lkf=0;  
     break;   
   case 'b':
     RB_backward();
     lkf=0;
     break;     
   case 'c':
     RB_left();
     lkf=0;
     break;
   case 'd':
    RB_right();
    lkf=0;
     break;
   case 'e':
    RB_stop();
    lkf=0;
     break;  
  
    }
  }
}

你set 啲pin做output mode但冇set到output state

TOP

你set 啲pin做output mode但冇set到output state
亞基拉 發表於 2015-9-19 06:07



    請問是否應該於setup()作下列修改?

  pinMode(EN2,OUTPUT);
  pinMode(EN3,OUTPUT);
  pinMode(EN4,OUTPUT);
  pinMode(EN5,OUTPUT);
  digitalWrite(EN2,LOW);   
  digitalWrite(EN3,LOW);
  digitalWrite(EN4,LOW);   
  digitalWrite(EN5,LOW);  
Serial.begin(9600);
  lkf=0;
求指教!
謝謝!!

TOP

回覆 3# sdcwan006


你試吓咪知囉,我未玩過arduino

TOP

你實際個電路係點?

TOP

本帖最後由 xiao 於 2015-9-19 10:38 編輯
請問是否應該於setup()作下列修改?

  pinMode(EN2,OUTPUT);
  pinMode(EN3,OUTPUT);
  pinMode(EN4 ...
sdcwan006 發表於 2015-9-19 07:14



    應該是的, 也可以試試看這樣
  1. void setup()
  2. {
  3.   pinMode(EN2,OUTPUT);
  4.   pinMode(EN3,OUTPUT);
  5.   pinMode(EN4,OUTPUT);
  6.   pinMode(EN5,OUTPUT);

  7. RB_stop();

  8.   Serial.begin(9600);
  9.   lkf=0;
  10. }
複製代碼

TOP

樓主,
4只10K電阻,分別接到你的Arduino 14-17 腳,電阻另一端全接GND就可解決你的問題!

TOP

樓主,
4只10K電阻,分別接到你的Arduino 14-17 腳,電阻另一端全接GND就可解決你的問題! ...
hunglobb 發表於 2015-9-19 15:21


如果冇set啱output(全low), 支pin出high(5v),有10k pull low 都係出5v

TOP