Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions Alex.ino
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ unsigned long newDist;
unsigned long deltaTicks;
unsigned long targetTicks;

//colour sensor data
int red = 0;
int green = 0;
int blue = 0;

// Ultrasound Pins
int TRIG_PIN = 50;
int ECHO_PIN = 48;
Expand Down Expand Up @@ -121,9 +126,10 @@ void sendStatus()
TPacket statusPacket;
statusPacket.packetType = PACKET_TYPE_RESPONSE;
statusPacket.command = RESP_STATUS;
uint32_t inputParams[10] = {leftForwardTicks,rightForwardTicks,leftReverseTicks,rightReverseTicks,
leftForwardTicksTurns,rightForwardTicksTurns,leftReverseTicksTurns,rightReverseTicksTurns,forwardDist,reverseDist};
for (int i =0; i < 10; i++){
uint32_t inputParams[13] = {leftForwardTicks,rightForwardTicks,leftReverseTicks,rightReverseTicks,
leftForwardTicksTurns,rightForwardTicksTurns,leftReverseTicksTurns,rightReverseTicksTurns,forwardDist,reverseDist,
red,green,blue};
for (int i =0; i < 13; i++){
statusPacket.params[i] = inputParams[i];
}
sendResponse(&statusPacket);
Expand Down Expand Up @@ -359,6 +365,12 @@ void clearCounters()
reverseDist=0;
}

void clearColorCounters(){
red = 0;
green = 0;
blue = 0;
}

// Clears one particular counter
void clearOneCounter(int which)
{
Expand Down Expand Up @@ -440,6 +452,9 @@ void handleCommand(TPacket *command)
case COMMAND_COLOR_SENSOR:
sendOK();
//PLACEHOLDER FOR COLOR SENSOR FUNCTION
sendStatus();
clearColorCounters();
break;
default:
sendBadCommand();
}
Expand Down Expand Up @@ -489,7 +504,7 @@ void setupUltra() {
}

float getDistance() {
digitalWrite(TRIG_PIN, HIGH );
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN , LOW);
unsigned long microsecs = pulseIn(ECHO_PIN, HIGH);
Expand Down Expand Up @@ -565,7 +580,7 @@ void loop() {
if(dir==FORWARD)
{
wallDist = getDistance()
if(forwardDist > newDist || wallDist > 5)
if(forwardDist > newDist || (wallDist != 0 && wallDist < 5))
{
deltaDist=0;
newDist=0;
Expand Down