Acidmods
AcidMods Resources ----- ( These are helpful tools for modding ) => Electronics Projects => Topic started by: taylorclark on March 19, 2009, 10:52:56 AM
-
I got an arduino duemilanove a few weeks ago, and its been fun to play with, but im curious how many people here have them and use them. So who has one? what have you created with it?
-
I've been considering getting one and use it for lighting and other play.
How easy is it to use?
-
care to explain what is it ?
-
An open source I/O platform.
It's essentially a simple controller that you can program.
For instance, if I have 15 pins I can use, and I want to attach an LED on pin 13 and make it turn on and off every second I can.
T'was a basic example.
Do you understand coding dhruv?
-
yeah a bit, i've been meaning to work on it after my exams :)
-
How easy is it to use?
its pretty simple, the only thing I'm really struggling with is the actual programing. but then again i've never had any previous experience with programing. but for being a complete noob, its pretty simple.
-
Ya I'm learning programming in visual basic, so I understand the concepts in coding.
If it's easy for a nub, than it should be OK for me.
and dhruv, Here (http://arduino.cc/) is the site where you can read up on it if you wish.
-
@Darkshot- thanks buddy, n could you gimme some tips on how to go about learning programming ? Also it would be good if we organised the news team a bit
-
There are a bunch of ways to do it.
If you'd like to discuss, I'd recomend making another thread here so we aren't thread jacking.
AND
Check out the post in the news thread.
I'm a step ahead of ya.
-
There are a bunch of ways to do it.
If you'd like to discuss, I'd recomend making another thread here so we aren't thread jacking.
i'd also like to learn more... also, i found this on the arduino website http://www.arduino.cc/playground/uploads/Main/arduino_notebook_v1-1.pdf
it looks like it could be pretty useful, i just haven't had the time to read it all the way through it.
-
Arduinos are awesome, but also limiting. I prefer to just use PICs.
-
The arduino is a relatively inexpensive and very convenient platform for getting started with microcontrollers. The board is based around the Atmel ATmega168 AVR (at least mine was, not sure if this is still the case in new revisions) so it is kind of like an AVR on training wheels. It also has an FTDI USB to RS232 chip which along with a special bootloader pre-flashed to the AVR, allows you to do everything over a single USB connection.
The big thing that distinguishes the arduino from being just another AVR dev board is that it is designed to work with it's own simplified programming environment and "language" (basically a simplified version of C). One nice thing about this is the general syntax and program structure you use with arduino will lend itself well to learning real C later on, which is a useful skill to have (unlike some languages designed to be beginner friendly like BASIC, which is kind of a dead end street). The programming notes you linked are a good resource. Another good learning technique is to find completed projects that interest you, and review/modify the source code until you understand how it all works.
I used to have a boarduino (http://www.ladyada.net/make/boarduino/) (cheaper breadboard friendly variant) that I used for a short while before my friends got me into using AVRs. If you are new to programming and digital electronics these tutorials (http://www.ladyada.net/learn/arduino/) are a great place to start. You can do a lot with the arduino (which is apparent from the the diversity of arduino projects that can be seen online) but it does place a lot of limits on how you configure the chip, so I recommend moving on to using bare microcontrollers if you begin to feel limited by the arduino. I know this forum is more devoted to PIC microcontrollers for some reason, but there are many varieties of other micros out there with their own unique set of features.
AVRs also have the benefit of a free, open source, Linux supported C compiler (same one the arduino software runs in the background), so you will never have to pay for any software. The most simple parallel port AVR programmer can be assembled from some wire and a couple resistors, and the AVRs themselves usually cost between $2.00 - $5.00 and can be reprogrammed many thousands of times, so the price of admission is mostly just in time and effort. I'm starting to ramble here, so good luck with your arduino.
-
(unlike other languages designed to be beginner friendly like BASIC, which is kind of a dead end street).
AVRs also have the benefit of a free, open source, Linux supported C compiler (same one the arduino software runs in the background), so you will never have to pay for any software. The most simple parallel port AVR programmer can be assembled from some wire and a couple resistors, and the AVRs themselves usually cost between $2.00 - $5.00 and can be reprogrammed many thousands of times, so the price of admission is mostly just in time and effort. I'm starting to ramble here, so good luck with your arduino.
You are right about using BASIC to program PICs, as after you have written a few relatively complex programs you will begin to realise how making something overly simple isn't necessarily better and that is exceedingly limiting. However, for very simple or quick programs I do use a high level language called JAL. It is realtively undocumented, and I have posted some tutorials on my site : -
www.ax-elec.com (http://www.ax-elec.com)
PICs also have a free compiler, and the most simple programmers can also be assembled with relatively few components. With PIC programming, assembler language is by far the best to program in as although it is low level it is definitely the most powerful and most supported at least 100 times over. Using MPLAB IDE you can ICD your software which I think is invaluable when writing bigger programs - I would like to see you do that with your os avr compiler :taunt:
Can I ask you, what do you think the advantages of AVRs are?
-
I think you partly answered your own question. For someone coming from working with the arduino and looking for more versatility, moving to working directly with the MCU they have already been using (albeit through some additional layers of abstraction) is more direct than switching to an entirely different line of MCUs with less support for the language they are already working in.
MPLAP is a great IDE, for AVRs there is an IDE called AVR Studio. I compile from the command line, so I haven't used either of these IDEs much, but both MPLAB and AVR Studio have built in simulation and debugging support.
-
I just ordered a USBASP and several atmega 8s!
Can't wait to get to work using C instead of asm :)
Also, I think I finally have the hang of SPI & the Dualshock ;)
-
i have 2, i do robotics so it is very useful
-
this arduino thing really starts to appear well worth having.
there's this:
impress - flexible display (http://www.vimeo.com/3187100)
made with the arduino.
so it seems you dont really need the more advanced microboards to do some kewl stuff.
-
Can I ask you, what do you think the advantages of AVRs are?
Simple, for mearly a few cent's more, I can get a chip that is programed in a real language, with documents, and is fast enough I can ignore whatever speed difference I could ever obtain by using asm. If I write control software on the computer, most defiantly in c, the micro I'm writing to uses the same header files, all protocols are defined once, with fewer chances of error.
Jal is not a real language, it's just a serious of hacks and macros. I'd spend just as much time writing my own, as I would tracking down parser errors in that mess. It's just not worth the time dragging a decades old architecture out into the 21 century. Asm for the pic is a nightmare, being that the closest thing it mimics is the PDP11, which now can be found only in museums. One register on a non-stack based cpu, mangles between mis-mapped banks of both memory and "special" memory. It's a nightmare.
If I try to avoid asm, only c compiler for pic, the high-c compiler is only a free trial, severely limited, with costly updates, required for any newer chips produced. Meanwhile the avr is well supported by the GNU compiler, which is both standards compliant and always free.
The only constructive bit of criticism I can add, is with the arduino, it's a quick and easy way to have an avr system running, the idea of placing a bootloader in system is quite beneficial while developing. However if any more than a few projects are going to be designed, the arduino doesn't pay for it's self. The dragon programer both programs and debugs any chip offered by atmel with less than 32k.
-
:censored: :censored: :censored: :censored: :censored: :censored: :censored: :censored: :censored: :censored: :censored:
-
W-gaming5: If someone has something constructive to say they can bump any topic they want.... bumping an old topic with something like "this is cool, someone make a me a tut" then feel free to tell them to buzz off.
Stonefoz: welcome and thanks for the post.
-
I have a few arduino's but I prefer the BASIC stamp,personal preference I guess...
-
I am planning on getting one of the advanced starter kits from makershed.com. Is it really worth it?
-
if you want to buy an arduino buy this:
http://cgi.ebay.com/Arduino-Mega-AVR-ATmega1280-USB-board-Shipping-FREE_W0QQitemZ280407626386QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item414998d292&_trksid=p3286.c0.m14 (http://cgi.ebay.com/Arduino-Mega-AVR-ATmega1280-USB-board-Shipping-FREE_W0QQitemZ280407626386QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item414998d292&_trksid=p3286.c0.m14)
That chip is extremely powerful and has more i/o's than you could ever dream of,plus you won't find a better price,bought mine from that dude.
-
if you want to buy an arduino buy this:
http://cgi.ebay.com/Arduino-Mega-AVR-ATmega1280-USB-board-Shipping-FREE_W0QQitemZ280407626386QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item414998d292&_trksid=p3286.c0.m14 (http://cgi.ebay.com/Arduino-Mega-AVR-ATmega1280-USB-board-Shipping-FREE_W0QQitemZ280407626386QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item414998d292&_trksid=p3286.c0.m14)
That chip is extremely powerful and has more i/o's than you could ever dream of,plus you won't find a better price,bought mine from that dude.
I was looking for more like a kit with the proto shield. Anyone have a good link to that?
-
Just my two cents:
The difference between ASM and higher level is like the difference between a Hummer (military version) vs a Landrover. The Hummer (ASM) is a no bells-and-whistles vehicle that uses manual controls in order to drive it, while the Landrover (C, ardiuno, etc) is the expensive, over-the-top features that takes away all of the necessary skill in order to drive it. If you set the cost the same, the Lanrover looks more appealing, but you get decieved. In real world conditions when you need a true all-terain vehicle, the Hummer was designed for use by people who rely on it with thier lives, while the Landrover was designed to make people who may never even use it as an all-terain vehicle believe they can match the same performance in real-world conditions ....and are falsely misled. In the same way these two vehicles perform under the circumstances they claim to be made for, the processors are the same as well. Its great to say that this one is better than that one when all you are doing is some simple LED flashing or canned communication routines. But the same is not held true when dealing under more extreme conditions when you need a design that handles multi-variable environments and redundancy and error-proffing are a requirement. Yes, that may not be the goal, but the projects mentioned earlier that require a little more design effort were not made in a single day. The higher the level language, the eaier it is for non-seasoned coders to program themselves right into a corner, trying to figure out why thier code will not work when the logic behind it is flawless. Without decades of experience behind the architecture and how the higher-level languages manipulate the instructions, people get 'stuck' very easily and literally have no other option other than to start from scratch.
I understand people consider the Harvard architecture and ASM to be difficult. Well, it is. It requires skill and intimate understanding of the architecture and hardware. But with that you gain full control over your design. And while everyone keeps bashing the multi-bank memory they always 'skip' the reason why it was designed in the first place: The Harvard Architecture is the only processor that executes instructions in single-cycles. And if you cannot understand why that is so important (important enough to gain half the market over the aging Motorola architecture) then there is no reason to exlplain it.
-
wtf?
Landrover? Hummer?
Ok.. C is like the Landrover and Asm is like a set of Nike's. Both will get you to Albuquerque, assuming you have a map. Neither is going to keep you from getting lost, but for the price, I'll ride with the air conditioning, while Hazer and walk the next thousand miles, :censored:ing how it's utilitarian.
It's not as if with in C, at any time, one can call asm procedures if it's needed. I'll have to say I've only had need to do so one a handful of occasions.
I'll still suggest that the Ardino is a slick platform will a helpful community to get you going. It is pricey to make more than a few projects, so perhaps getting a regular programer would be desirable in time. Ardino has chip, power, and programmer all on one card.
I fail to see how the language would influence anyone to be "backed into a corner". Pure fearmongering, without any evidence to back. Asm requires advanced study of the chip to be programed, just to do simple arithmetic. Meanwhile "x=2+2" works for any c compiler and only requires study of the chip's hardware that would be utilized, cutting required study by magnitudes. I fail to see how letting the compiler decide how number get added would "back me into a corner".
Anyway, Pic and AVR both have a Harvard Architecture, however the PIC also has banked memory within that. Yet again a false argument from our friend Hazer. And please explain why it would be necessary... It's only purpose is to speed up the processor given a set price. It's at a cost of complexity, with if handed correctly, does not imped development. Hardly a detail than needs to be waved for simpler tasks.
-
Okay this thread is starting to get a little confusing with hummers and land rovers and :censored:.
I need a good advanced starter kit. Any links?
-
Much more simple,
Arduino board, there is a dozen places to pick one up. I order from sparkfun.com, but I'm sure there's somewhere cheaper.
Simple board, has a chip, and a programer build-in. It's all less than $20USD.
It's best for simple and staring out, as it comes with a program already on the chip that allows it to update it's self.
Arduino is the program and basic design for the simplest chip to get working with.
As for writing software, winavr.sourceforge.net has a assembler, c compiler, and programing tools for it. Atmel makes the chip and at Atmel.com, they have the official assembler and a simulator for them, no compiler.
Check out Arduino.cc, it has some rather easy to follow examples.