mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2025-10-29 09:30:12 +00:00
96 lines
1.8 KiB
C++
96 lines
1.8 KiB
C++
|
|
int leftCCW[] = {8, 9, 10, 11};
|
|
int leftCW[] = {11, 10, 9, 8};
|
|
int leftButtons[] = {0, 1};
|
|
|
|
int rightCCW[] = {4, 5, 6, 7};
|
|
int rightCW[] = {7, 6, 5, 4};
|
|
int rightButtons[] = {2, 3};
|
|
|
|
const int motorSteps[8][4] = {
|
|
{1, 0, 0, 0},
|
|
{1, 1, 0, 0},
|
|
{0, 1, 0, 0},
|
|
{0, 1, 1, 0},
|
|
{0, 0, 0, 1},
|
|
{0, 0, 1, 1},
|
|
{0, 0, 0, 1},
|
|
{1, 0, 0, 1}
|
|
};
|
|
|
|
int motorSpeed = 0;
|
|
|
|
void setup()
|
|
{
|
|
for (int i=0; i < 4; i++) {
|
|
pinMode(leftCW[i], OUTPUT);
|
|
pinMode(rightCW[i], OUTPUT);
|
|
}
|
|
for (int i = 0; i < 2; i++) {
|
|
pinMode(leftButtons[i], INPUT);
|
|
pinMode(rightButtons[i], INPUT);
|
|
}
|
|
|
|
pinMode(12, INPUT);
|
|
|
|
Serial.begin(9600);
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
if (digitalRead(12) == LOW)
|
|
{ windUp(); }
|
|
else { windDown(); }
|
|
}
|
|
|
|
void windUp() {
|
|
while(digitalRead(rightButtons[1]) == LOW || digitalRead(leftButtons[1] == LOW)){
|
|
if (digitalRead(rightButtons[1] == LOW))
|
|
{
|
|
for(int i=0; i < 8; i++){
|
|
for(int j=0; j < 4; j++){
|
|
// Right motor
|
|
digitalWrite(rightCCW[j], motorSteps[j][i]);
|
|
delay(1);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (digitalRead(leftButtons[1] == LOW))
|
|
{
|
|
for(int i=0; i < 8; i++){
|
|
for(int j=0; j < 4; j++){
|
|
// Left motor
|
|
digitalWrite(leftCW[j], motorSteps[j][i]);
|
|
delay(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void windDown() {
|
|
while(digitalRead(rightButtons[0]) == LOW || digitalRead(leftButtons[0] == LOW)){
|
|
if (digitalRead(rightButtons[0] == LOW)) {
|
|
for(int i=0; i < 8; i++){
|
|
for(int j=0; j < 4; j++){
|
|
// Right motor
|
|
digitalWrite(rightCW[j], motorSteps[j][i]);
|
|
delay(1);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (digitalRead(leftButtons[0] == LOW)) {
|
|
for(int i=0; i < 8; i++){
|
|
for(int j=0; j < 4; j++){
|
|
// Left motor
|
|
digitalWrite(leftCCW[j], motorSteps[j][i]);
|
|
delay(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|