Posts with «arduino» label

Twitter radio

This anthropomorphized wood bowl will read Tweets out loud. It was built by [William Lindmeier] as part of his graduate work in the Interactive Telecommunications Program (ITP) at New York University. View the clip after the break to see and hear a list from his Twitter feed read in rather pleasant text-to-speech voices.

The electronics involved are rather convoluted. Inside the upturned bowl you’ll find both an Arduino and a Raspberry Pi. But that’s not the only thing that goes into this. The best sounding text-to-speech program [William] could find was for OSX, so there is a remote computer involved as well. But we think what makes this special is the concept and execution, not the level of hardware inefficiency.

The knob to the left sets the volume and is also responsible for powering down the device. The knob of the right lets you select from various Twitter lists. Each turn of the knob is responded to with a different LED color in the nose and a spoken menu label. You can get a quick overview of the project from this summary post.


Filed under: arduino hacks, Raspberry Pi
Hack a Day 12 Dec 21:30

New Product: AlaMode Arduino-Compatible Shield for Raspberry Pi

For $35 you can get a lot of processing power with the Raspberry Pi, which for some people begs the question: why use Arduino or another microcontroller? It turns out the two platforms are good for different tasks, and they’re actually quite complementary. Kevin Osborn of the Wyolum open hardware [...]

Read the full article on MAKE

MAKE » Arduino 12 Dec 19:45

Arduion Split Flap Game

When Arduino meets traditions, here the story of [the.anykey] and gift making.

We have a great Dutch tradition called sinterklaas (5th of december). For the older “non-believers” we make surprises. The purpose is to buy a small present but make a really cool “surprise” around it. Here my arduino based Split-flap game I made as surprise.
I made this for my 15-year old niece that was asking for very expensive presents only, so I thought I would make her a bit more price conscious

The arduino (uno) used to run this all was tested to its limit 15 I/O ports
- 5 pins for the score LEDs
- 4 pins for the stepper motor control, via ULN2003a
- 1 PWM pin for Servo to lock or unlock the side door
- 1 PWM pin for piezo speaker so we can make some sounds
- 1 pin for micro switch to align start of cards
- 2 pins for the lower and higher button

Anyway, the project is well structured and there is also a full [instructables] about it, we really enjoyed the submission.

Arduino Blog 12 Dec 17:34
arduino  dutch  flap  gallery  game  

Arduino BlueTooth Controller


Ok this is not a project 100% core Arduino, because it uses custom hardware and only the bootloader of Arduino. But Arduino follows the Open-Hardware philosophy, so we are honoured to share this project that use a bit of Arduino. [chris] , from silverball software, sent us his way to build a game controller , programmed with Arduino software.

Well after a few months of tinkering and several designs I finally have one.
The design is based around the Atmega 328 running the Arduino bootloader. There is a RN42-HID bluetooth module that allows serial communication between it and the microprocessor.

I wanted the device to be fully hackable so I designed it with headers for both the bluetooth module and the Atmega 328 chip. I can reprogram the bluetooth module to run HID keyboard or mouse (or combined), it can iterate as a gamepad, or it can reconfigured to run serial protocol and iterate as a virtual com port.

On the [website] there is full description with lots of pictures, have a look.

Arduino Blog 12 Dec 10:24

Arduino Esplora makes a great controller

The folks at Arduino seem to be stepping up their game. With the new Arduino Leonardo board able to emulate USB keyboards and mice right out of the box, it seems the perfect time for Arduino designers to come up with a proper video game controller. This new board is called the Arduino Esplora and packs enough buttons and sensors inside to capture just about any user input you can imagine.

On board the Esplora is the same ATMega 32U4 microcontroller found in the newest Arduino boards. For input, the designers included an analog joystick, four tact switches, a linear pot, a microphone, and light sensor. The Esplora also includes a three-axis accelerometer, RGB LED, buzzer, and a breakout for an SPI-controlled TFT LCD display, lest you would want to recreate something like the new Wii U controller on your own.

You can check out everything the Esplora can do over on the official Arduino site for the Esplora library.


Filed under: arduino hacks
Hack a Day 11 Dec 18:01

Avr OS on Arduino

What about an OS to run on your Arduino? Ok not in the way big os, remember Arduino has limited performance, but some of the basics, like spinlocks/multitask can be integrated with the AVR Os. As you know Arduino uses an AVR Compilant Processor, so its easy to port the code. The user [chris] sent us the way to do it, with also a simple sketch to print the classic “Hello World”.

avr-os is a library that provides a very basic rutime that enables your program to multitask.
The library uses pre-emptive multitasking to switch tasks and each task has its own stack that is restored when a task is resumed. An AVR timer is used to provide ticks and this interrupt is used to switch tasks.

All the instructions and the code to do it is stored at the [website]

Arduino Blog 11 Dec 17:04

