Pololu Blog » Posts tagged “community projects” »
Posts tagged “community projects” (Page 2)
You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
Popular tags: community projects new products raspberry pi arduino more…
Kinetic art installation using 24 Maestros to control 576 servos
This wall-mounted kinetic art installation by Alain Haerri redirects light from 576 independently actuated square panels. A flattened segment of an aluminum can, cut to the same square shape as the panel, decorates each actuator, and a small servo allows the decorated panel to pivot up or down. The servo’s positioning of the panel can alter how much light is reflected, effectively making that individual panel appear lighter or darker. Taken together, the array of panels produces an image with enough resolution and speed for delightful and mesmerizing visuals.
At the heart of the operation is an Arduino Mega, which, with the help of our Maestro Arduino library, communicates with 24 Mini Maestros (with 24 channels each) to orchestrate the movement of servos. The Mini Maestros are wired together and connected to a single software serial port on the Mega, which controls all the Maestros using the Pololu protocol at 200 kilobaud. Additionally, the installation has a built-in camera, which allows it to do things like mirror the movement of people standing in front of it, as this video shows:
You can find a write-up of Alain’s project on the Arduino Project Hub, where he also shares his code, a complete parts list, and a couple more videos of the table in motion.
Video of Caesar, the first-place rover of the 2019 Indian Rover Challenge
The first-place winner of the 2019 Indian Rover Challenge, Team Anveshak from IIT Madras, sent us a link that shows their rover in action! The video is their submission to the 2019 University Rover Challenge (URC) System Acceptance Review (SAR), which is a major qualification round for participating in the URC finals. Good luck with SAR qualifications, Team Anveshak!
We first blogged about Team Anveshak’s rover back in January. For more information on the rover and the competition, including pictures, check out that post!
Bigger 3D printed buttons for the Zumo 32U4
Mount Holyoke College professor Peter Klemperer designed a custom add-on for the Zumo 32U4 to give easier access to the user pushbuttons. Peter made the bigger buttons as a response to some of the students in his classes finding it difficult to use the small onboard pushbuttons.
The design even has small cutouts so you can still see the indicator LEDs. To add the adapter plate to the Zumo chassis, you can use two #2 screws and nuts (7/16 inch length screws worked great for me). The easy-to-print STL files along with the Fusion 360 files are available on Peter’s GitHub repository for the project, and you can find more information on Peter’s blog post on his website.
If you print your own bigger buttons for your Zumo 32U4 be sure to let him (and us!) know; we would love to see some pictures! Here’s a shot of the one I printed out for my personal Zumo 32U4:
Macro photography using Tic stepper motor controllers
Forum member Mike is using our Tic stepper motor controllers in his automated stack & stitch image acquisition systems, which he has been using to get extremely high resolution images of various integrated circuits. Each system uses linear rails and stepper motors to properly align the camera/lens and the object to be photographed. Two stepper motors position the subject and a third adjusts how close the camera is to the subject. A Tic T500 controls each stepper motor and each Tic connects to a USB port on a Raspberry Pi 3B or Raspberry Pi 3B+, which acts as the main computer. Afterward, Mike stacks the images with Zerene Stacker and stitches them together with Photoshop. Some of his image sessions capture as many as 6000 individual images that are used to produce a single 300 megapixel image!
Zooming in on a stack & stitch test image.
A close-up view of a stack & stitch test image.
You can find more information about Mike’s stack & stitch image acquisition systems (like what specific mechanical hardware he is using) in this forum post. Also, to see and/or download a set of high resolution pictures taken with those setups, follow this link.
Rover team from IIT Madras places first in Indian Rover Challenge
Congratulations to Team Anveshak from IIT Madras, who took first place at the 2019 Indian Rover Challenge! The IRC is a robotics and space exploration-based competition for college students. Participating teams design and build a Martian rover prototype and use that rover to compete in various tasks like obtaining soil samples, operating electrical racks, and picking up and delivering objects.
Team Anveshak’s winning rover, Caesar, uses 10 different Pololu products! We are especially excited to hear that their rover prominently features our newer G2 High-Power Motor Driver 24v13 and TB9051FTG motor drivers, using 9 of each of those boards.
We love seeing all the awesome things like this that people are doing with our products! For a more complete list of the Pololu parts used in Caesar, check out the related products listed below. If you want to learn more about the team, check out their website.
8 March 2019 Update: See a video of Caesar in action here.
Balboa controlled via cell phone over Bluetooth
Drew Wilkerson added a Robotis BT-410 Bluetooth-to-serial board to his Balboa Robot, which allows him to control that Balboa from a cell phone. You can watch the video above to see the Balboa being driven around as it balances. More information about this project, including the code running on Drew’s Balboa, can be found in his post on our forum.
Creepy eyes Halloween prop upgrade
There are only a couple days left in our Halloween sale! Visit the sale page for more information, and if you are in need of some inspiration, check out our Halloween-tagged blog posts for some sample projects, including this upgrade to my creepy eyes prop:
I finally got around to upgrading my creepy eyes Halloween prop. As shown above, I mounted the mask on a picture frame to make it more presentable. I also added some of our VL53L0X time-of-flight distance sensor carriers so that the eyes could follow people in front of the mask. I camouflaged the sensors behind the black layer of foam behind the mask. Below is an image showing how the sensors were hidden in the lower corners of the picture frame:
I also swapped the Maestro out for an A-Star 32U4 micro, so I could communicate with the sensors through I²C. Due to switching to the A-star micro, I added one of our small solderless breadboards to help distribute power and a servo Y splitter cable since both sub-micro servos can use the same signal. I also added a power switch and used some of our premium jumper wires to make connections. You can see all the electronics taped to the back of the picture frame in the picture below.
RC crawling skeleton
Our Halloween sale is still going strong! Visit the sale page for more information, and if you are in need of some inspiration, check out our Halloween-tagged blog posts for some sample projects, like this simple RC crawling skeleton that I made:
The setup for this project is pretty straightforward: a hobby RC transmitter sends signals through its receiver to a pair of Simple Motor Controllers, which each control a 37D mm gearmotor. The motors mount to a wooden base with a pair of L-brackets and connect to skeleton arms via universal aluminum mounting hubs and a short length of aluminum plating. The offset created by the aluminum plating causes the skeleton to move in a way that makes it look like it is slowly inching towards its next victim!
A 3S LiPo provides power to the system through a pair of XT60 connectors, and the RC connections are made through some spliced female-female premium jumper wires. A black T-shirt covers up the electronics and a pair of cardboard “shoulder pads” help ensure the tee does not get tangled up in the rotation of the arm-bones.
In practice, the crawling skeleton is more amusing than scary: it crawls really slowly and the sound of the motors turning is too industrial/mechanical to haunt anyone’s dreams. The sound is, however, loud enough to startle any unsuspecting friends!
SK9822 LED jack-o-lantern
To kick off our 2018 mini-series of spooky Halloween projects, I’ll go over how I fixed and modified my family’s broken light-up jack-o-lantern, but first I want to remind you that our Halloween sale is still going on. Visit the sale page for more information, and if you are in need of some inspiration, check out our Halloween-tagged blog posts for some sample projects. Now, on to the jack-o-lantern…
The lantern suffered from a couple of burnt out incandescent bulbs and an unreliable power switch. The switch had a poor mechanical connection somewhere, which meant that in addition to sliding it into the “on” position, the case had to be pressed/squeezed in just the right spot to connect power. I absolutely needed to replace the switch, but in addition, this was a good time to upgrade from a bland set of incandescent lights to a more customizable lighting solution by adding some individually addressable RGB LEDs.
I wanted to preserve the battery-powered functionality of the lantern, and since it is powered by 4 C batteries, it has a supply voltage that could be anywhere between about 4V and 6V. The SK9822 LED strips that I wanted to use run on 5V, so I would need some kind of regulator to power them, as well as a microcontroller to send them control signals. Fortunately, our A-Star Mini microcontrollers have onboard regulators that allow them to work with a wide operating range of voltages, and provide ample current that can be used for other devices in the system, like the SK9822. In particular, the A-Star Mini LV was a good fit for a system like this with a voltage that started above 5V and could drop below it as the batteries were drained. (That A-Star’s regulator can also provide about 1A of current!)
The A-Star mini LV and its connections.
Starting the upgrade was pretty straightforward: remove all of the old hardware (the mess of old rusty wiring, the incandescent bulbs, and the switch), and solder in the A-Star to the battery holder terminals. From there, I soldered in a rocker switch that was much more satisfying to flip on and off than the older nonworking slide switch. Finally, I soldered up the four connections to the LED strip.
The SK9822 LED strip segment taped to the outside of the plastic holder piece, as seen from the back of the jack-o-lantern.
The strip itself only used 4 LEDs, since the lantern illuminates well and I didn’t want to unnecessarily consume lots of power (especially because the lantern was battery powered). The 4 piece segment was cut from one of the low density 30 LEDs per meter strips. The lower density meant that the LEDs were spaced out farther apart, which was useful to spread the LEDs across the plastic tube on the inside of the lantern and more evenly distribute the light. Our LED strip library made it easy to get started programming!
Another benefit of this hardware upgrade is the ability to reprogram the lighting display to whatever I want. Also, since the LED strips use so few IO pins, the decoration is in a good state to add additional electronics (like a proximity sensor or MP3 trigger)!
PyTic - Python interface for Pololu Tic Stepper Motor Controllers
Customer Daniel Castelli of the Allen Institute has released a Python package for interfacing with our Tic Stepper Motor Controllers. Currently, he only supports 64-bit Windows, but the source code is available and should be straightforward to extend to other operating systems. Here is example code using PyTic to control a stepper motor:
import pytic from time import sleep # - Initialization ------------------------------------------- tic = pytic.PyTic() # Connect to first available Tic Device serial number over USB serial_nums = tic.list_connected_device_serial_numbers() tic.connect_to_serial_number(serial_nums) # Load configuration file and apply settings tic.settings.load_config('path\\to\\config.yml') tic.settings.apply() # - Motion Command Sequence ---------------------------------- # Zero current motor position tic.halt_and_set_position(0) # Energize Motor tic.energize() tic.exit_safe_start() # Move to listed positions positions = [1000, 2000, 3000, 0] for p in positions: tic.set_target_position(p) while tic.variables.current_position != tic.variables.target_position: sleep(0.1) # De-energize motor and get error status tic.enter_safe_start() tic.deenergize() print(tic.variables.error_status)
The code and documentation for this package are available on GitHub.