Well I already have the arduino ultrasonic sensor , an off brand ardunino uno and the velleman relay shield. The parkingspots are indoor so no need for weather proofing.
All I need is for the ultrasonic sensor to trigger the shield relay so that it closes a circuit for the IN port in our lockin system. I have 4 IN ports free on a door controller close by.
From here its actually quite easy to use their system to export events (car registered and who opened up the garrage door) to a google sheet where also the booking calender is exported too.
It looks like it´s possible to use both analog and digital pins on the UNO to connect to the trig and echo on the ultrasonic sensor (whats the OUT pin on the Ultrasonic sensor for btw?)
Lets say I attach the first sensor is attached like this:
TRIG - 1 digital pin on the shield (wich would be digital 2 pin on the UNO)
ECHO - 2 digital pin on the shield (wich would be the digital 3 pin on the UNO)
And lets try using Analog on the second sensor
TRIG - 1 analog pin on the shield (wich would be Analog 0 pin on the UNO)
ECHO - 2 analog pin on the shield (wich would be the analog 1 pin on the UNO)
Here is the Shield: VMA05: I/O SHIELD FOR ARDUINO® – Velleman – Wholesaler and developer of electronics
It has 6 digital and 6 analog imputs where it uses pin 8 to 13 as outputs(the relay), pin A0 to A5 as analog inputs, and pin 2 to 7 as digital inputs
HERE IS THE VELLEMANS EXAMBLE CODE from their website
void setup()
{
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(7, INPUT);
pinMode(6, INPUT);
pinMode(5, INPUT);
pinMode(4, INPUT);
pinMode(3, INPUT);
pinMode(2, INPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(50);
digitalWrite(9, HIGH);
delay(50);
digitalWrite(10, HIGH);
delay(50);
digitalWrite(11, HIGH);
delay(50);
digitalWrite(12, HIGH);
delay(50);
digitalWrite(13, HIGH);
delay(50);
digitalWrite(8, LOW);
delay(50);
digitalWrite(9, LOW);
delay(50);
digitalWrite(10, LOW);
delay(50);
digitalWrite(11, LOW);
delay(50);
digitalWrite(12, LOW);
delay(50);
digitalWrite(13, LOW);
delay(200);
digitalWrite(13, HIGH);
delay(50);
digitalWrite(12, HIGH);
delay(50);
digitalWrite(11, HIGH);
delay(50);
digitalWrite(10, HIGH);
delay(50);
digitalWrite(9, HIGH);
delay(50);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
delay(50);
digitalWrite(12, LOW);
delay(50);
digitalWrite(11, LOW);
delay(50);
digitalWrite(10, LOW);
delay(50);
digitalWrite(9, LOW);
delay(50);
digitalWrite(8, LOW);
delay(200);
digitalWrite(13, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(12, HIGH);
digitalWrite(9, HIGH);
delay(50);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
delay(200);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
delay(50);
digitalWrite(12, LOW);
digitalWrite(9, LOW);
delay(50);
digitalWrite(13, LOW);
digitalWrite(8, LOW);
delay(200);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(200);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(50);
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
delay(200);
}