first commit

This commit is contained in:
编码猿
2024-09-27 01:22:07 +08:00
commit 1360daaab0
931 changed files with 131068 additions and 0 deletions

1
code/duoji/.pydio Normal file
View File

@@ -0,0 +1 @@
b4071b8b-499e-45fe-9e4c-ed003c5e0fa0

82
code/duoji/duoji.ino Normal file
View File

@@ -0,0 +1,82 @@
#include <Servo.h>
//定义五中运动状态
#define STOP 0 // 停止
#define FORWARD 1 // 前进
#define BACKWARD 2 // 后退
#define TURNLEFT 3 // 左转
#define TURNRIGHT 4 // 右转
//定义需要用到的引脚
int leftMotor1 = 16; // D0 红线
int leftMotor2 = 5; // D1 褐线
int leftPWM = 4;
int rightMotor1 = 0; // D3 黑线
int rightMotor2 = 2; // D4 白线
int rightPWM = 14;
Servo servo;
void setup() {
//设置控制电机的引脚为输出状态
pinMode(leftMotor1, OUTPUT);
pinMode(leftMotor2, OUTPUT);
pinMode(rightMotor1, OUTPUT);
pinMode(rightMotor2, OUTPUT);
pinMode(leftPWM, OUTPUT);
pinMode(rightPWM, OUTPUT);
servo.attach(13); //D7
servo.write(90);
}
void loop() {
int cmd;
for(cmd=0;cmd<5;cmd++) {
analogWrite(leftPWM, 100);
analogWrite(rightPWM, 100);
motorRun(cmd);
delay(2000);
}
}
//运动控制函数
void motorRun(int cmd)
{
switch(cmd){
case FORWARD:
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, HIGH);
digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, HIGH);
break;
case BACKWARD:
digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);
break;
case TURNLEFT:
servo.write(0);
// digitalWrite(leftMotor1, HIGH);
// digitalWrite(leftMotor2, LOW);
// digitalWrite(rightMotor1, LOW);
// digitalWrite(rightMotor2, HIGH);
break;
case TURNRIGHT:
servo.write(180);
// digitalWrite(leftMotor1, LOW);
// digitalWrite(leftMotor2, HIGH);
// digitalWrite(rightMotor1, HIGH);
// digitalWrite(rightMotor2, LOW);
break;
default:
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, LOW);
}
}