Inspiration
Around the winter season last year, one of our members learned that a fellow student had been struck by a car on their way to the school bus, suffering severe injuries that ultimately required an airlift to the hospital. While the incident was deeply shocking, it wasn’t entirely unexpected, given the alarming frequency of illegal school bus passings in the area at the time. Despite increased police presence and cameras set up to monitor the situation, many students’ lives remained at risk—often because drivers, like Jimmy, were late for work and disregarded the law. Frustration grew as it became clear that no action could be taken unless a vehicle was tracked, and even then, enforcement seemed elusive. This led to a sense of helplessness and a strong desire for change.
Addressing the issue
The member began documenting the license plates of vehicles involved in these illegal passes and reported them to the police, though, unfortunately, little action was taken. Among the vehicles they recorded were a Silver Ford (KNG L66), Red Chevrolet (9V2), Black Ford (5R6), Blue Ram (2B NA7), and a Gray Sedan (B27 92N), among others. In her research, she found retractable bollards that were implemented in the Netherlands—some manual, others moving toward automation—that are being used in certain areas to prevent traffic violations. However, these measures have yet to be implemented on high-traffic roads. But, why couldn’t they? This inspired our team to take on this challenge.
Coming into the project
As a team mostly new to programming and completely inexperienced with hackathons, we had a lot to learn. 3 out of 4 of our members came into the competition with only a knowledge of Python, which was not a language we needed. Over the course of the project, we were able to learn a variety of coding languages: HTML, CSS, and Javascript for the website design and user interface, and, on the back end, C++ to control the arduino, which controlled the rest of the circuitry.
Project Concept
Starting Ideas
We started with the basic idea of using some sort of signal (bus lights) to stimulate the movement of the servo, mimicking the process of the amber bus lights turning on and triggering the raising of the bollards. After more discussion, the idea of a light signal as the primary method of initiating seemed potentially ineffective, considering the use of similar lights on other vehicles. We explored ideas involving license plate recognition via traffic cam and use of a positioning system were explored but ultimately decided to use a button within the bus being pushed as the signal for the basic building of the project.
The two systems problem: building a website
The original plan involved having two separate systems - the servo, or the bollard, and the lights, simulating the bus. We were encountering a problem where we needed a program to send the signal and one to receive the signal. Our solution was taking advantage of the WiFi capabilities and using our computer and the built-in server to send the signal to the arduino. The project flow that we designed included:
- a website, representing the bus controls, containing a switch to turn on or off the bollards when the bus comes to a stop
- the arduino board and light meant to signify the signal being sent from the bus to the system
- the servo, connected to the arduino, representing the retractable bollards.
Working as a team
In order to complete the project and play to the strengths of each of our team members, we ended up dividing the process into three main parts: programming of our website (2 members), using the Arduino WiFi-related features (1 member), and the servo (1 member).
During the project
For the first hours of the hackathon, we worked on these individual parts, bouncing ideas back and forth and stopping for group snack breaks. Towards the later hours of the project, we began to connect the WiFi and servo code, allowing for hyperlinks to control when the arduino light was turned on and the subsequent servo movement. Then, powered by Monster and pizza, we imported the website links so that the movement of the switch signaled the start of the circuit.
Challenges we ran into
The Arduino
As part of our demonstration, we used the Arduino Uno R4 WiFi. This board has a built-in server on which we are hosting the website we created. Connecting the user-interface to the functionality of the arduino was a challenge as the network connectivity of the Arduino was limited and, because the technology is fairly new, resources covering the technology were not expansive. There was a lot more trial and error than if we had used an Arduino R3, however the R4 was necessary due to its capabilities.
Building the website
We struggled customizing a button featured on our website, and have it properly act as a switch. When it came to the design, backgrounds, and fonts, it was challenging to match the desired theme of our project as we were not familiar with HTML, JavaScript or CSS. Also basic design principles such as contrast, alignment, proximity, and balance were challenging to balance and apply. Working with animations and transitions was easier to learn but still challenging. Depending on the order of code, some objects, or backgrounds would disappear. The button would stop working all together or disappear if certain elements were introduced to the website. During these struggles, AI tools, YouTube videos, and collaboration within our team allowed us to continue on with the project, and we were able to learn the basics of all three languages within just the short span of the hackathon.
Accomplishments that we're proud of
Learning languages
One of our greatest achievements was learning and implementing HTML, CSS, C++ and JavaScript for the first time. Despite starting with only Python knowledge, we managed to create a functional website in a short period. We also learned how to integrate C++ to control an Arduino and work with its WiFi capabilities to create the system’s backend. We are proud of overcoming the challenge of connecting the user interface with the Arduino board. This required establishing network communication between the website and the Arduino Uno R4 Wifi board. This was particularly challenging, but through perseverance we built a working system where a button on the website could trigger the Arduino light and servo movement.
Teamwork makes the dream work
We also take pride in how we collaborated and problem-solved as a team. Whether it was dividing tasks, sharing ideas, or tackling technical challenges, our teamwork allowed us to push through moments of confusion.
Our first hackathon!
Finally, simply finishing a project with so many new elements in such a short time frame is an accomplishment in itself.
What's next for Kids No Hit
Our project is definitely still in its early stages with many improvements to be made, especially considering realistic implementation. A lot of our earlier ideas when brainstorming would serve as our next steps.
License plate detection
One idea that we were particularly excited about was the use of license plate detection. Think about automatic tolls that bill you based on your license plate: a camera at the bus stop could easily read the license plate of a stopped vehicle, determine if it’s a bus, and, consequently, raise the bollards.
AI child detection for triggering system
There is also the potential for the cameras to recognize the children specifically and trigger the circuit. Considering the recent developments in AI, this would be a realistic implementation and would be a more logical approach to bus identification.
Log in or sign up for Devpost to join the conversation.