( built for the DC hackathon)
Herbert is a robotic virtual pet. A companion which allows you to enjoy the pleasures of a real dog without the mess . He will chase objects of certain colors and change his mood depending on your interaction with him. Hebert has mood and energy levels that you can tell based on his eyes. The brighter the eyes, the more energy. The color dictates his current mood. Red-Mad; Purple-Happy; Blue-Indifferent; Green-Excited; Yellow-Annoyed.
We made our chassis out of thin balsa wood. One long strip big enough to hold an Arduino mega and a battery pack. It had one inch high sides to hold the components. The chassis can really be anything, as long as it has space and places for lights/eyes and a pixy cam. WARNING! Do not use metal as a chassis unless you have the circuit boards protected. We made a removable back side so you can access the hardware using magnets and washers. You will want to put fur on, but if you do make sure you leave a spot for the fetch button to be and a place for the touch sensor/Petting spot. Use hot glue or wood glue to put the balsa together to make the chases of your digipet!
After setting up the Pixy to work with the Arduino, be sure to define what you want for your 'food' object and 'ball' object to be. Currently 'food' is the 0 index object of the block array, and 1 index is the ball. This can be easily changed with-in the code listed below.
We used a grove shield to connect touch sensors, buttons, and our motor drivers. The touch sensors are for petting our dog and our button allows us to control when the dog will attempt to fetch a ball. The grove motor driver connects directly to the I2C port on the grove shield.
Our pixy camera connects into the icsp port on the grove shield.LEDs connect directly to the GPIO pins of the Arduino. Pin references can be found within the code.
Our code uses the LEDs as a way to indicate mood. Red means angry and green means happy. It will go through a lot of different colors to. We used the touch sensor as a way to make his happiness go back up if he gets angry. It's almost like your petting him. Also, the lights will dim as he gets tired. The pet will also drive towards the location of his ball when in 'fetch mode' .
Thanks for all of the support!