berkeman said:
Their the two lines used in I2C serial communication:
http://en.wikipedia.org/wiki/I2c
And the AVR (the actual microcontroller used on the Arduino) does have I2C, though it's called TWI on the AVRs. I don't know if it's brought out to a header on the Arduino board.
The Arduino is just an Atmel AVR microcontroller with a particular bootloader, stuck on a particular board with power and some other stuff on it, usually programmed in a sort of heavily customized C++ called Wiring, together with some libraries which heavily abstract the actual hardware. You may get going faster in the Arduino environment, but you won't learn nearly as much in doing so, and you'll be limited in what you can do by the capabilities of that environment.
That's the software. I've never seen much advantage to the hardware, either. There's a stupid hardware bug, a misaligned header that makes it impossible to plug the Arduino into a breadboard or standard perfboard, which has been carried over the stack-on "shields" and become a permanent feature. Aside from that, the Arduino is much more expensive than a bare AVR chip and doesn't have any notable features, other than the aforementioned shields. And you won't learn much by stacking on a shield and linking a library for it.
The same basic objections apply to the Parallax BASIC Stamp. It is really not harder to learn to do the things you can do in BASIC in C, and there's no shortage of howtos and getting-started guides. You just severely limit yourself, while spending time and energy on something that won't teach you as much and paying a premium for the hardware.
That said, I do strongly prefer the AVR over the PIC. It's a cleaner design, it supports the C language well, and there's decent free tools for it as well as a strong online community...look at
http://avrfreaks.net. I would suggest an ATmega32 or something (make sure to get it in the DIP package), a breadboard, and Atmel's AVRISP MkII programmer...it's cheap and well supported, but there's also guides out there on how to build parallel port or other programmers.
There's other microcontrollers out there, but many are only available in surface mount packages, or are harder to get tools and support for. I do suggest looking around to see what's available.