CREATED BY NEEL BHALLA, BRANDON LI, AND ASHWIN PADAKI
I have seen that due to the introduction of technology such as SMS, social media, calling, and other platforms where people can collaborate we have been glued to our screens. People even tend to point it out for games such Pokemon-go which has gotten so bad for the community that you can find that people are walking into random places such as cliffs and trees trying to catch pokémon! For social media, we find that the thirty minute homework turns out to be three hours when your social media gets between you and your homework. Its not that there is something to look at, it is the fear that you don't want to miss a post that makes you keep checking for updates on your feed when there really isn't.
What it does
The twitter-social-media notification can take your fear and relieve it by doing exactly what you do! It will scan the twitter feeds for the tags that you provide and wont disturb you unless something shows up. After letting you see a glimpse of the post on the lcd display, you can decide to like it or even re-tweet it in order to see it some other time such as after you finish your homework.
How I built it
Brandon, Ashwin, and I used our raspberry pi and breadboards to build the system. There are three main parts: The buzzer, the LED, and the LCD.
The buzzer circuit consists of an LM358 op-amp powering a relaxation oscillator whose frequency can be set via two potentiometers. The output goes to a piezo buzzer and its volume can be set by another potentiometer. The oscillator generates a square wave with variable frequency. Due to the low clock speed of the raspberry pi, we could not use PWM (Pulse Width Modulation) to implement the notification system.
The LCD is a display that can hold text on a grid with a size of 16x2 characters. Any ASCII character can be represented on the display, and many unicode characters can be represented as well. A potentiometer controls the contrast of the screen.
This circuit consists of transistors that control the buzzing and an LED that flashes when you get a twitter notification.
the code consists of three parts. Due to the object orient programming aspect of Python, we could test module each by itself in order to prevent bugs for occurring except from the integration. The main code uses tweepy(API), a python 2.7 package in order to track and stream posts that are public. A callback function is called which notifies the person. The buzzer.py uses oscillator and led to display the notification. The last part is the LCD display. We have some code from a fellow developer who posted it on github. This allows us to use standard wiring and have an api to clear and set text to the screen. Using all of this, we must create a separate thread in order to ensure shutdown upon button press as the code tends to stall unless there is an actual post where the callback function would be used. Another cool feature we have is the timed button press which allows you to choose between retweet and repost by pressing either less than 1.2s or more(retweet is greater than 1.2, like is less than)
Challenges I ran into
Working with asynchronous tasks and trying to avoid errors due to APIs and other dependencies can be tough when you are not as familiar as you would like to be. We found that twitter had accidentally revoked our privileges at one point due our excessive liking of posts. Hardware errors were also a pain since debugging things without a multi meter is as hard as hitting an target in the dark.
Accomplishments that I'm proud of
I'm proud of making my first project with my classmates whom i have only talked to about technology and have yet to collaborate. We are proud of the final product and how many extra features we were able to add in before the idea which we had from the start.
What I learned
What's next for InstantNotifier
Due to a lack of time, we were unable to add Instagram and Facebook notifications. In a couple more revisions we will definitely have most of the popular networks searched for you, so then that homework that takes 30 minutes by the teachers clock, 3 hours by your clock, and 10 minutes by your parents clock, might even be done in 5.