On Display at DIYAbility / Adaptive Design Association, 313 W 36th St. NYC
by Jenny Chowdhury & John Schimmel
NYC Cardboard Skyline by Christie Leece
Future of Accessible Cities
The “Future of Accessible Cities” is a window display at 313 W 36th Street in the Adaptive Design Association store front window. A cardboard New York City skyline is the backdrop for a cardboard wheelchair from the future that has helicopter like features. People walking by can interact with the window via SMS – a sent message can trigger the wheelchair to fly into the sky. We want people to think about accessible cities, what the future will bring and what can they imagine and build to make accessibility universal.
We started with the littleBits Cloud Module
After playing with our littlebits cloud module for a “littleBit”, it became clear that our favorite thing to do with it was to activate it with an SMS (via IFTTT) and then have the cloud module turn on the DC motor module. We thought it would be fun to use this setup in the store front window of our workshop and have passersby use their phones to activate a motor in a window display.
Our original littleBits set up was: power module -> cloud module -> DC motor module
Our IFTTT recipe was: if SMS -> then cloud module
Hardware modification setup
To make the project robust enough enough to use in the window, we needed to make several modifications.
Things we needed:
- A geared motor so that the motor could be strong enough to lift something in the window.
- An H-bridge (SN754410) to control the direction of the motor turn
- A microcontroller (Arduino Uno) to control the motor logic pins of H-bridge
Making the cloud module talk to a non littlebits part
We took the littleBits fan module, which outputs 5v+ when it’s on, and removed the fan from its JST connector, replacing it with a JST connector with unconnected leads. We used these leads as digital inputs into an Arduino Uno. Next, we connected the h-bridge motor logic pins to the Arduino as output. And finally we connected the h-bridge to the geared motor.
In this setup, when the cloud module goes high, our Arduino launches a motor controlling program. The Arduino program runs the motor in one direction for 10 seconds, pauses and then runs it in the other direction for 10 seconds, to lift an object in the air then lower it.
Software Modification – Using Twilio in place of IFTTT
IFTTT works decently, but sometimes there are long delays in the response. When working with a window display, we need our viewers to get a response quickly – before they walk away. We chose Twilio, a cloud-based telephony service, that can accept incoming SMS messages which can be processed by a web app. We also used Heroku as our web server and the littleBits cloud API which can trigger the output on the cloud module.
Here’s a description of the flow:
SMS -> Twilio -> Heroku (Node) -> littleBits Server -> Cloud module -> Arduino
We set up a number with Twilio. When the Twilio number receives an SMS, it gets POST’ed to Heroku. Heroku is running a Node JS webserver and the incoming SMS triggers two events:
1) A request (POST) to the littleBits API which then triggers the cloud module for 1 second.
2) The Heroku web app also triggers Twilio to send an SMS back to the spectator’s telephone number with a message about the organization.
Code for Web Server & Arduino