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.