Project philosofy & description
This project concerns the ways to convert virtual information into the real world objects and try to simplify access to digital fabrication tools.
Tweet A Ball (TaB) is a robot designed to "draw" the text of tweets containing specific hashtags on balls, eggs and other spherical surfaces. Unlike other Eggbot and similar, TaB is fully autonomous and doesn't require an external control station (PC) nor software for processing text draw
TaB was designed by Fablab Napoli within IntelMaker competition for the occasion of Maker Faire 2016 exhibition. The project, mainly intended for teaching purposes, aims to explore Intel Edison platform capability.
Salvatore Di Benedetto
How does TaB works?
Exploiting the power of Intel Edison, TaB can connect directly to internet and scan the Twitter stream to research specific topics of discussion (hashtags). Identified a message matching the search criteria, the software inside the robot converts the text in lines, curves and points. Finally the whole is converted into a sequence of movement commands that trigger the writing arm.
The entire software stack is designed specifically for the Intel Edison platform and consists of the following modules:
The modules Dispatcher, Host and Post-processors have been designed in Python and are executed by Intel Edison CPU, while the firmware module has been adapted for Intel Edison MCU.
Step 1: Bill of Materials to Replicate This Project
For this project we've used an Intel Edison development board as basis for the prototype, plus other hardware equipment showed later in this instructions.
- n. 01 ---> sheet 600x400mm plywood 3mm (or, if you want a cool and more strong version, 1x sheet 600x400mm Plexiglass 3mm thickness)
- glue (vinyl or methacrylate, according to the material chosen for the laser cutting)
- n. 20 ---> M3 x15 Screw
- n. 04 ---> M3 x20 Screw
- n. 04 ---> M3 Double Pass Hex Nylon 25mm
- n. 01 ---> Intel Edison development Board with the Arduino Breakout Board
- n. 01 ---> Arduino CNC Shield v.3.0
- n. 02 ---> Pololu A4988 Stepper Motor Driver
- n. 02 ---> Stepper Motor NEMA 17 17HS3404
- n. 01 ---> SG-90 Servo
- n. 01 ---> Ball Bearing 508zz
- n. 01 ---> Power Supply Output 12VDC 6.A (Traco Power TXM 075-112)
Step 2: LaserCutting Components
Attached you can find the Machine Case Box in AI8 file format to lasercut on Plywood or Polymethylmethacrylate if you want. The thickness of the material sheet is 3mm.
Step 3: Assembly TAB Machine
Follow the attached picture!
Step 4: Get Started With Intel Edison on Windows 64-bit
The Intel Edison it's a mini computer fanless with wifi onboard. Inside there is a linux based OS, Yocto. For starting with this prototyping board it's necessary install driver software, update firmware, configure wifi connection, chose a IDE
The starting process is detailed here in dedicated Intel website HERE
This step-by-step guide will help you:
- Assemble and connect cables to your Intel® Edison board
- Run the setup tool to install USB drivers and flash your Intel® Edison board's firmware
- Set a device password and connect your development board to Wi-Fi*
Step 5: Dependecies, Installation and Running
In order to run TaB you need to install Python ver. 2.7.9 or higher
Clone the project repository
git clone <a href="https://github.com/fablabnapoli/tweetABall"> <a href="https://github.com/fablabnapoli/tweetABall</a"> <a href="https://github.com/fablabnapoli/tweetABall</a"> <a href="https://github.com/fablabnapoli/tweetABall</a"> https://github.com/fablabnapoli/tweetABall</a>>>>>>>>
Install the module "JSON encoder and decoder"
python -m install jason or pip -m install jason
Install the module "Twitter API for Python"
python -m install jason or pip -m install Tweepy
Install the module "Web framwork for Python"
python -m install lpthw.web or pip -m install lpthw.web
Install the module "DB-API 2.0 interface for SQLite databases" (usually embedded with Python since V. 2.5.x)
python -m install lpthw.web or pip -m install sqlite3
Install the module pyserial or python-serial
python -m install pyserial or pip -m install pyserialInstall the module pyreadline
python -m install pyreadline or pip -m install pyreadline
Install the module argparse
python -m install argparse or pip -m install argparse
Install the module piglet
python -m install piglet or pip -m install piglet
You must have a Twitter Account.
Follow this link for obtain access token ... https://dev.twitter.com/oauth/overview
You have to change some line of code in /Dispatcher/bin/tweetStreamer.py as shown below
Move to the project root directory.
Move to the Dispatcher module sub-directory.
Run the Dispatcher module
python ./bin/tabDispatcher &
Move back to the host directory
Run the Host module
python host &