Introducing Triggerino, an Arduino based action trigger

Apr 18, 2013
De453538cc7e6047d144995f0ddac38f

First of all, I need to say that I was fully inspired by this blogpost, I liked so much that project, that I decided to fork this project and use Ruby instead of Python.

A little bit of history

One of the things I'm passionated about is the DIY philosophy, when I was young I used to spend my time doing experiments with electronics, but then I grew up and I replaced that passion with programming.

In the past RubyConf there was a talk from Austin Vance that involved Ruby and Arduino, I must say that was very interesting, that talk woke up my passion with electronics, and the best of all, it mixes both passions.

That day at the end of the conferences, I went to the closest Radioshack® and I bought my Arduino starter kit, and since then I've been experimenting with my Arduino and Ruby, with the time those experiments became Triggerino.

What is Triggerino?

The main idea of this is to have a box with a big red button, and have the ability of run tasks from my ruby project pushing that button. Cool, isn't it?

What can I do with Triggerino?

  • Run your test suite
  • Deploy your project
  • Run rake tasks
  • ...
  • Run whatever you want

Installation

Add these lines to your application's Gemfile:

gem 'triggerino'
gem 'dino',
  git://github.com/supherman/dino.git',
  branch: 'lcdv3'

And then execute:

bundle

Usage

  1. Create a "triggerino" dir

    mkdir triggerino
    
  2. Define your action classes

    touch triggerino/my_action.rb
    
    class MyAction
      include Triggerino::Action
    
      def perform
        # puts your action logic here
      end
    
      def to_s
        'A descriptive name for your action'
      end
    end
    
  3. Wire your arduino like this:

LCD

Also add 2 push buttons: one will be the action selector and it needs to be connected to the pin 10, and a the other one will be the trigger and it needs to be connected to the pin 9.

  1. Run the listener

    bundle exec triggerino
    

Need to know more about Arduino and Ruby?

Keep and eye on the dino gem, people started to contribute on the project and they are doing amazing things that will make work with Arduino and Ruby easier.

And If you like robots and electronic stuff, you'll want to take a look at Artoo, a framework that will help you build robots with Ruby, it has support for Arduino, Parrot AR Drone 2.0, Sphero and Roomba.

Also, if you are a dev with an itch to learn more about this kind of topics, I think you should go to MagmaConf, there will be 2 talks about electronics and Ruby; so it will be a good chance to learn something new.

And that's it for now, hope you find this useful and interesting. ;)

Thanks for reading.

blog comments powered byDisqus