Giter Club home page Giter Club logo

doggo's Introduction

dogGo

Framework for making walking dogs competetive at your local animal shelter. All you need to do to start a fresh change are minimal electronic skills and basic knowledge of programming (not for long!)

About the project

The "arcade"

Overview

The user-facing part of dogGo is the embedded system that records time for every person walking the dogs. For now the system can:

  1. Create and store users' profiles (login + code)
  2. Log time of walks with indicating the start and end of a walk

Electronics

Project's cicuit

Parts you will need:

  1. Arduino board
  2. microSD module
  3. 16x2 I2C LCD display
  4. 5 pushbuttons

The build is very simple, all the libraries in the code should be compatible with nearly every module. Power, soldering components and closure are dependent on your needs and skill level. The user input is designed to consist of 5 buttons with following functionality:

  • UP THE ALPHABET / NEW USER
  • DOWN THE ALPHABET / LOG IN
  • BACKSPACE
  • CONFIRM CHARACTER
  • GO TO NEXT PAGE

The current design of input grid:

Doggo input grid

the system is not the best, but if you have an idea for improvement, share it!

Firmware

You can clone the repository and use the directory as an Arduino project in Arduino IDE and Arduino-CLI straight away. The Makefile works with Arduino-CLI for Arduino Uno with ATMEGA 328p.

Generating leaderboards

Overview

The script takes the csv file generated by the arcade and finds best times of all time then the data gets generated by TKinter and then converted to a .jpg file using Ghostscript. When running the script on your machine, you will need to patch the script, as paths are for now hard-coded.

Prequesities

  • Python 3

Sample leaderboard

Sample leaderboard

Roadmap for the future

The project is very basic for now and will need some work for it to make it better and more reliable.
The priorities for the project are: cheap price, simplicity and reliability.

Embedded system

  • displaying time of the walk after finishing run
  • clean-up mode (deleting unfinished records)

Leaderboard generation

  • basic GUI for choosing and creating templates for the leaderboard
  • organizing data from the Arduino and making leaderboards in different categories:
    • yearly
    • monthly
    • weekly
    • frequency
    • net time

Contributing

The project is under GPL license, so you are free to contribute your ideas
and fork the project.

doggo's People

Contributors

ikrzywda avatar vetinaryy avatar

Stargazers

 avatar

Watchers

 avatar

doggo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.