To resolve this, version 2 is designed around a power path that uses a TP4056 LiPo charging module and a 800mAh+ single cell LiPo battery. The main issue with the original prototype (besides being ugly) was the lack of a battery. Messages are passed from the physical unit (host). The time status (ready, set, go) and running time are then displayed. A connection to that WiFi network (currently hardcoded SSID & password, no connection to an external network) provides access to the web server on 192.168.1.1, which hosts a simple status page. To make the interface more accessible, the unit also provides a simple web front end. There is a state tree in the readme for more information. This also ensures that there is enough control through the onboard interface to operate the timing gate without the remote interface as a fallback. The onboard menu only needs to include three categories: the stopwatch, light sensor calibration, and basic wireless configuration (i.e. The idea is that more complex interactions can be achieved through a remote interface. I eliminated the "back" action by adding that as a soft option in each menu, and similarly re-used the "apply" button to accomplish an "in" action. This is similar to some interfaces on monitors. I was aiming for a minimal interface for navigation, so there are two navigation buttons: "next" and "apply". With more time here, I'm sure a much nicer UI could be implemented, but the idea is to put that effort into the browser interface. The DisplayManager class encapsulates this interface, and is composed of GFXcanvas1 and Adafruit_SSD1306 objects (thanks Adafruit!). Visually it is divided into two sections: a title line (about 10 characters) occupying the upper third of the display, and either a subtitle line or up to 3 status lines in the lower two thirds.Ī third option (for the stopwatch time) centers the title area vertically. Idle, Ready, the running time & lap time, etc.) and other configuration status. The OLED display is used to show the status of the stopwatch (e.g. These of course also serve as basic diagnostics and can be repurposed to show e.g. a green/blue LED shows that the gate is armed and that the next action (beam connection changes state) will start the timer.a red LED shows if the beam is attached or broken (on=attached).I thought I'd write up some detail in this section since this is where most of the interesting design choices came up (both in hardware and software). Two LEDs indicate status, and an onboard display will indicate the state of the gate and show the stopwatch time during a lap. The onboard ADC is used to monitor the illumination level on a photoresistor, and a threshold determines if the light is at the "beam" or "ambient" level. The initial design is based around an ESP32, which in addition to providing the simple physical interface (buttons, LEDs, small display over I2C) can also provide a wireless connection over WiFi or Bluetooth. When the beam is broken again, the time stops and the lap is finished. When the athlete moves and the beam reconnects, the timer starts. A starter/official can then arm the gate. When an athlete steps into the starting area and breaks the beam, the gate is ready. When an athlete initiates the start, the timing gate starts in an idle state when the beam is aligned on the photo sensor.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |