When a car aproach, the entry sensor is supposed to lift the barrier which is attached to the servo and then it doesnt close untill it passes the bar
I seriously doubt that the entry sensor is going to lift anything.
It is a pronoun. In that sentence, you used it twice. The pronoun can not possibly refer to the same noun in both cases. So, try that sentence again, without a single it in it.
int valin=0;
int valout=0;
int pos=51;
int cnt;
void setup() {
Serial.begin(9600);
for (int i=0;i<5;i++)
{pinMode(place,INPUT);}
The ONLY excuse for putting the { on the same line as the statement that it follows that holds any water is that it saves real estate. You look really silly
jamming the code together
and then putting in all the useless
blank lines.
Do the IR sensors pull the pins HIGH or LOW at all times?
myservo.write(0);
for (pos=51 ; pos>=0; pos--){
myservo.write(pos);
delay(30);
}
Slam the servo to position 0, then slam it to position 51, and then gently move it to position 0. Why the code does this seriously needs comments to explain.
As does moving the servo back to position 51. Magic numbers suck. A const byte or #define with reasonable name, to explain the meaning of position 51 would be much better.
if(count>=6)
{
count=6;myservo.write(0);delay(1000);myservo.detach();
The 7th car drives in, so you detach the servo so the barrier can't be opened again to let the car, or any other car, leave. Again, some comments as to WHY are clearly in order.
if(count<7){}
If the number of cars (why can't you use a name that reflect what you are counting?) is less than 7, do nothing. If not, do nothing. This code seems completely useless. A comment explaining why this useless code is here is definitely in order.
The code you improperly posted is poorly indented and is not complete, so that is not the code you are running.
The code you ARE running does something, but you failed to describe what that is, or how what it actually does differs from what you want it to do.