This project emulates a scoreboard by using a Raspberry Pi connected to a 64x32 LED Matrix. Using the touchscreen of a PiTFT, the user can select a team to display from collegiate and professional hockey, football, and basketball. The user can also select rotation between teams instead of displaying only one team. The system then queries the ESPN API to get live scores from the Internet according to the user's settings. Finally, the team names, logos, and scores are displayed on the LED matrix. The scoreboard displays a celebration whenever a team scores in football or hockey.
When the selected team is not currently in a live game, the scoreboard displays the results of the previous game or the date, time, and opponent in the next game, depending on which is closer in time. Using cron, a command-line utility for scheduling jobs, the service starts on automatically on boot and defaults to displaying any supported sport and team.
HARDWARE DESIGN
The hardware consists of three major components: a Raspberry Pi 4, a touchscreen PITFT, and a 64x32 LED Matrix. The Raspberry Pi contains a 16GB SD Card with the default Raspberry Pi Linux installed. As shown in Figure 1, The LED Matrix gets 5V of power from the included DC adapter, the PiTFT gets power from the Raspberry Pi, and the Raspberry Pi gets 3.3V from the included USB-C cable. The LED Matrix gets wired to the Raspberry Pi's GPIOs, according to Table 1 and Figure 2, while the PiTFT header is designed to simply snap onto the top of the Raspberry Pi [1]. LED Matrix pins are numbered left to right, and top to bottom.
SOFTWARE DESIGN
Esta historia es de la edición September 2024 de Circuit Cellar.
Comience su prueba gratuita de Magzter GOLD de 7 días para acceder a miles de historias premium seleccionadas y a más de 9,000 revistas y periódicos.
Ya eres suscriptor ? Conectar
Esta historia es de la edición September 2024 de Circuit Cellar.
Comience su prueba gratuita de Magzter GOLD de 7 días para acceder a miles de historias premium seleccionadas y a más de 9,000 revistas y periódicos.
Ya eres suscriptor? Conectar
Catching Lightning in an IMU
Simulating Diffusion-Limited Aggregation with a Raspberry PI RP2040 MCU
Build an Interactive Kinetic Wall
Using a Raspberry Pi 4 and Kinect V1 Camera
Learn to Program MCUs with uLISP
Part 1: Crash Course Offers Insight Into Pioneering Language
Intelligent Automotive Battery Sensor
Shunt Resistors and Evaluation Electronics Offer Two Key Components
Understanding Mesh Circuits How to Use and Calculate Them
Microcontrollers and other digital systems concern mostly ones and zeros but when connections to the real word are needed it can get messy. Stuart writes about mesh analysis and how mesh circuits can be calculated and applied in practical scenarios.
Datasheet: Very Cool Micro Machines
Smartphone Cooling Rounds Out Parade of Advanced MEMS
Improving Patient Outcomes
Device Technology Advances Medical Practices
Bringing Cost-Effective, On-Device AI to Home Appliances - Sparse Weights and Interactions Negate GPUs and Cloud Computing
GPU silicon and cloud computing infrastructure are too costly for mass markets devices like refrigerators and washers. By deploying compute resources only to the necessary parts of AI inference, Sparse AI allows product designers to practically incorporate new AI features like natural voice interfaces into their consumer offerings without breaking the bank or electric bill surprises.
Thin Film Transistor LED Displays - Visual I/O
To add a resistive touchscreen on top of a TFT display, Jeff explores the technology offerings and libraries needed to accomplish his task. Calibrating the touchscreen's computed coordinates with the actual pixel coordinates of the display proved difficult with a modular framework but separating functions allows easy expansion.
Mobile APP Development with React Native
This month, Bob continues his series on mobile app development from an embedded designer's perspective. He programs a React Native app and he offers guidelines for picking a tutorial for React Native. He further explores how it handles concurrency and asynchronous programming. Bob expected a few nuances during the process but to say there were more than a few would be an understatement.