L298N驅(qū)動模塊,可以驅(qū)動2個直流電機(jī),可分別實現(xiàn)正轉(zhuǎn),反轉(zhuǎn)功能.
Bom表Arduino Uno * 1
L298N驅(qū)動模塊 * 1
直流電機(jī) * 2
9v 電池 * 1
跳線 若干
Arduino uno + L298N 驅(qū)動模塊接線
注意:如果電壓不夠,電機(jī)有可能不會轉(zhuǎn)哦,所以要外置7V-12V電源.
程序源碼
這里選用IO口為5,6,9,10,這四個均支持PWM,可以通過占空比代碼實現(xiàn)控制轉(zhuǎn)動速度的快慢.
- //LingShun Lab
- int input1 = 5; // 定義uno的pin 5 向 input1 輸出
- int input2 = 6; // 定義uno的pin 6 向 input2 輸出
- int input3 = 9; // 定義uno的pin 9 向 input3 輸出
- int input4 = 10; // 定義uno的pin 10 向 input4 輸出
- void setup() {
- // Serial.begin (9600);
- //初始化各IO,模式為OUTPUT 輸出模式
- pinMode(input1,OUTPUT);
- pinMode(input2,OUTPUT);
- pinMode(input3,OUTPUT);
- pinMode(input4,OUTPUT);
- }
- void loop() {
- //forward 向前轉(zhuǎn)
- digitalWrite(input1,HIGH); //給高電平
- digitalWrite(input2,LOW); //給低電平
- digitalWrite(input3,HIGH); //給高電平
- digitalWrite(input4,LOW); //給低電平
- delay(1000); //延時1秒
- //stop 停止
- digitalWrite(input1,LOW);
- digitalWrite(input2,LOW);
- digitalWrite(input3,LOW);
- digitalWrite(input4,LOW);
- delay(500); //延時0.5秒
-
- //back 向后轉(zhuǎn)
- digitalWrite(input1,LOW);
- digitalWrite(input2,HIGH);
- digitalWrite(input3,LOW);
- digitalWrite(input4,HIGH);
- delay(1000);
- }
復(fù)制代碼
|