Arduino-kontrollerade Robotic trumma (33 / 44 steg)
Steg 33: Programmera Arduinos
Hej Hat Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 129) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 130) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 144) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}
Snara Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 131) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 132) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 160) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}
Cymbal och Kick Drum Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 133) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 134) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 176) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}
Liten Tom Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 135) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 136) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 192) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}
Stor Tom Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 137) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 138) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 208) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}
Golv Tom Arduino:
/*
Detta är koden för en robotic trumma skapad av Randy Sarafan.
För mer information, besök:
Denna exempelkod är offentlig.
*/
int event = 0;
int strikelegnth = 80.
int incomingByte = 0;
void setup() {
upprätta motor riktning växla pins
pinMode (12, OUTPUT); CH A--Hög = framåt och låg = bakåt???
pinMode (13, OUTPUT); CH B--Hög = framåt och låg = bakåt???
upprätta motor broms pins
pinMode (9, OUTPUT); broms (inaktivera) CH A
pinMode (8, OUTPUT); broms (inaktivera) CH B
digitalWrite (9, låg). AKTIVERA CH A
digitalWrite 8, låg. AKTIVERA CH B
Serial.BEGIN(57600);
(CLI); //stop avbrott
Ange timer2 avbryta varje 128us
TCCR2A = 0; / / Ställ in hela TCCR2A register till 0
TCCR2B = 0; / / samma för TCCR2B
TCNT2 = 0; //initialize värde till 0
Set jämför match registrera för 7,8 khz steg
OCR2A = 255; / / = (16 * 10 ^ 6) / (7812.5 * 8) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR2A | = (1 << WGM21);
Ange CS11 bit för 8 prescaler
TCCR2B | = (1 << CS11);
Aktivera timern jämför avbrott
TIMSK2 | = (1 << OCIE2A);
SEI (); //allow avbrott
}
void loop() {
IF(Event == 1) {
om (incomingByte == 139) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 140) {
starta ner
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
Event = 0;
}
om (incomingByte == 224) {
starta ner
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, låg. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, låg. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
Strike tid
Delay(strikelegnth);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Delay(10);
Gå tillbaka
digitalWrite (9, låg). Lossa bromsen för kanal A
digitalWrite 12, hög. Tabellriktningen CH A
analogWrite (3, 255); Rör sig CH A
digitalWrite 8, låg. Lossa bromsen för kanal A
digitalWrite 13, hög. Tabellriktningen CH A
analogWrite (11, 255); Rör sig CH A
rekyl tid
Delay(40);
Stanna
digitalWrite 8, hög. Engagera sig bromsen för kanal A
digitalWrite (9, hög). Engagera sig bromsen för kanal A
Event = 0;
}
}
}
ISR(TIMER2_COMPA_vect) {
göra {
om (Serial.available()) {
incomingByte = Serial.read();
Event = 1;
} //end om seriell tillgängliga
} //end gör
medan (Serial.available() > 8);
}