Arduino-Controlled Drawing Robot

acorv built this sweet drawing arm* with an Arduino Uno and motor shield, two steppers and a servo, Meknex building set parts, and a Nintendo DS touch screen to guide it. Also see the previous version* previous version to see how the project evolved. [via Arduino] *Google translated from Spanish. [...]

Read the full article on MAKE

MAKE » Arduino 11 Dec 15:30
arduino  art  drawbot  

Yellow Plane 2 with Inverted V Tail

 

[nickatredbox] keeps up to date with the improvements of his project [yellow plane]. As you can find on this blog, the project is evolving week by week. Let’s see what’s today submission

1200 mm Wing space
280 mm cord
14% Clark Y
Target AUW 1300 Grams

Missing battery and camera box have a design which should weigh 140 grams empty.
The assembly shown below weighs 684 Grams no motor or electronics.
Electronics shown weigh 110 grams ESC Arduino board, Xbee, antenna and Gyro board
Motor & prop another 120 Gram

Here you have a [video]  and there you can follow the project on the [website]

Arduino DMX shield for Christmas projects

.

 

This shield allows to connect an Arduino with DMX equipment. It implements the RS485 interface to adapt the electrical levels needed for DMX connection.

This shield has been designed with flexibility in mind and allows the user to choose between several Arduino pins for digital input and output of DMX data, it supports a microSD slot and also has the serial connection to support a serial LCD display.

This design allows basic operation of DMX through simple pre programmed messages stored in the Arduino Sketch or, with the proper libraries and programming, it could well become a standalone system with playback capabilities of sequences stored on the microSD. When needed, this solution is also a suitable interface for a PC sending through a serial port the DMX commands.

DMX basics

This interfacing and communication standard has been developed to allow easier management of complex lighting systems. On stages and discos, many spots, pars, moving heads and other equipment need to be managed and controlled, but bringing power from a centralized panel rises many issues for safety and cabling complexity.

With DMX, each device has an integrated or external controller. A control system sends a specific message to each controller with a byte that the controller itself interprets according to its address and capabilities. Power supply becomes “local” and the communication is with a daisy chained cable that carries low voltage signals.

DMX data is sent in parallel to every controller connected and the address given to each controller allows each device to grab and interpret only the relevant information.

The transmission scheme has been designed for efficiency as DMX may drive up to 512 devices at the same time, with 40 complete transmission sets per second. To achieve this, with 8 bits, 1 start and 1 stop bit, speed has to be 250 kbps. The serial data starts with a header and then bytes are sent in sequence, starting from the first one.

If we have to send a new command to the controller with address 10, we need to send also the data relevant to the controllers from 1 to 9. The addressing system is based on position of the byte and each controller counts the incoming bytes, discarding the ones preceding and following its own byte.

It is also important to remember that each command received is always relevant, therefore to alter the state of a single controller, it is necessary to send valid commands to all the controllers that have a lower address. The sequence, however, may end when the address of the relevant controller has been reached (no need to send the sequence with data exceeding the relevant controller address).

The values from 0 to 255 initially represented the level of the light (0 = off, 255 = full brightness), but the adoption of DMX by other devices turned the meaning of the byte into other commands, eg. position, program selection, specific preset, activate feature and so on. Each manufacturer specifies the mapping between values and functions and sometimes a single byte is not enough to manage all the capabilities, therefore the device occupies an interval of addresses on the DMX bus and reads more than one byte, in sequence.

 

Shield schematics

This shield uses a MAX485 by Maxim to convert the signal levels from the Arduino digital pin to the RS485 differential simplex two wire plus ground connection. The MAX485 contains a receiver and a transmitter, with enabling signals. The /RE (pin 2) and OE (pin 3) – that enable reception and transmission – are with inverted levels, so that it is possible to use a single line and the two pins connected together to manage transmission direction. Pin 1 is Receive Output, pin 4 is Data Input, pin 6 and 7 are the differential outputs.

It is possible to choose between different Arduino D pins for each of the three signals needed: RO may be mapped onto D0 or D4, DI onto D1 or D3 and /RE+OE onto D2 or D5.

The other chip on the shield is an 74HC4050D that contains six buffers to match TTL levels from Arduino ICSP with the 3,3V required by the microSD. This is required just by microSD input lines because Arduino input correctly reads the 3,3V level supplied by microSD as a logic “1”.

The last bits of the schematics include a couple of LEDs connected to D7 and D8, a pushbutton on A1 and the serial connection for the LCD on A0/A2 (jumper selectable).

Configuration

Before you proceed with this shield, you should decide the various jumpers positions; if no other shield is used with Arduino, you are free to choose any of the two positions available; when used with other shields, use the jumpers to avoid any conflict. Please note that ICSP is used with Ethernet shields as well, therefore the microSD slot might create conflicts if used with an Ethernet equipped solution.

DMX library 

DOWNLOAD DMX LIBRARY (Arduino1.0.1)

This shield needs a specific library named DmxSimple.h available for download at http://code.google.com/p/tinkerit/wiki/DmxSimple ; with it you will find some examples. We also have two other sketches to let you experiment with this shield.

/* Welcome to DmxSimple. This library allows you to control DMX stage and
** architectural lighting and visual effects easily from Arduino. DmxSimple
** is compatible with the Tinker.it! DMX shield and all known DIY Arduino
** DMX control circuits.
**
** DmxSimple is available from: http://code.google.com/p/tinkerit/
** Help and support: http://groups.google.com/group/dmxsimple       */

/* To use DmxSimple, you will need the following line. Arduino will
** auto-insert it if you select Sketch > Import Library > DmxSimple. 

Modified by Boris Landoni
open-electronics.org

*/

#include 

const int jrde =  2;
const int jdi  =  3;
const int jro  =  4;
const int lr   =  7;
const int ly   =  8;

void setup() {

  pinMode(jrde, OUTPUT);
  pinMode(jdi,  OUTPUT);
  pinMode(jro,  INPUT);
  pinMode(lr, OUTPUT);
  pinMode(ly, OUTPUT);

  digitalWrite(jrde, HIGH);

  /* The most common pin for DMX output is pin 3, which DmxSimple
  ** uses by default. If you need to change that, do it here. */
  DmxSimple.usePin(jdi);

  /* DMX devices typically need to receive a complete set of channels
  ** even if you only need to adjust the first channel. You can
  ** easily change the number of channels sent here. If you don't
  ** do this, DmxSimple will set the maximum channel number to the
  ** highest channel you DmxSimple.write() to. */
  DmxSimple.maxChannel(5);
}

void loop() {
  int brightness;
  /* Simple loop to ramp up brightness */  
  for (brightness = 0; brightness <= 255; brightness++) {
    digitalWrite(lr, HIGH);
    /* Update DMX channel 1 to new brightness */
    //DmxSimple.write(1, brightness);
    DmxSimple.write(2, brightness);
    //DmxSimple.write(3, brightness);
    DmxSimple.write(4, 189);

    /* Small delay to slow down the ramping */
    delay(10);
    digitalWrite(lr, LOW);
  }

}


Vixen

 

 

We also suggest to use Vixen (www.vixenlights.com) to create sequences on a PC, synced with music, that are sent to Arduino over the serial port. The communication between Arduino and Vixen is managed by our sketch DMX_LightSequencing.

/*
The purpose of this code is to allow the Arduino to use the 
generic serial output of vixen lights to control 5 channels of LEDs. 
Author: Matthew Strange
Created: 14 October 2010
Modifier: Ben Towner
Modified: 19-OCT-2010
Changes: Addition of 20 Digital On/Off Channels - Setup for Arduino Mega 2560
Modified by Boris Landoni
open-electronics.org

*/

#include 

const int jrde =  2;
const int jdi  =  3;
const int jro  =  4;
const int lr   =  7;
const int ly   =  8;

#define DELAY    10

int i = 0;     // Loop counter
int incomingByte[25];   // array to store the 25 values from the serial port
int address=1;
int ch=16;
int k;

//setup the pins/ inputs & outputs
void setup()
{
  Serial.begin(9600);        // set up Serial at 9600 bps

  pinMode(jrde, OUTPUT);
  pinMode(jdi,  OUTPUT);
  pinMode(jro,  INPUT);
  pinMode(lr, OUTPUT);
  pinMode(ly, OUTPUT);

  digitalWrite(jrde, HIGH);

  /* The most common pin for DMX output is pin 3, which DmxSimple
  ** uses by default. If you need to change that, do it here. */
  DmxSimple.usePin(jdi);

  /* DMX devices typically need to receive a complete set of channels
  ** even if you only need to adjust the first channel. You can
  ** easily change the number of channels sent here. If you don't
  ** do this, DmxSimple will set the maximum channel number to the
  ** highest channel you DmxSimple.write() to. */
  DmxSimple.maxChannel(ch);

  for (k=0; k= ch) {
    // read the oldest byte in the serial buffer:
      for (k=0; k

Drawing Arm with Arduino


Can you imagine to build a robotic arm that can draw? Actually [acorv] realized a good prototype.

I wanted to build a drawing arm that could write. My first version wasn’t good enough, so I built this one. I used timing belts and pulleys to improve the resolution. Stepper motors are driven by a Motor Shield on top of an Arduino UNO. On the tip, a servo motor allows the pen to go up and down. For input, I used a touch pad.

A more detailed description can be found on the [website].

Arduino Blog 10 Dec 17:40
arduino  arm  draw  drawing arm  drawings  gallery  robot