So, it seems that the total current limit from the digital I/O pins on the Arduino is accepted to be 200mA. While that limits the Arduino to directly power 10 LEDs. I've decided to use MOSFETs to limit the current that is being used by the Arduino.
The LEDs still require power, but that power will most likely be supplied by an external power source. The Analog Discovery board offers a 5V, 50mA voltage source, so I'll probably be hooking two of the LEDs (the red one and the yellow one, for consistency sake) to MOSFETs.
Hopefully, you will still be seeing updates throughout the Winter Break. So, while I will not be able to enjoy your physical presence, I hope those of you who are following Observatory during the Winter Break will grace me with your digital presence.
The project is almost done for the semester, with the exception of a few bug fixes here and there. One potential future extension Check Up is porting it over to Linux. Because Check Up relies heavily on the .NET framework and WPF, porting Check Up to Linux would require a complete rewrite of portions of the code. This would be a great way to learn more about Linux, however, and is a potential project for next semester or in our free time.
With the semester coming to a close, we’ve begun thinking about next semester. We’ve finished implementing the complete foosball table, and now we need to make it permanent. Our RA and RD are both on board, saying they’ll support us when we talk to reslife.
However, due to the Pub Safe and ResLife shenanigans, we are going to wait for a better time to propose our solution. We may decide to put the whole thing in a project enclosure so it looks “safe.”
Things we will do next semester: RFID readers. Manual input panel for Handicapped play, errors that will probably never happen, reset… Website with more interesting stats, Teams. 7 segment pin displays on the table. lasers instead of diffuse light for more precision.
Originally written on Nov 19.
Since last time, we’ve made a lot of progress. We’ve played actual games on our dorm foosball table, and have gotten rid of the bugs which made reading the leaderboard and ticker a nightmare. On Wednesday, we made a poster which displayed these advancements. It was a real success, despite not sleeping the night before.
We’ve changed microcontrollers from the chinese-manufactured-fake-brokenFIDI-arduino-mini to a completely legitimate Arduino Uno. The only bugs we have now - if we had any - are in the code we wrote.
Speaking of hardware, we removed our button placeholders for actual photoresistors. How they detect goals is simple: The photoresistors have light shining from behind them, that reflects back from the bottom of the ball tube(black). When a ball passes through, more light bounces off, which passes a threshold, sending a goal to the python script through pyserial.
For demonstration purposes when we don’t have a foosball table, I’ve configured the script to send out dummy data.
Until Next Time, FoosRPI