Forum Replies Created
-
AuthorPosts
-
Windell OskayKeymaster
This is a good application for an unpolarized capacitor, such as a ceramic cap. No reason at all to use a polarized type.
Windell OskayKeymasterHi Kurt,
C6 is part of the “auto-reset” circuit along with R1. This is part of the “RC” circuit that resets the microcontroller to allow programming. Early generations of the Arduino did not have this, so required you to manually press the reset button to initiate programming.Windell OskayKeymasterHi Tina,
What board are you asking about?Windell OskayKeymasterNo, this is not the right supply. The Interactive LED Panels require 24 V DC, regulated. (And, I believe that we’ve already answered your query about this particular power supply via e-mail several months ago.)
Windell OskayKeymasterI have not come across this error, and I have not had any other reports of this error.
Do the other extensions work normally?Does the error occur only for a certain set of input SVG files?Do you have any issues with *released* versions of Inkscape? I have heard of other existing issues with 0.48.3, although none of them were eggbot related. What OS?November 28, 2012 at 3:19 am in reply to: Connecting 2 Peggy II boards and increasing the number of commands to execute.s #21013Windell OskayKeymasterFirst off, I’m not sure how much you need to expand, but you can actually get a fair number of extra LEDs with the hardware that you have. The Peggy 2 has 25 rows and columns on board, but the LED driver chips actually support 32 columns. The extra seven columns are broken out on the PCB as A0 – A6, by U5. So, if you have six rows, using these extra pins will get you 42 extra LEDs. The only downside is that you’ll have to modify the code to include those extra locations.
It is not possible to expand the program memory of the AVR microcontroller directly. While I suspect that it’s possible to use the code more efficiently– I’ve almost never filled up the full 32 kB! — I’ll try to suggest a few workarounds.– Use a larger AVR, for example the ATmega1284, which has 128 kB of program memory. This could be used as the “brain” of the Peggy, with some code changes. You could also use it as a “master” that sends serial commands to the two Peggy units over TWI (I2C).– Use a larger-AVR-based Arduino board, such as the Arduino Mega with the ATmega2560 processor– which has 256 kB of program space.– Use an off-board Arduino, with an appropriate shield, to read commands from an SD card and transmit them to the Peggy board(s) over TWI.– Store the commands on the computer, and stream them to the Peggy board(s) through a serial or TWI interface.Windell OskayKeymasterPlease see our wiki page on programming, for the “getting started” guide: http://wiki.evilmadscientist.com/Art_Controller_Firmware
Look for this part of the code, where the trigger is issued:if (PINB & 1) // Make sure that cancel pin is HIGH (not active):
{
resetTimer();
StopTime = calculateStopTime();
TurnCoilOn();
Triggered = 1;
CoilOn = 1;
}
What you will want to do is to add the three-second delay at this point, maybe like so:
if (PINB & 1) // Make sure that cancel pin is HIGH (not active):
{
resetTimer();
StopTime = 3;
while ( seconds() < StopTime)
{}
resetTimer();
StopTime = calculateStopTime();
TurnCoilOn();
Triggered = 1;
CoilOn = 1;
}
(Keep in mind that this is untested code, but it might point you in the right direction.)
Windell OskayKeymasterThen pick any high-gain PNP transistor that can handle the current that you need (say, 1 A), and has a very low saturation voltage.
Windell OskayKeymasterProcessing supports things like that– it is, after all, java based –but Arduino (and hence, Meggy Jr) do not.
You do not need to create separate variable names for each element of the array– I don’t see any case where that would be a good idea.To use exactly zero named Point variables, use something like this:struct Point myArray[3];
myArray[0] = (struct Point) {1,1};
myArray[1] = (struct Point) {4,5};
myArray[2] = (struct Point) {4,1};
Windell OskayKeymasterOne direct substitute is the STX790A. There are others that will work as well, but have a different pin order.
Windell OskayKeymasterIn what you’ve written above, it’s failing because you are trying to declare a new Point, but the two elements of new Point both need to be of type int, not of type Point.For the same reason, your line above marked “This works fine” actually should not work fine. (When I test it, it fails– like it should!)It looks like you want to instead declare an array of Points. To do so, you might declare and initialize the array as follows:struct Point myArray[] = { s1, s2 };Alternately, declare and then initialize the array like so:struct Point myArray[2];myArray[0] = s1;myArray[1] = s2;To change the values of the int values within a Point, you can use:s1.x = 4;s1.y = 5;After doing so, you can then the values in the array:myArray[1] = s1;Windell OskayKeymasterTry changing the speed; that or bad connections are the most likely cause of the issue.
Windell OskayKeymasterYup, that doesn’t look good. Are you using the ATmega164P? If so, it should read and detect that correctly. Try changing the -B 4 to a -B 1, to slow it down.
Windell OskayKeymasterAllow me to suggest that you use the makefile that we include with the source code.
The *only* thing that you should need to change is to remove the ‘#’ sign from in front of PROGRAMMER = usbtiny and add a ‘#’ sign in front of PROGRAMMER=avrispmkII.As you have it configured right now, it’s assuming that you do what to use an avrispmkii, and you have actually removed the USB port, which it does actually need. So revert, and just change which programmer line is commented out.Windell OskayKeymasterNo, not the first, not by a long shot. ;)
The standard way to create 3 V DC from 12 V DC is to use a linear voltage regulator, and that’s a pretty standard component. -
AuthorPosts