Skip to content

Instantly share code, notes, and snippets.

@tommyip
Created November 12, 2018 08:41
Show Gist options
  • Save tommyip/681ee83a5d41758c44386f8f07d56188 to your computer and use it in GitHub Desktop.
Save tommyip/681ee83a5d41758c44386f8f07d56188 to your computer and use it in GitHub Desktop.
/*
ELEC1100 Lab06
To program the car turning left at split
*/
#define pinSTOP A6
#define pinLQ3 3 //pin D3
#define pinLQ2 4 //pin D4
#define pinLQ1 5 //pin D5
#define pinLQ0 6 //pin D6
#define pinRQ3 7 //pin D7
#define pinRQ2 8 //pin D8
#define pinRQ1 9 //pin D9
#define pinRQ0 10 //pin D10
#define pinLdir 11 //pin D11
#define pinRdir 12 //pin D12
int speed_ = 0;
boolean running_ = true;
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(pinSTOP, INPUT);
pinMode(pinLQ3, OUTPUT);
pinMode(pinLQ2, OUTPUT);
pinMode(pinLQ1, OUTPUT);
pinMode(pinLQ0, OUTPUT);
pinMode(pinRQ3, OUTPUT);
pinMode(pinRQ2, OUTPUT);
pinMode(pinRQ1, OUTPUT);
pinMode(pinRQ0, OUTPUT);
pinMode(pinLdir, OUTPUT);
pinMode(pinRdir, OUTPUT);
// initialize output pins.
digitalWrite(pinLQ3, HIGH);
digitalWrite(pinLQ2, HIGH);
digitalWrite(pinLQ1, HIGH);
digitalWrite(pinLQ0, HIGH);
digitalWrite(pinRQ3, HIGH);
digitalWrite(pinRQ2, HIGH);
digitalWrite(pinRQ1, HIGH);
digitalWrite(pinRQ0, HIGH);
digitalWrite(pinLdir, HIGH); // HIGH: move forward
digitalWrite(pinRdir, HIGH); // LOW: move backward
}
boolean intToBit(int n, int bit_) {
return (n >> bit_) & 1;
}
// the loop function runs over and over again forever
void loop() {
if (digitalRead(pinSTOP) == LOW) {
running_ = false;
}
if (!running_) return;
/*
if (speed_ > 15) speed_ = 0;
digitalWrite(pinLQ3, intToBit(speed_, 3));
digitalWrite(pinLQ2, intToBit(speed_, 2));
digitalWrite(pinLQ1, intToBit(speed_, 1));
digitalWrite(pinLQ0, intToBit(speed_, 0));
digitalWrite(pinRQ3, intToBit(speed_, 3));
digitalWrite(pinRQ2, intToBit(speed_, 2));
digitalWrite(pinRQ1, intToBit(speed_, 1));
digitalWrite(pinRQ0, intToBit(speed_, 0));
speed_ += 1;
delay(1000);
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment