Tag Archives: Wikipedia

Driving a rotary stewart platform


A Stewart platform is a type of parallel robot that incorporates 6 prismatic actuators, typically hydraulic jacks. According to Wikipedia, the actuators are mounted in pairs to the mechanism’s base, crossing over to three mounting points on a top plate.

Meaning, devices placed on the top plate are granted 6 degrees of freedom in which it is possible for a freely-suspended body to move. These are the three linear movements x, y, z (lateral, longitudinal and vertical) – and the three rotations pitch, roll, & yaw.

Recently, a Maker by the name of ThomasKNR debuted a rotary stewart platform controlled by an Atmel-based Arduino Uno board (ATmega328 MCU).

The project – which can be found on Instructables – is designed to accommodate a DSLR as well as other digital cameras.

“This version of Stewart Platform use ordinary hobbyist servos instead of linear actuators for motion,” ThomasKNR explained.

“The whole platform is controlled by an Arduino Uno, [which] computes all necessary equations to get the platform into right position and also controls servos.”

Key platform features include:

  • 

Supports loads up to 2kg.
  • 
Low power consumption (around 5W).
  • Capable of precise movements (within approximately 1mm).
  • Can repeatedly achieve the same positions.
  • Stable – even with a heavy load.

All told, ThomasKNR says the total BoM for his rotary stewart platform likely equals around $150 and includes a base PCB, acrylic, an IrDA unit, cables, servo arms, spacer screws and an LCD with I2C interface.

So, how does it work? Well, according to ThomasKNR: “The controlling platform uses inverse kinematics. We know the position of the base and the desired position of platform – calculating the necessary rotation of servos.”

Interested in learning more? You can check out the project’s official Instructables page here.

Arduino takes on Simon – and wins!

Simon is an old school electronic game of memory skill invented by Ralph H. Baer and Howard J. Morrison, with software programming by Lenny Cope.

Image Credit: Wikipedia

According to Wikipedia, the majority of the Assembly language for the game was written by Dr. Charles Kapps, who taught computer science at Temple University.

Recently, a Maker named Ben North and his 7-year-old daughter designed a Simon-playing robot that is capable of beating the classic game.

As HackADay’s Brian Benchoff reports, North uses a key chain version of the game that is much smaller and easier to work with in terms of automatically sensing lights and pushing buttons.

“The arms are made from LEGO bricks, held up with rubber bands and actuated with two servos mounted on a polycarbonate cutting board,” he explained.

“To detect Simon’s lights, Ben connected four phototransistors to an Arduino Duemilanove (Atmel ATmega328 MCU). The Arduino records the pattern of lights on the Simon and activates the Lego arms in response to that pattern.”

As North notes, the Simon-playing robot, while fully functional, does have a number of limitations.

“This is not an industrial-strength robot. It’s quite fussy about ambient light, even with the calibration. This explains the slightly grainy videos, as they had to be shot without proper lighting,” he added.

“Once or twice, the finger-pulling elastic bands slipped, meaning a finger didn’t completely press its button and the game was lost. Also, I think the robot would have been better with some flashing lights.”

We think the robot is impressive, nevertheless!

Interested in learning more about the Simon-playing robot? You can check out the project’s official page here.

Celebrating Tetris with Arduino



Did you know that Tetris turned 30 today?

Image Credit: Wikipedia

Programmed by Alexey Pajitnov, the game was released on June 6, 1984 while he was working for the Dorodnicyn Computing Centre of the Academy of Science of the USSR in Moscow.

According to Wikipedia, the wildly popular Tetris derived its name from the Greek numerical prefix tetra (all of the game’s pieces contain four segments) and tennis, Pajitnov’s favorite sport.

Image Credit: Wikipedia

The game (or one of its many variants) is available for nearly every video game console and computer operating system, as well as on devices such as graphing calculators, mobile phones, portable media players and PDAs.

Recently, the folks at jolliFactory designed an Arduino-based, bi-color LED Matrix Tetris game, just in time for the title’s 30th birthday.

The game – which surfaced on Instructables earlier this week – is built around two of jolliFactory’s bi-color LED Matrix Driver Module, a platform that allows Makers to easily daisy-chain multiple components.

“Just for fun, we thought we could build a simple Tetris game by daisy-chaining two of the bi-color LED Matrix Driver modules together driven by an Arduino Nano (Atmel ATmega328 MCU) simply by adapting similar projects found at Instructables… We expanded our search to other online sites and managed to find some information which we adapted to build a simple Arduino based bi-color LED matrix Tetris game,” a jolliFactory rep explained.

“As this project is simply built for the FUN factor with no intention of using it for long, we did not pay too much attention to build a proper enclosure. However, the enclosure should enable the player to hand-held the gadget to play quite comfortably. What we have for the enclosure is a cardboard box backing with a blue tinted acrylic protective front with the game control push button switches mounted.”

Interested in learning more? You can check out the project’s official Instructables page here.

Designing an Arduino-based programmable load

A programmable load is defined as a type of test equipment or instrument tasked with emulating DC or AC resistance loads normally required to perform functional tests of batteries, power supplies or solar cells.

According to Wikipedia, the platform allows tests such as load regulation, battery discharge curve measurement and transient tests to be fully automated – while load changes for these tests can be made without introducing switching transient that might alter the measurement or operation of the power source under test.

Recently, a Maker by the name of Jasper designed an Arduino-based programmable electric load using an Atmel-powered Nano (ATmega328 MCU).

“The load can be programmed, and the voltage and current are measured. You can set a constant current (CC), a constant power (CP), or a constant resistance (CR) load by simply typing it in to the Arduino Serial Monitor,” Jasper explained in a detailed blog post.

“The circuit is designed for up to 30V, 5A, and 15W. An opamp, a mosfet, and a small sense resistor form the constant current circuit. The current is set using a DAC. Two other opamps measure the power supply voltage and the current. The circuit is powered from the Arduino USB voltage.”

Aside from the Atmel-based Arduino Nano, key project components include:

  • Custom designed PCB ($23)
  • 2x 15pins 0.1″ pitch female header connectors ($2)
  • AD8608 Rail-to-rail opamps ($3)
  • MCP4725 DAC ($3)
  • IRLZ44Z N-channel MOSFET ($2)
  • SK 129 38mm Heat sink ($1)
  • 0603 resistors and capacitors ($2)
  • Screw terminal ($1)

“I chose to use an Arduino Nano board because it is small, cheap, easily interchangeable, it has a power supply that can be used to supply other circuits, and it can easily be programmed with the Arduino IDE,” Jasper continued.

“The Arduino is placed on female header connectors on the board. I chose to use the same DAC as on Adafruit and Sparkfun DAC breakout boards. The DAC can be supplied from 5V and the the output voltage is rail-to-rail. A description for using the MCP4725 DAC and library with Arduino can be found here on the Adafruit website. The DAC connects to the Arduino using I2C.”

On the software side, Jasper uses the the Arduino Serial Monitor to set the mode and value.

“For example, you can type ‘cc100’ to set a 100mA current, ‘cp1000’ to set a 1000mW power, and ‘cr100’ to set a 100 Ohm resistance. In overload condition, when the nominal power supply voltage drops, the CC circuit tries to maintain the current. This leads to an even further voltage drop and finally in a short circuit. In CP mode, the Arduino measures the voltage and adjusts the current so that the power remains constant,” he added.

“This is handy for testing power supplies designed to deliver a constant power. In CR mode, the Arduino measures the voltage and adjusts the current so that the resistance remains constant. This is handy if you want to simulate a resistor connected to the power supply – especially if you don’t have a box of power resistors of all kinds of values.”

Interested in learning more? You can check out Jasper’s Electric Load here.

Atmel celebrates Geek Pride Day



Celebrated annually on 25 May, Geek Pride Day (Spanish: Día del orgullo friki) is a global initiative to promote all things geek.

According to Wikipedia, GPD originated in Spain as “Día del Orgullo Friki,” ultimately spreading around the world via the Internet.

The date was chosen as to commemorate the 1977 release of Star Wars, although it famously shares the same date as two other similar fan holidays: Towel Day, (The Hitchhiker’s Guide to the Galaxy trilogy by Douglas Adams) and the Glorious 25th of May (Terry Pratchett’s Discworld).

To mark this glorious occasion, we @ Atmel have created a rather nifty infographic. So, check it out above!

And if you like our creation, please feel free to post it, or send your geek love out to the universe with the hashtag #AtmelGeekPride. Because no one <3’s geeks the way we do!

Simple soldering – Arduino PID control

A proportional-integral-derivative controller (PID controller) is a control loop feedback mechanism (controller) widely used in industrial control systems. 

According to Wikipedia, a PID controller calculates an error value as the difference between a measured process variable and a desired setpoint.

Essentially, the controller attempts to minimize the error by adjusting the process through use of a manipulated variable.

Recently, a DangerousPrototypes forum member by the name of carlazar designed a simple soldering iron driver (SSID) with Arduino Uno (Atmel ATmega328 MCU) PID control.

Key features include:

  • Minimal number of components.
  • Additional control mode – on-off controller (+ PID PWM).
  • External power supply.
  • Fits into a 90mm x 110mm x 45mm (WxDxH) box.
  • Easy assembly.

“The HQ soldering iron HQ20/HQ30 (24V, 48W) was used [for this project],” carlazar wrote in a recent DangerousPrototypes post.

“It has the E-type thermocouple built in (68uV/degC) but you can change that value in software according to the soldering iron that is used (for example K-type is 41uV/degC).”

In terms of actual use, the SSID features:

  • UP and DOWN buttons, changes set-point temperature by 5 degC.
  • Button SET cycle through set-point temperature presets: 0 – 150 – 280 320 -350 degC.
  • Buttons UP and DOWN simultaneously, change the operating controller mode (PID control/on/off control).

Interested in learning more? You can check out carlazar’s original Dangerous Prototype page here.

Old school gyroscope stabilizes two-wheeler



A gyroscope is a device for measuring or maintaining orientation, based on the principles of angular momentum. According to Wikipedia, mechanical gyroscopes typically comprise a spinning wheel or disc in which the axle is free to assume any orientation.

Although MEMS-based gyroscopes are obviously readily available these days, a Maker by the name of Jim decided to keep things old school for his classic gyro-stabilized two wheeler.

As HackADay’s Adam Fabio reports, Jim cycled through a total of five project iterations in recent months.

“Along the way he’s learned a few important secrets about mechanical gyro design, such as balancing the motor and gyro assembly to be just a bit top-heavy,” Fabio explained.

“[His] gyro is a stack of CDs directly mounted to the shaft of a brushed speed400 R/C airplane motor. The motor spins the CDs up at breakneck speed – literally. Jim mentions that they’ve exploded during some of his early experiments.”

As expected, the gyroscope can move in the fore-aft direction, with side-to-side balancing facilitated by curved tread wheels. Meanwhile, a potentiometer measures the tilt angle of the gyro, as the voltage from the pot is fed into an [Atmel-based] Arduino Uno (ATmega328 MCU) tasked with closing the loop by moving a servo mounted counterweight.

The vehicle is controlled via a typical R/C plane radio, with a servo steering the front wheel and another DC motor pulling rear wheel duty.

“Not only is [Jim’s] creation able to balance on its own, it can even make a U-Turn within a hallway,” Fabio added.

Interested in learning more? You can check out the project’s official page here.

Reading paper ticker tapes with an Arduino



Ticker tape – in use from 1870-1970 – was the earliest digital electronic communications medium, transmitting stock price information over telegraph lines.

According to Wikipedia, it consisted of a paper strip that ran through a machine called a stock ticker, which printed abbreviated company names as alphabetic symbols followed by numeric stock transaction price and volume information.

Recently, a Maker named NeXT decided to design a custom PCB from scratch to facilitate the easy reading of paper ticker tape. As HackADay’s James Hobson notes, it is somewhat difficult to buy a working paper tape reader at a reasonable price.

“What we love about this hack is its clever reuse of perfboard — it just so happens that the spacing of his paper tape holes line up perfectly with the holes in the perfboard. Don’t you love it when engineers work together with nice, even, standard units?” Hobson writes.

“After discovering this it was just a matter of adding some photo-transistors on one side of the perfboard sandwich and LEDs on the other side. A bit of soldering, some Schmitt triggers, and an Arduino Pro Mini [Atmel ATmega168 MCU] later… and bam you have a serial output of data.”

According to NeXT, the the output can be fixed to any specific baud rate, although it is currently set at a cool 9600.

“That’s enough that I won’t overflow the serial channel, nor will it be painfully slow. It’s possible that I can change the baud rate with a jumper but I’ve yet to learn how exactly that would be programmed so we’ll leave that for another day. When I want to reprogram it the same four pin header that powers it and connects it to the host also holds an Rx pin so I can talk to it,” he says.

“In the end I decided while this makes a very nice and portable reader I decided the best home would be in my DEC LA-120 hard copy terminal. It has an option knockout on one side and you could easily build it into the overall terminal by taking the Tx line from the reader and tapping into the TxD line on the terminal’s serial port. That way so long as you were in 9600 baud mode if you wanted to read in a paper tape you threaded it through the optic block, set the computer to capture through the serial port and then pulled the tape through.”

Interested in learning more? You can check out the project’s official page here.

The Stargate-Arduino (Chappa’ai) connection

A Stargate is a portal device within the fictional SG universe that facilitates practical, rapid travel between two distant locations.

According to Wikipedia, the devices first appear in the 1994 Roland Emmerich film Stargate – and subsequently in the television series Stargate SG-1 Stargate Atlantis and Stargate Universe. 

The stargates – created millions of years ago by an alien civilization known as the Ancients – typically measures 4.6 m (15 ft) in diameter and weighs in at 29 metric tons (64,000 pounds).

Since a “proper” sized stargate may be a little too big for the average living room, den or basement, a Maker by the name of Shlonkin is working to create a smaller replica, (19cm in diameter), complete with a dialing computer.

“It will move and light up just like the version in SG-1. When a proper address is dialed, a connection will be opened up via the Internet to a corresponding device or computer,” Shlonkin explained in a recent HackADay blog post.

“Exactly what will be transmitted has not yet been decided. The hardware/Internet interface will be via [an Atmel-based] Arduino Uno (ATmega328 MCU). One team member, myself, will design and build the physical device. Another member, Dkopta, will create the software.”

Aside from the Atmel-based Uno, key project components include:

  • Two 1.2mm polypropylene sheet
  • Two 3mm polypropylene cutting board
  • One wireless 10-key (IR)
  • One stepper motor
  • One SN754410 H-Bridge for the motor
  • 7 red SMD LEDs and 1k resistors
  • One plastic food container
  • Assorted paints

“I will definitely post all the build details, but not until I make a little more progress. The parts are made with hand tools. I’ll probably use some thin(5mm) HDPE boards that are really easy to carve. I’ve never done anything this detailed with HDPE, so it will be a learning experience,” he added.

“We will go as far as we can get before the end of the contest. I would love it if the top chevron moved like in SG-1, but since it is so small(about 2cm) I don’t know if I will be able to pull it off, [but] I’ll think [about] it.”

Interested in learning more? You can check out the project’s official HackADay page here.

Video: Playing ping-pong the Arduino way

Table tennis or ping-pong is a sport in which two or four players hit a lightweight ball back and forth using a table tennis racket. 

According to Wikipedia, the game originated in England during the 1880s, where it was first played among the upper-class as an after-dinner parlour game.

Ping-pong is probably the most enjoyable when played against a live opponent. However, an automated ping-pong platform is definitely a good choice for those looking to hone their skills with repetitive practice.

Take Alexander Sorokin, for example. A computer science major, Sorokin recently designed and built an automatic ping-pong ball machine prototype using an Atmel-based Arduino board and a number of VEX Robotics Design System components.

According to Makezine’s Sean Michael Ragan, the automated ping-pong platform features a ball bin, hopper and dual friction-wheel design.

It should be noted that Sorokin has also developed a special chess timer for the popular four-handed, two-board Bughouse variant.

Interested in learning more about Sorokin’s various projects, Arduino or otherwise? You can check out his official GitHub page here.