You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
We are now carrying four exciting new sensors from Interlink Electronics:
- 0.25″-diameter circle, short tail force-sensing resistor (FSR)
- 0.6″-diameter circle, short tail FSR
- 1.4″ × 0.4″ force-sensing linear potentiometer (FSLP) strip
- 4.0″ × 0.4″ customizable-length FSLP strip
The two force-sensing resistors (or FSRs, for short) are short-tail versions of the small, circular FSRs we already carry, which allows them to be integrated into applications with tighter space constraints. These sensors act just like variable resistors that depend on the applied pressure, so you can put them into a simple voltage divider circuit and measure the force on them with a single analog-to-digital (ADC) microcontroller input.
|0.6″-diameter short-tail force sensing resistor (FSR) next to a 0.6″-diameter FSR with a standard tail.|
The two force-sensing linear potentiometers (or FSLPs) take the force-measuring functionality of FSRs and add in the ability to detect the location of the force, all while being an entirely passive component that is incredibly easy to use.
|The two force-sensing linear potentiometers (FSLPs).|
These FSLPs are exciting because they enable fun new touch interfaces, not only for you to interact with your project but for your project to interact with the world. We decided to make a quick demo for the Las Vegas Mini Maker Faire 2014 to show just how easy it was to do something cool with this sensor. The video at the top of this blog post shows the demo in action.
In the demo, a 4.0″×0.4″ FSLP is used with an Arduino Uno R3 to meassure the position and pressure of the user’s finger. (For applications where space is tight, smaller modules like our Arduino-compatible A-Star Micro can be directly substituted for the Uno.) Using the strip requires four connections to a microcontroller and one additional resistor. Two of the required connections must be analog inputs. Four connections for one sensor might seem like a lot to deal with, but step-by-step procedures in section 5 of the sensor’s integration guide (513k pdf) make it easy to get the sensor working, and the Arduino code used in this demo is available on github to help get you started. A diagram of the connections made between the sensor, Arduino, and LED strip in this demo are shown below.
The connections shown in the diagram also work with the shorter 1.4″×0.4″ FSLP (referred to as “standard FSLP” in the integration guide), though the pin numbers that correspond to each of the sensors outputs (SL, D1, and D2) are different for the two sizes of FSLP. The pin numbers for each FSLP can be seen in Figure 9 of the FSLP Integration Guide. In the guide the 4.0″×0.4″ FSLP is referred to as a “10 cm FSLP”.
Once the Arduino reads the position and pressure data from the sensor, it sends signals to a WS2812B addressable LED strip that control the number of LEDs that turn on and their color. The further along the strip your finger moves the greater the number of LEDs that light up, and the more pressure you apply the more the color of all the LEDs changes from blue to red.
To make the demo easy to transport and able to be left on all day, a 9V wall adapter was used to power the Arduino and 5V step-down regulator. The power connections from the regulator’s 5V output to the power input of the LED strip were also simplified by using a DC barrel jack to terminal block adapter and a DC barrel plug to terminal block adapter. The structure of the demo was laser cut from 1/8″ clear acrylic, and aluminum standoffs were used as spacers.
If you guys do something cool with our force-sensing linear potentiometers or resistors, we’d love to hear about it!
Level shifting is a common issue when interfacing multiple microcontrollers or other digital logic devices. For example, you cannot directly connect an Arduino running at 5 V to the Wixel, which runs at 3.3 V. Our Wixel Shield for Arduino contains several level-shifting circuits to help you do this.
In some cases, such as connecting a digital sensor output to your microcontroller, a simple voltage divider or transistor inverter might be good enough. However, in many cases a better solution is necessary. I²C, for example, is a common protocol that makes use of a bidirectional communication line. Luckily, a relatively simple circuit consisting of a MOSFET and two pull-up resistors can be used for general-purpose bidirectional level shifting:
|Schematic of a single bidirectional logical level shifter.|
We have used this level shifter circuit on many of our breakout boards operating at a lower voltage, such as the MinIMU-9. It works like this:
- When Lx, the lower-voltage input, is driven low, the MOSFET turns on and the zero passes through to Hx.
- When Hx, the higher-voltage input, is driven low, Lx is also driven low through the MOSFET’s body diode, at which point the MOSFET turns on.
- In all other cases, both Lx and Hx are pulled high to their respective logic supply voltages.
The circuit works for any pair of voltages (within the limitations of the MOSFET) and can be used with most common bidirectional and unidirectional digital interfaces, including I²C, SPI, and asynchronous TTL serial. You can read more about it in NXP’s application note on I²C bus level-shifting techniques.
Today we released a logic level shifter board featuring four of these bidirectional channels:
Our board can convert signals as low as 1.5 V to as high as 18 V and vice versa, so you can use it for almost any logic-level signals that you might encounter in your project. It is also, as far as we know, the smallest bidirectional logic level conversion board out there:
Note the use of a more internationally-appropriate size reference than our traditional U.S. quarter. After we put together this image, nobody believed that the board was actually that small, but we verified it several different ways to make sure.
Anyway, with this board’s small size, low cost, and versatility, we think it is something that everyone should have in their toolbox. For more information or to order, see the product page.
Get FREE copies of Circuit Cellar magazine’s May issue and Elektor magazine’s May issue with your order, while supplies last. To get your free issues, enter the coupon codes CIRCUIT0514 and ELEKTOR0514 into your shopping cart. The magazines will add 6 ounces and 7 ounces, respectively, to the package weight when calculating your shipping options.
Looking for a way to pump up your next project? Let the Muscle Sensor v3 from Advancer Technologies do the heavy lifting!
This small, easy-to-use, 1″ × 1″ board measures muscle activation via electric potential; this is referred to as electromyography (EMG). The sensor measures, filters, rectifies, and amplifies the electrical activity of a muscle; as the muscle flexes, the output voltage increases, resulting in a simple analog signal that can easily be read by any microcontroller with an analog-to-digital converter (ADC), such as our A-Star or an Arduino.
|Muscle Sensor v3 with included hardware.|
The engineers here were pretty excited to play with these when we got our first samples, as many of us hadn’t used anything like it before. While thinking of various ways to test the sensor, a few of us remembered this ridiculously awesome video of Terry Crews making music with his muscles. (Gets me every time! #MuscleEnvy.) Without getting ahead of ourselves, we decided to try something much quicker and more straightforward with some of our electronics.
In the demonstration video at the beginning of this post, you can see the muscle sensor in action as it measures the muscle activity of my bicep. The demo uses the muscle sensor with a Maestro servo controller to update the position of a hobby RC servo based on how hard I flex. The setup was very simple; the analog output signal from the muscle sensor is connected directly to channel 0 on the Maestro, and the two boards share a common ground. The muscle sensor is powered by two 1S LiPo batteries and the Maestro and servo (connected to channel 1) are powered from a separate 6 V battery pack.
|Here I am modeling with electrodes on my bicep for the Muscle Sensor v3.|
The Maestro script we used is very similar to the “Using an analog input to control servos” example script provided in the Maestro user’s guide with a couple of modifications. We changed the scaling of the input channel (since our signal was from 0 V to 3.7 V) as well as the channel numbers to match our setup. The whole script is only a few lines long:
# Sets servo 1 to a position based on the analog input of the Muscle Sensor v3. begin 0 get_position # get the value of the muscle sensor's signal connected to channel 0 6 times 4000 plus # scale it to roughly 4000-8092 (approximately 1-2 ms) 1 servo # set servo 1 accordingly repeat
We can’t wait to see all of the amazing things you come up with when you engage your brain (and your muscles) with this sensor!
Inevitably, if you work with electronics long enough, you will encounter a wire that is too long, too insulated, or too connected (to the wrong thing), and while you might be able to MacGyver your way out of the situation with a pair of scissors or a suitably hardy set of teeth, nothing beats a good wire stripper. With that in mind, we set off in search of some good, basic wire strippers that would get the job done well without breaking the bank. Our favorites were a set of multi-purpose wire strippers and cutters that feature comfortably curved and cushioned grips and a nose that can be used as pliers. One version works with 10 to 20 AWG wires and another works with 20 to 30 AWG wires. (The stripping holes are labeled with the gauge of solid-core wire for which they are intended; for stranded wire, use the next larger hole.)
We have expanded our selection of miniature tank tracks to include a variety of colors. The new tracks are identical in function to the black miniature track links, but now come in blue, red, and yellow. Track links of different colors can be combined to create fun and interesting patterns to give your robot some added character.
These miniature track links work great for small indoor robots, especially on carpet, and they are compatible with a variety of injection-molded sprocket sets such as:
- 8T Hex for use with Tamiya gearboxes
- 8T Futaba for use with continuous rotation servos with Futaba-compatible servo splines
- 8T GM for use with Solarbotics GM gearmotors and Pololu plastic gearmotors
Get a FREE copy of Circuit Cellar magazine’s April issue with your order while supplies last. To get your free issue, enter the coupon code CIRCUIT0414 into your shopping cart. The magazine will add 6 ounces to the package weight when calculating your shipping options.
For other issues and more information, see our Free Circuit Cellar Magazine Offers page. All issues are now available for shipping worldwide!
Get a FREE copy of Elektor magazine’s April issue with your order while supplies last. To get your free issue, enter the coupon code ELEKTOR0414 into your shopping cart. The magazine will add 7 ounces to the package weight when calculating your shipping options.
For other issues and more information, see our Free Elektor Magazine Offers page. All issues are now available for shipping worldwide!
Today we released a general-purpose AVR microcontroller breakout board, the A-Star 32U4 Micro. But before I get to the A-Star (A* for short), I would like to mention some of our history with AVR boards.
Some of our history with AVR boards
|Original Orangutan Robot Controller (back view) from 2004.|
It has been almost ten years since we introduced our Orangutan Robot Controller, which featured an AVR microcontroller, dual motor drivers, and user-friendly features like a display and buzzer. Over the years we expanded the line, making larger, more complicated Orangutans like the Orangutan SVP as well as the miniature Baby Orangutan.
I have used the Baby Orangutan in many of my own projects, because I like its simplicity and small size. Ironically, the built-in motor driver gets in the way when I want to use a newer motor driver such as the DRV8835 in a project, since valuable PWM pins are unavailable. So I have built my more recent robots using minimal microcontroller breakout boards without motor drivers, such as Arduinos and the Wixel. (I posted about my latest such project last week.)
Our focus has been on boards that include motor drivers, and we have not had a really simple microcontroller board for people who don’t want the motor driver. Even though there are far more powerful controllers available, 8-bit AVR microcontrollers continue to be popular in the community, and the basic AVR breakout board is something we have wanted to make for a long time.
|Original Baby Orangutan robot controller from 2005 (left) next to A-Star 32U4 Micro boards.|
Introducing the A-Star 32U4 Micro
That is why I am excited today to announce the A-Star 32U4 Micro, a Pololu breakout board for Atmel’s ATmega32U4 AVR microcontroller:
|A-Star 32U4 Micro pinout diagram.|
Compared to the popular ATmega328P microcontroller that we used on several Orangutan models, the ATmega32U4 is a newer processor with features like more analog inputs, more PWM outputs, and, most importantly, USB support. The USB connection, which we have broken out to a Micro-B connector, makes programming easy and enables interesting projects involving connections to a PC.
Also, since the ATmega32U4 is used on the Arduino Leonardo, Arduino Micro, and many other breakout boards, there is a large community with experience using the microcontroller. To support this community, we are shipping the A* with an Arduino-compatible bootloader and have followed Arduino conventions including pin numbering and LED connections.
Since we wanted to make a minimal breakout board, we decided to make it as small as we could, hoping that it would be small and cheap enough to go into (and stay in) almost any project. The result is that the A-Star 32U4 Micro is, as far as we know, the smallest ATmega32U4 breakout board available. It is even smaller than some AVR boards with less powerful microcontrollers that implement USB support in software and have only a few general-purpose I/O lines available.
|The Pololu A-Star 32U4 Micro is about half the size of an Arduino Micro.|
Now that we have reached a reasonable extreme on the minimal end, we intend to expand back toward more integrated features, eventually replacing our older Orangutan robot controllers with versions offering more modern power handling and perhaps other features like inertial measurement sensors. What would you like to see in an integrated robotics or automation controller? Did we leave out too much on the A-Star 32U4 Micro? Please let us know in the comment section.
For more information, see the A-Star 32U4 Micro product page.
These new 130-size motors are great for applications that require a lot of power in a small package. They are a generic alternative the Solarbotics RM2 motors, which have the same form factor and nearly identical performance. With a free-run speed of 17,000 RPM at 3 V, they are great for upgrading projects driven by lower-power 130-size motors. For example, see this post from last year about upgrading flywheel NERF guns. This motor is also compatible with our larger Pololu plastic gearmotors (228:1 offset, 120:1 offset, 200:1 90-degree, and 120:1 90-degree) and Solarbotics plastic gearmotors (GM2, GM3, GM8, and GM9).
For more information see the Brushed DC Motor: 130-Size, 3V, 17kRPM, 3.6A Stall product page.