I have been programming my 3π robot with AVR this whole time, but when I try to program my baby orangutan 328P the programmer’s red LED shines apparently making it known that my connection is not working.
What programmer are you using? Are you using Pololu’s USB AVR Programmer? Can you verify that you are powering your Baby Orangutan correctly? the AVR programmer does not supply power to the device. Also, can you verify that you are plugging in your programmer the correct way so that the pin-1 indicators on the board and connector are lined up?
I am using the “Orangutan USB Programmer” and the Baby Orangutan 328P is being powered by a dc power supply at 5.2V. The green LED is on, on the Baby Orangutan 328P, and I have tested the VCC to see if there was a voltage being produced and it is. However I did try to use the “Pololu USB AVR Programmer”, but it would not work either.
The Baby Orangutan does not enforce proper connection of the programmer’s ISP cable, so it’s possible you’re plugging it in wrong. It’s also possible you have a bad solder connection on the ISP header. Can you post a picture showing how you’re connecting the programmer to the Baby Orangutan? A close-up picture of the ISP header solder connections would also be helpful.
I reviewed your pictures and it looks like you are connecting the programmer IDC header backwards. You need to get the arrows (pin 1 indicators) on the connector and baby orangutan to line up.
Just to verify…the cable on the Baby Orangutan needs to be reversed??? Meaning the the cable, if it were pulled, would hang over the programmer? Like this???:
The cable doesn’t need to be reversed, you need to connect it differently. Your pictures are really unhelpful, so I’m not totally sure what you’re doing. Note that a small, clear picture like this would be much more useful:
Plug the cable into your programmer as you normally would when programming the 3pi. the other end of the cable must now be plugged into the Baby Orangutan properly. Can you see how there are two possible ways to plug it in? The correct way is to line pin 1 of the programming cable up with pin 1 on the Baby Orangutan’s ISP header. Pin 1 on the Baby Orangutan is marked by a small arrow on the PCB. Pin 1 on the cable is marked by a small raised triangle/caret (it is on the same side of the cable as the red wire, which connects to pin 1).
That’s how I had it originally…I guess I should have included that in the image.
If it still doesn’t work, there could be a problem with your solder joints.
omg!!! this is driving me crazy…I started over from scratch, looked up the correct pin arrangements, and downloaded CrossPack-AVR & the drivers all over again. My computer is finally recognizing the programmer again, I can compile programs, but when I try to download to my Baby Orangutan I keep getting a “timeout()_” repeatedly. Here are the images of the problem and my new connections…
I think starting over from scratch was not necessary and potentially counterproductive. You said that your programmer was working on your 3pi, which means you had your programmer set up correctly, and indicates the problem is with the Baby Orangutan. As a first step, can you verify that you can still use it to program your 3pi?
After that, can you please post a well-lit, in-focus picture of the solder connections on your ISP header (this will require pulling the Baby Orangutan out of the breadboard and turning it over). Note that I am trying to see if there are any problems with the solder joints, so blurry pictures will not be helpful.
By the way, when you plug your programmer into the Baby Orangutan properly, do you still see the red LED flashing as if there is a problem?
I gave up on trying to program it with the MAC computer. We were programming our 3π on a Windows computer. What I found was that the ISP did need to be lined up correctly, i.e. P1 to P1 (red colored line of cable indicating P1 and arrow on ISP). We then switched back to using the USB AVR Programmer instead, apparently the Orangutan USB Programmer is not compatible with a WINDOWS computer. I did go over my soldering and it my pin “GND” had too much solder on it so I could not power the baby orangutan correctly once it was soldered into the Expansion Kit.
Now, using the Windows computer, we can program the 3π Robot and the Baby Orangutan. I do still have questions though. Our course is a 4 room floor plan:
As you can see in the course there are yellow lines with intersections and walls. We now have our 3π following the lines and avoiding walls and obstacles. We are now however programming a counter to let us know which room we are in, but we are basing the turns off the QTR sensor readings at each intersection. We plan on adding more to the robot, BUT we want the baby orangutan to send it’s findings to the 3π(primitive serial communication). Could we possibly just set PD0 on the 3π as an input and have for example PD1 as an output on the baby orangutan that could interrupt the movement on the 3π? In addition we would like to purchase a sound module from Pololu that we can program as well, but would play different recorded sounds based on a line of bits sent from the baby orangutan? We are basically setting up the baby orangutan to control our overall robot (i.e. the brain).
Have you looked at the 3pi-serial-slave and 3pi-serial-master example programs in the AVR library? They might do exactly what you want.
Our audio category has various speakers that you could potentially use with the Baby Orangutan.
Thanks I will look into the example programs you listed, but I need to have a sound module that will play different recordings based on the input voltage or serial line of bits sent from the baby orangutan.
For example: if the baby orangutan outputs 0101 “recording 1” will play and for 0011 “recording 2” will be played.
Do you all have anything like this???
The serial slave program lets you command the 3pi to play notes using its buzzer, and the Pololu AVR library has buzzer routines that can be used to play notes using an external buzzer connected to the appropriate Baby Orangutan pin. I suggest you look at the OrangutanBuzzer portion of the Pololu AVR library and the buzzer-related sample programs.
If you want to play something fancier (I’m not sure exactly what you mean by “recordings”), then you will need to look into adding additional electronics to support such sound generation/playback.
ok… I need to play voice recordings. For example if the robot enters room 1, I want the sound module to play this “Room 1”. I understand there is programming involved, but I want to know if pololu sells any product that I can program to play a verbal recording based on what the input is(i.e. voltage or frequency).
Did you actually look at the audio category Paul linked in his previous post? This shows all the audio-related products we sell. We offer a voice recorder that might do what you want (I have no personal experience with it, however).
well I was looking at the “ISD1932 Voice Recorder Carrier”, and it seems as if it meets our requirements. I was going over the resources attached under the product, and it looks like we can save up to 32 different combinations of recordings. It is two sets of 4 bit combinations that can be applied. which would result in 0000 - 1111 in binary…but when would we know what bit value would represent which recording?