|
本帖最后由 allenyao 于 2015-5-15 09:21 编辑
新手入门Arduino,还没有学会rf2401,所以先拿简单的315做了个简单的遥控小车。
- int a_enable=2;
- int a_in1=3;
- int a_in2=4;
- int b_enable=7;
- int b_in3=5;
- int b_in4=6;
- int remote_a=11;
- int remote_b=10;
- int remote_c=9;
- int remote_d=8;
- void setup()
- {
- pinMode(a_enable,OUTPUT);
- pinMode(a_in1,OUTPUT);
- pinMode(a_in2,OUTPUT);
- pinMode(b_enable,OUTPUT);
- pinMode(b_in3,OUTPUT);
- pinMode(b_in4,OUTPUT);
- digitalWrite(a_enable,LOW);
- digitalWrite(b_enable,LOW);
- pinMode(remote_a,INPUT);
- pinMode(remote_b,INPUT);
- pinMode(remote_c,INPUT);
- pinMode(remote_d,INPUT);
- }
- void loop()
- {
- if(digitalRead(remote_a))
- {
- go_ahead();
- delay(10);
- }
- else if(digitalRead(remote_b))
- {
- go_back();
- delay(10);
- }
- else if(digitalRead(remote_c))
- {
- turn_left();
- delay(10);
- }
- else if(digitalRead(remote_d))
- {
- turn_right();
- delay(10);
- }
- else
- {
- car_stop();
- }
- }
- void left_stop()
- {
- digitalWrite(a_enable,LOW);
- digitalWrite(a_in1,LOW);
- digitalWrite(a_in2,LOW);
- }
- void left_back()
- {
- digitalWrite(a_enable,HIGH);
- digitalWrite(a_in1,HIGH);
- digitalWrite(a_in2,LOW);
- }
- void left_forward()
- {
- digitalWrite(a_enable,HIGH);
- digitalWrite(a_in1,LOW);
- digitalWrite(a_in2,HIGH);
- }
- void right_stop()
- {
- digitalWrite(b_enable,LOW);
- digitalWrite(b_in3,LOW);
- digitalWrite(b_in4,LOW);
- }
- void right_back()
- {
- digitalWrite(b_enable,HIGH);
- digitalWrite(b_in3,HIGH);
- digitalWrite(b_in4,LOW);
- }
- void right_forward()
- {
- digitalWrite(b_enable,HIGH);
- digitalWrite(b_in3,LOW);
- digitalWrite(b_in4,HIGH);
- }
- void car_stop()
- {
- left_stop();
- right_stop();
- }
- void go_ahead()
- {
- left_forward();
- right_forward();
- }
- void go_back()
- {
- left_back();
- right_back();
- }
- void turn_left()
- {
- left_back();
- right_forward();
- }
- void turn_right()
- {
- left_forward();
- right_back();
- }
复制代码 |
|