Video: Interrupts on the ATmega328p

This week, we are bringing you the final video in our series where [Jack] uses the 3pi robot as a fancy development board for the ATmega328p processor. Today’s video deals with interrupts. If you have been wanting to have your programs do more than one thing simultaneously, interrupts are the solution. [Jack] discusses various ways that you can use interrupts in your programs and then shows how he created a interrupt routine that drives the 3pi’s beeper. He also shows the routines that enable, disable, and control the interrupt.

Since this is the last post for this series of videos, we are posting the code used for all of the previous videos. Click here to grab a copy.

For our next series of videos, we are going to attempt something more challenging so most likely we will be taking a couple of weeks off to do some development before presenting it here. Stay tuned folks, we’ll be back.

Video is after the break…

In case you missed any of the previous videos, check out these links:

Part 1: Setting up the development environment
Part 2: Basic I/O
Part 3: Pulse Width Modulation
Part 4: Analog to Digital conversion
Part 5: Working with the 3pi’s line sensors

[Read more...]

There’s a lot packed into this BeagleBoard controlled rover

That black box is hiding all kinds of goodies that make this rover a hacking playground. [Andrey] built the device around a BeagleBoard, which offers the processing power and modules that he needed to make the rest of it work.

The control unit shrinks the pilot down to the rover’s size, using a cockpit that has a steering wheel and other controls, and a monitor playing the stream from the camera on the front of the bot. It has a WiFi adapter which allows control via the Internet. The camera, which can be rotated thanks to its servo mounting, feeds the video to the BeagleBoard where it is compressed using the h264 codec (more about that and the cockpit here) to lighten the streaming load. You’ll also find an ultrasonic rangefinder on the front for obstacle avoidance, and a magnetic compass for orientation information. Finally, a GPS bolsters that data, allowing you to plot your adventures on the map.

It’s great, but it will cost you. Material estimates are North of five hundred Euros!

Big Head costume would make Max Headroom jealous


[Dan Rosenfeld] does a lot of thinking in his spare time, and one thing he returns to pretty often is videoconferencing. He’s often wondered why it hasn’t caught on enough to become a ubiquitous piece of technology, and his examination of the topic in regards to eye contact and spatial awareness inspired him to create a very unique Halloween costume.

His “Big Head” costume consists of a front-mounted 24” LCD panel that displays the wearer’s face in real time. Inside the large headpiece [Dan] installed a microphone, another LCD screen, a half silvered mirror, and a video camera – not to mention all of the power-related goodies required to keep it running. While the main LCD displays his face, the internal monitor is fed by an externally mounted camera that shows him everything going on outside the box. This image is reflected off the half silvered mirror, allowing him to gaze directly at the camera, while also seeing what’s going on in front of him.

As you can see in the video below, the effect is pretty cool, and devoid of the ‘disconnected’ look most people have when talking to others via a camera and computer screen.

[Read more...]

Video: Analog to Digital Conversion on the ATmega328p

In this week’s video, we continue on where we left off last week with another in our series of videos where we discuss how to program for the ATmega328p processor. This week, [Jack] takes a look at the analog to digital converter and takes us through how to set things up and then how to perform a conversion using the potentiometer on the 3pi as the analog source. Playing with potentiometers isn’t the most interesting thing in the world, but after watching this video, you will be able to do things like take light readings using a cadmium sulfide cell, read the weight applied to a sensor, calculate the temperature from a resistor and a thermistor, or interface with an analog gyroscope.

If you have missed our previous videos, here are some links:
Part 1: Setting up the development environment
Part 2: Basic I/O
Part 3: Pulse Width Modulation

Stay tuned for next week’s* video where we will take a look at how to interface with the 3pi’s line sensors.

Video is after the break…

* HAD is in the process of moving our secret headquarters so next week’s video may come some time later than next week.

[Read more...]

Video: performing I/O with the ATmega328p

Today we continue on with part 2 of our series where [Jack] shows how to program for the ATmega328p processor using the Pololu 3pi robot. In this video, he starts to dig deeper than last week’s video by showing you how to program in C so that you are directly reading inputs and directly sending data to outputs. Specifically, this video shows how to set up your I/O pins and then how to interface with LEDs, buttons, and a beeper.

There were a few comments on last week’s video about not wanting to buy a 3pi robot to learn on. That’s fine. For this series there really is no reason that you need to use the 3pi robot. We picked it because it is a great device to learn about the ATmega processors since it has so many things that you can play around with to get your feet wet but there really is no reason that you couldn’t wire up a DIP version on a perfboard and still follow along with these videos. In fact, if you have a good writeup about the cheapest possible way to get started with the ATmega series of processors, we’d love to hear about it.

Looking for part 1 of this series? [Click Here]

Video is after the break.
[Read more...]

Video: Learning to program for the ATmega328p Part I

Many of you are familiar with the Arduino. Many of you hate it…* This post isn’t about the Arduino. It is about the processor that is at the heart of many Arduino boards. If you are in the camp of people who can’t understand why others dislike the Arduino so much, this series is for you. In this series of videos, [Jack] will explore how to program for the ATmega328p processor using C. If you have been programming for the Arduino, you may have had some issues with the speed of your code at points. Programming in C will allow you to wring out nearly the last ounce of processing power that the ATmega processors can provide. It will also let you access the peripherals on the processor directly and to switch between different processors when you need more (or less) capabilities.

In this first video, [Jack] shows you all of the features of the 3pi robot, which he will be using as a fancy development board for the ATmega328p. He then shows you how to get your development environment set up and then walks you through one of the sample programs provided for the 3pi robot.

*Here at Hackaday, we are officially neutral in the ongoing Arduino love/hate war. We don’t care what microcontroller is used in the hacks that we show, only that they are cool.

Video is after the break!
[Read more...]

Video: Soldering our PIC development board

For those of you who followed along with our Eagle CAD series, here is the final payoff where we assemble the circuit board that was designed. In this video, [Jack] explains where things will go on the board and then shows you how to solder the parts. For the advanced folks out there who haven’t moved to solely surface mount parts when you can get away with it, he shows an easy way to solder the processor, which is a TQFP-44 part. This can seem like a daunting task but it really isn’t.

If you would like to make your own board like this, you can find the files here. Please note that although this board shouldn’t have any issues, we haven’t tested it ourselves yet. [Jack] is going to do some videos about a different topic for a few weeks but will pick back up with this board again when they are done.

Video is after the break. [Read more...]