Questions on which Arduino?

I am confused a little (new to Arduino..visited it once..and am now re-visiting it again)..

I was looking at possible getting the Arduino Nana or USB..

and then found this:

Boarduino:
http://www.ladyada.net/make/boarduino/use.html

and the uSD breakout board:

to do some testing in my breadboard environment.

However, I see that the nano/usb version one posted only has 2 hardware interrupts.. (I was looking for at least 3)..

then I read the Arduino mega has 4 more hardware interrupts..

(but the price point make it not very usable for me)

Im confused and was hoping someone can clear this up for me.

1.) what are the difference between these Arduino 'models/names'?

Is it the extra hardware and layout of the PCB? or is the actual chip/firmware (options) different?

2.) Are there any other 'versions' that give more that 2 hardware interrupts?

3.) Is there a way to just get/use the Arduino chip that is on the "Mega' version for playing/use in a breadboard development?

This may seem a little 'off'...but reading other places about people who have explored the Arduino path..

they have stated/commented that they bought (whatever) model of Arduino to 'test with'..and once everythign was working correctly with that Arduino board and the rest of he stuff on the breadboard..

he designed a smaller PCB/unit that included everything on one board..and just flashed the Arduino code to anew chip to be used in that new set-up..

Is this the case?

and if so I could just get an Arduino based flash chip that has x amount of hardware interrupts available for me?

Thanks for all feedback/direction.

Are there any other 'versions' that give more that 2 hardware interrupts?

They all do. There are two interrupt pins that have their own vectors plus a pin change interrupt that can be attached to any of the pins. In effect each pin can have it's own interrupt routine.

Thanks for the reply.

And these are all HARDWARE based? So one doesnt havent do any kind of 'polling code' to keep checking the status of a pins or external device?

Almost every board I looked at for testing/development on..said 2 hardware interrupts only..

all but the MEGA version I guess..

I havent heard or read much about this: "pin change interrupt ' you talked about? Where can I read more on this?

thanks

Where can I read more on this?

The best place to research all the hardware interrupt capablities is the Amtel AVR datasheet for the specifc processor chip you have in mind. The two user interrupts (6 on the Mega board) have direct Arduino IDE core library software support via the attachInterrupt() and detachInterrupt() functions. To utilize the pin change interrupts for other pins requires you to write additional low level software support statements.

Lefty

ok..
I havent coded anything ever for Arduino, but I have read about the attachInterrupt(interrupt, function, mode) function before..

(I thought that was just software way to set the pin up to watch it in a polling manner)..

so to re-cap.. I can have as many HARDWARE interrupts as I want (are available on the BOARD)? any I/O pin not already in use for something else can be used as a hardware interrupts pin?

hardware interrupt = not having to have any 'code' constantly checking for the value/status on that pin?

if thats the case..

then I could just get the Arduino nano or usb (whatever it is).. to develop with on my breadboard? because I can set another pin to be used as a hardware interrupt pin...correct?

How easy is this done? you stated 'low-level' software support statements? are these done separate, outside of the code/sketch you upload to the chip?

I have been looking at this:

& this:

but maybe the boardruino is better? for breadboard development..that eventually will be moved to an all-in-one pcb?

so get the boardruino:
http://www.ladyada.net/make/boarduino/use.html

and this:

I plan on keeping my audio files and config files on the uSD card..in the end..

What is the different between the Digital I/O and the Analog I/O's

my overview/summary.

looking for a development platform that has at least 3 hardware interrupts
pwm 3-4 minimum, more preferred.

test my code out..make sure all hardware interrupts trigger a function..

make sure all other events & functions work correctly.. in my breadboard development set-up..

then when all is done.. I want to just take that arduino chip.. and pop it into a new PCB that had all the junk in the breadboard set-up..but all SMD and on-board on the PCB..

someone mentioned:
http://www.avrfreaks.net/

to flash your code to a new AVR chip..etc..etc.. (but dot much about it.)

can the boardruino or the nano do what I need?

is the difference between these and the Mega..just a crap-ton more of I/O's?

Thanks

is the difference between these and the Mega..just a crap-ton more of I/O's?

No, the Mega (mega1280 chip) also has crap-ton more memory, more timers, etc. Same speed, same basic instruction set.

You have asked a crap-ton of questions that would take a long time to answer completely and correctly. The real path to knowlege is the Atmel datasheets for each specific processor type. There is no real short cut for gaining the kind of specific knowlege you are asking for.

Links to a couple Atmel of datasheets:

Lefty

XL,

has at least 3 hardware interrupts pwm 3-4 minimum, more preferred

I have some similar 'wants'. Want one or two more HW Interrupts after Int0 and Int1. Am hoping 'pin change interrupt' will do the trick.

In investigating options, I came across Teensy++. Apparently it uses some of the Arduino tools, but is not a direct compatible... or at least is not supported in the same camp. I don't need its USB to PC capability for first project, but may use it for project-2. Regarding interrupts, seems it offers 'many'. Teensyduino - Add-on for Arduino IDE to use Teensy USB development board

Meanwhile, I'll stick with Duemilanove even if I have to MUX into pins 2 & 3.

And these are all HARDWARE based? So one doesnt havent do any kind of 'polling code' to keep checking the status of a pins or external device?

Quite correct.
In my project:-
http://www.thebox.myzen.co.uk/Hardware/Crazy_People.html
I used the pin change interrupt to interface three RFID readers and to gather the data from them. The code is available to download from the web page.

Thanks for the reply Mike..

I havent coded anything..ever uploaded a sketch to aboard...etc (still deciding what board to even get)

I guess I'll have to find out more about this:
pin change interrupt

and how it works?

I looked up the attachInterrupt() function.....

but it really didnt help me out much..

just seemed to explain HOW to use the function, and what parameters to pass into it

(ie: more about the function it calls)

I guess if your telling me I can have as many hardware interrupts as I want.....

the choice of boards really doesnt matter 'too much' for me in the end.

I guess I need to decide if I want a board with more a development platform built into it or what..or something more breadboard adaptable?

my end goal here, (and the other part of this post/question)
is about taking the chip itself and putting it on a PCB layout (with other components, led driver, sd card/holder..etc)

I guess I'll try and search here and google for tis term:

pin change interrupt

thanks

OK fine,
Have a look at this as well:-
http://www.arduino.cc/playground/Main/PcInt

the code says:-

Theory: all IO pins on Atmega168 are covered by Pin Change Interrupts.

  • The PCINT corresponding to the pin must be enabled and masked, and
  • an ISR routine provided. Since PCINTs are per port, not per pin, the ISR
  • must use some logic to actually implement a per-pin interrupt service.

xl97:

I havent coded anything..ever uploaded a sketch to aboard...etc (still deciding what board to even get)

Start out with the simplest board that has the most support (which would be the Duemilanove) and start experimenting. You won't know what you really want/need until you get some hands on experience. It's just like buying your first chainsaw.

Don

It's just like buying your first chainsaw.

Except that nobody ever cut their leg off with a Duemilanove...

don't tempt me

ok.. (back on topic)

Thanks for the link Mike..

Although I dont have any idea on how I would use that (yet)..

I'll break down and get whatever version, Duemilanove most likely,..

a break out board for uSD..and work form there I suppose.