FOODEVOTION: When you wish upon food

For my final project I wanted to make something new, so I started brainstorming ideas by looking at the domains I have and how would I tie it to the tools I own. This semester ever since I started thesis, my domain has always been about Food Obsession and Human Cravings so I thought I’d be consistent and do another mini-project that relates to both domain.

Then one day I was cleaning up my locker and I saw my thermal printer just sitting on a wooden box from last year’s experiment, so I took it out and I made a pact with myself: “I have to make something out of this and relive its glory!”

So a day of googling brought me to this mesmerizing photo of the Japanese tradition:

foodevotion-psd

Those Japanese paper prayers are also known as  おみくじ o-mikuji  , where people write their wish on paper and hang it at temples/shrines, but what if instead, you wish upon food?

FOODEVOTION is an interactive installation that captures the relationship between people and their inner craving. It asks the audience one simple question, “If you could have ANY food in the world right now, what would you wish for?” 

It has a main web interface that takes user input through a simple textbox and a P5.js blank canvas. The images are saved into a folder that lives on the server and then the data is being sent from client to the server using UDP network. Finally, the server side sent the data to a Parse database and at the same print the requests real time. Below is the diagram of how it works:

B Copy 5

Code on Github. Some documentation:

DSC08987
Sometimes it just prints out random stuffs
DSC08985
User Testing with Wacom tablet
DSC08983
Adafruit Thermal Printer connected to laptop directly via FTDI Friend
DSC08995
Final installation piece

DSC08991

IOTFINALFOODEVOTION

FOODEVOTION: When you wish upon food

Experiments on RFduino + Pi + Node Serial with Different Inputs/Outputs

A. RFduino + Raspberry Pi with Host/Device: Button to Switch LED

Button on DEVICE is controlling LED on HOST. Code is available on the class repo — rfdevice_1.ino / rfhost_1.ino

B. RFduino + node serial + Raspberry Pi with Host/Device: Button

Button on the DEVICE is trying to send digital data to node serial on Raspberry Pi via HOST.

C. RFduino + node serial + Raspberry Pi with Host/Device: Potentiometer

Potentiometer on the DEVICE is trying to send analog data to node serial on Raspberry Pi via HOST. Code is available on the class repo — rfhost_2.ino (rfduino) / rfdevice_2.ino
(rfduino) / node-serial_2.js (pi)

One comment about this: IT TAKES A LOT OF PATIENCE for things to actually work out themselves. I never thought I’d feel this much joy when I see a LED blink or a number changes on my screen. Great experience!

Experiments on RFduino + Pi + Node Serial with Different Inputs/Outputs

HW Week 4: Arduino + Pi + Logic Level Converter with Node.js

Failed Attempt(s) #1

Attempting on flashing LED on Pi using node serial input from Arduino. The result is supposed to show 0, 1, 0, 1 but somehow it got stuck at 0 all the time. We suspected it was more of a slow network issue (?). But it’s also strange because the built-in LED pin #13 on the Arduino board blinks, but somehow the one on my Pi didn’t do anything. Another failed and miserable attempt at Raspberry Pi… I’m just hoping for that one magical day to come, when my Pi does not give up on me. *fingers crossed*

Failed Attempt(s) #2:

So I cried for help to Ayo and he helped take a look at the wiring connections, etc. Lesson learned: One, we don’t need resistor for this (yet) – so he took that out. Two, we need to make sure both RX and TX pins on Arduino crossed to the RX & TX pins on Raspberry Pi. After that, we tried to run it again………….. BUT SOMETHING FUNKY SHOWED UP.

Screen Shot 2015-10-01 at 5.01.39 PM Screen Shot 2015-10-01 at 5.02.36 PM

WHAT. THE. F!@#$%. IS. GOING. ON?!

Remember my simple FUTUNE (Future Fortune) project with Pi + Thermal Printer last year? So I had a python script set up on my rc-local folder, to initiate calling the fortune.py script whenever I booted my Pi, and THAT apparently causes serial port conflict so it disabled the connection to node-js. All we had to do was to kill the python script from running in the background on startup, so we did:

sudo pkill python

Voila. After that, everything runs smoothly. SUCCESS. Ayo is a genius, if you haven’t known by now. This is the 1st example – node-serial_1.js / ardpi-serial-node.ino – where I’m trying to flash LED on Raspberry Pi using node serial input from Arduino.

And here’s the result for the 2nd example – node-serial_2.js / ardpi-serial_2.ino – where it’s trying to send Arduino analog data to Raspberry Pi via node serial:

Screen Shot 2015-10-01 at 5.39.52 PM

HW Week 4: Arduino + Pi + Logic Level Converter with Node.js

HW Week 3: Raspberry Pi + Node.js OnOff with Double Inputs & Outputs

After a couple of failed attempts on using npm to install node.js packages, I finally managed to get something working. Even if it’s as simple as using OnOff node package with two buttons as input and two LEDs as output….. this takes way more effort and time that I had imagined. My raspberry Pi just always fails on me.

HW Week 3: Raspberry Pi + Node.js OnOff with Double Inputs & Outputs