We went around among the team to pitch in ideas and we wanted to do something that will help people and solve some real life issues. As UCSD Students we all know how big a parking problem is and therefore, we decided to build a device that solves the problem of finding parking on campus.
What it does
We used Ultrasonic Sensors, that will go near each parking spot, and collect data about if the spot is occupied or not. It will send data through ESP32 to Firebase. Through which we use the data collected to construct an IOS mobile app that will display the available parking spot and the reserved places. On the app it shows the spots (map of the whole parking lot) and green spot for available, red for occupied, orange for leaving car (moving car), and blue for handicapped parking.
How we built it
For the prototype we used Inkscape to design a simple parking lot , where we attached the circuit we built with the ultrasonic sensors and ESP32. We also 3D printed a model car that goes in our parking lot model. On other hand, for software we used Arduino IDE to collect data from the sensors and sent it to the firebase platform.
Challenges we ran into
We faced lot of challenges with the micro controllers we used with the sensor. We started off with Arduino Uno, then Arduino Mega and Arduino 101, but we were not able to transfer data through wifi to the app. Then we used ESP32 to work with sensor, where we also face lot of challenges like reading the data because ESP32 supplies 3.3V and we need 5V for the sensor and we couldn't just connect it to 5V because of fear of burning the board. We came up with a solution to try to supply power externally to the sensor and connect the input and output pins to the ESP32. we tested this with one sensor and it worked, therefore we used it for all. We had some significant technical material problems like the connection to ESP32 on the board broke while we were taking the wire out and we had to try solder it. we also had a problem with the positions of the sensor and measuring the values from certain distance. On software side, we had problem with the lack of documentation on firebase. first we tried using Temboo to transfer data from Arduino to google cloud but we could not make it work with out micro controller. We then also tried to use Arduino cloud, which also did not work. We then tried uploading data to Google sheet, which did not work either and ultimately we solved the problem using Firebase. While coding with Arduino IDE we experienced problems with outdated libraries and requirement to use old version of IDE which took hours to figure out. Other troubles involve not being able to update real time data. Setting up Firebase was extremely troublesome due to unfamiliarity with the structure of the database. Overall, because we were mostly unfamiliar with the software and hardware we used, we experienced significant challenges working on our project.
Accomplishments that we're proud of
We are really proud of the whole prototype working with the app in real time. we came out as we expected it. We are proud that we were able to use ESP32 effectively, to work with the sensors and sending data to cloud, even though none of us had never worked on it before. Also we were able to learn firebase in few hours and make it work, one of our biggest accomplishments.
What we learned
We learned how to use ESP32, how to work with Firebase and google cloud. None of us had worked with any of these 36 hours ago, and now we have a working model with all of these working together.
What's next for Parker
We were also thinking of using device like google home to send data about car getting too close to the wall (sensor), and notify the user that they are going to hit the curve, or we could just also use speaker that will sound if the car is getting closer, but in this case there is a chance that the driver cannot here the speaker or there are other cars that will think otherwise. We tried to implement the queue system on the app, where people can get in line online for the parking spot, however, we are not able to finish this function due to time constraint. We also want to implement this on larger scale, and include more parking structure to have sensors built in because it more efficient and economically viable technology.