Introduction: IntelMaker - Tweet a Ball (TaB)

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

Project history

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.

Our Team

Rosario Buonfiglio

Carlo Colella

Sergio Costigliola

Salvatore Di Benedetto

Clemente Giorio

Antonio Grillo

Francesco Guarino.

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.

Software stack
The entire software stack is designed specifically for the Intel Edison platform and consists of the following modules:

  • Dispatcher
  • Host
  • Post-processor
  • Firmware

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*Running the setup tool

Step 5: Dependecies, Installation and Running

Dependencies:

In order to run TaB you need to install Python ver. 2.7.9 or higher

Installation:

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 pyserial
Install 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

Configuration

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

Running

Move to the project root directory.

Move to the Dispatcher module sub-directory.

CD Dispatcher

Run the Dispatcher module

python ./bin/tabDispatcher &

Move back to the host directory

cd ../Host

Run the Host module

python host &