Crock101:
Is this better or am I still doing something wrong?#include <Wire.h>
const int pingPin = 7;
int LeftF= 5;
int RightF= 2;
int LeftB= 3;
int RightB= 4;
void setup()
{
pinMode(RightF,OUTPUT);
pinMode(LeftF,OUTPUT);
pinMode(LeftB,OUTPUT);
pinMode(RightB,OUTPUT);
Wire.begin();
Serial.begin(9600);
}
void loop() {
while(Wire.available())
{
Wire.requestFrom(2, 6);
char c = Wire.read();
Serial.print(c);
}
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
if (c == )
{
digitalWrite(RightF,HIGH);
digitalWrite(LeftB,HIGH);
digitalWrite(RightB,LOW);
digitalWrite(LeftF,LOW);
}
if (c == )
{
digitalWrite(LeftF,HIGH);
digitalWrite(RightB,HIGH);
digitalWrite(RightF,LOW);
digitalWrite(LeftB,LOW);
}
if (c == ) and (inches > 12)
{
digitalWrite(LeftF,HIGH);
digitalWrite(RightF,HIGH);
digitalWrite(RightB,LOW);
digitalWrite(LeftB,LOW);
}
if (c == ) and (inches < 3)
{
digitalWrite(LeftB,HIGH);
digitalWrite(RightB,HIGH);
digitalWrite(RightF,LOW);
digitalWrite(LeftF,LOW);
}
if (c == ) and (inches <= 12) and (inches >= 3)
{
digitalWrite(LeftB,LOW);
digitalWrite(RightB,LOW);
digitalWrite(RightF,LOW);
digitalWrite(LeftF,LOW);
}
}
still a lot i'm afraid;
aside from the c==<<no value>>
;
you need to look up Arduino - Home to find out how to use Boolean Operators.
have you tried to verify that code ?
always use Ctrl-T & Ctrl-R (Shortcut for "Verify" button) to make sure your code is okay - compiler-wise.