Target System Project. Am I on the right track?

Discussion in 'UDOO 101' started by Legolas8911, Jun 26, 2015.

  1. Legolas8911

    Legolas8911 New Member

    Joined:
    Jun 26, 2015
    Messages:
    1
    Likes Received:
    0
    Hello UDOOers,

    I just bought a UDOO Quad and I want to make a target system for airsoft, IPSC, paintball, etc.

    Long story short, I want to achieve the following :
    1. hit detection with piezo used as knock sensors. I will be converting the analog signal to digital, to be able to use digital pins instead of analogs (watch the /sys/class/gpio files for changes)
    2. move the targets with servos. I will be using a 12channel I2C controller(s) for this (python-smbus)
    3. 7" touchscreen display for manual target control (use TkInter for UI)
    4. Web interface and API for the whole system (use cherrypy/fapws and Flask)
    5. to be able to have 2 or more systems like this, connect them through TCP/IP, one is master and the rest are slaves (no research done here yet)
    Ideas :
    • I want to use Python for the whole system, absolutely everything, to achieve real time operation. I don't want to rely on the Arduino side for anything.
    • I want to be able to "watch" the pins, to be able to trigger an event or something when something happens (a target is hit, etc) so I don't miss, for example, a hit when the system is doing something else (opens a target)
    • I want to be able to configure time based scenarios, something like "at second 0 open targest 1 and 4, at second 4 open targets 8 and 32", "open target 1 and hold it for X seconds then open target 3 and hold it for Y seconds then open target 2 and hold it for Z seconds", etc
    I want to be sure that I'm on the right track before I invest more time and money into this. Is this possible to do with python? Are there any problems that I don't see? I have experience with Arduino, i've built pretty complex stuff with it, but for this project I want real time operation, not a loop based system. It's not acceptable to miss a hit when the system is busy moving a servo or talking to a slave.

    Thank you,
    Mihai
     

Share This Page