Program run switch

Maby a switch defined by the bootloader will be able to control when the program is run and is not? When the switch it off the program dosent run but you can program it sith the ide. Therefore when testing if you have the arduino mounted and some servos set to run continuosly then when you try to program it, it dosent start moving, (trust me bad expieriences) my temporary solution was to use a seporate servo power supply and wire it to a switch. But that wont work for everything.

I'm sorry, I'm not quite sure I understand. How will the effect of this differ from just making the main loop wait for a button press to get started?

Because the design will be on the pcb... Without having to solder it, personal expierience, such as a robot that im programming (that i built) i forgot a switch and had to hold it up in the air while progrAmming it
the freeduino from sparjfun has a power swutch...

Arduino's are designed for prototyping.

The Arduino team had intended that you prototype your design on the Arduino board, then when it's ready to go move the IC to a more permanent application board. This would presumably have an on/off switch.

you don't get it....

for prototyping it is way easier to have something built in.
you probably haven't experienced it to the fullest...
i need to wait till someone who knows what im talking about to reply
sorry :frowning:

Well, when making a prototype board such as the Arduino.. you gotta realize they're thinking more of a "general" population when they implement pins, buttons.. etc..

Doesn't seem like what you're trying to explain would have a whole lot of uses.. but then again, it's not very clear what you're explaining!

From the sounds of it.. couldn't this all be done on the Software side?

Only running the program after a button is pushed.. then another button push to turn it off?

I'm sorry if this isn't the right idea.. just confused on what you're explaining:D

Yes exactly except in a switch, the only change im suggesting is that a smd or dip switch be mounted on the side (can access it with shield on) connected to ground with pulldown resistor 5v and a io pin.

you don't get it....

for prototyping it is way easier to have something built in.
you probably haven't experienced it to the fullest...
i need to wait till someone who knows what im talking about to reply
sorry

Way to get added to my "do not help list"!

You can't have a "one-design-fits-all" as a prototyping board - it's not practical cost-wise or size-wise. Compromises are always made.

Actually a built in push-button might not be a bad idea. After all, we have a built in LED on pin 13 for output, why not a built in button on pin 12 for input? It would mean people could run something a little more interesting than Blink without any external hardware at all.

Andrew

If your just connecting directly to the pins its usefull to have a switch, for running the program, or somthing else. EVEN THE SPARKFUN PROTOSHIELD HAS ONE

Couldn't this be accomplished by changing the bootloader and avrdude? You could add a "do not run after download" flag to the download data stream sent by avrdude and received by the bootloader.

-Mike

All im suggesting is a swith and pull down resisor be added to pin **.
you do the code...

Which IO pin do you want to give up so that you can have this switch instead?

I think the original Arduino design made a decent compromise between being general purpose while self sufficient at the same time. Sure an extra push button would have been useful for some but it didn't make the cut.

The pin 13 LED is very useful to tell if the board is functional by uploading a blink sketch without having to wire anything else up. So it's a quick checkout for the initial IDE installation and set-up (board and comm# selection correct) for someone just starting out.

Keep in mind the ease of adding either a store bought or DIY proto-shield that can contain any 'extra' component items you want.

Lefty

a decent compromise

Indeed. I've been playing with freescale's Tower eval setup for their MCF51CN128. Trying to design a PCB "intermediate" board to connect it to arduino shields, in fact. Despite the fact that this is an 80pin chip, it's been really depressing how many of the "obvious" pins are already "used up" by the demo stuff included on he eval board. (The Tower Board/setup has a lot of peripherals built in. Sorta the opposite extreme from arduino.
switches, LEDs, ethernet, switches, accelerometer, potentiometer...)
The Atmel "butterfly" has similar problem...

Sorta the opposite extreme from arduino.
switches, LEDs, ethernet, switches, accelerometer, potentiometer...)
The Atmel "butterfly" has similar problem...

Back to top

Interesting. I always thought that a board designer would be doing a great favor for us end users if all the on-board stuff had a way to be disconnected or isolated from the micro's I/O pins, so that all I/O pins could be 'taken over' and used by the end user via connector strips or sockets. This could easily be done with jumpers or dip switches, but would take up a lot of space I guess.

Lefty

Well that is the difference between a development board and a demo/evaluation board.
The development board should be minimal on its peripherals to allow for easily hooking whatever everyone needs to work on his code.
The evaluation boards should have most the peripherals that they can fit on its board, so that users can try how the environment works with them.
But that is completely different than having a small button hooked up on a pin.

I think that a general purpose button on lets say pin 12 would be very useful for fast prototyping and really easy to implement on the same pcbs. In fact, it can be easily designed to be easily ignored by making the pin available on the headers.
A normally off button is electrically neutral when not pressed, so if you don t need it, you can always hook whatever you want on its header outlet and just ignore it.

We can always do it on our own anyway, but we could do it with the led as well, even without having to sacrifice pin 13 for good.
Plus with the button, we won t be sacrificing anything besides some space on the pcbs, as I explained above.

YES the last post is a person who "gets" what im talking about!
Just for fast prototyping and, if your like me, general projects.

If you think theres a market, get some boards knocked up in China and sell 'em. Call it the "Aklemduino". Or make one on a piece of stripboard with a switch on pin 12.

You're still going to be stuck with prototyping on a breadboard, because there isn't that much you can do with a single switch and a LED. Ooh look, the light flashes faster when I press the button........

The lack of a switch and an extra jumper wire on the bread board isn't going to save much time or effort

I'm in the 'decent compromise' camp :wink:

hm, a general purpose button on one of the pins would be interestering yet totally useless in my opinion.
It is useful as long as one is doing breadboard prototyping, but it become overfluent the moment one sees that adding a button to the breadboard works fine as well, especially as it as a nicer size and is better to push. (Buttons small enough to fit the current form factor ara a PITA in my opinion).
Once you move from Breadboard to prototype board (protoshield.. whatever) you will have to miss that one anyway as it is obscured by the platine - so you would have again to go for it yourself.

Now with a button to start or stop a program you would have to change the bootloader (which would render it perhaps incompatible to ALL other Arduinos arround) or would have to build a software change into setup() or main() - which is completely the same as putting one's own button on the breadboard. So where would one gain anything by it?