Go Down

Topic: What was your biggest struggle or revelation? (Read 1 time) previous topic - next topic

ratdad

Mar 13, 2009, 02:44 am Last Edit: Mar 13, 2009, 02:57 am by pickles Reason: 1
All,

I'm trying to develop an Arduino workshop for artists. In order to develop a useful program, it  would help me tremendously to hear from the non-technical folks who work with the Arduino.

What concepts did you struggle with when beginning to use the Arduino? What information or resources was the most helpful?

I appreciate all of your advice, stories, and anecdotes!

Thanks,

MAL

florinc



Cybot

The most annoying part is gettign the code to work and be small enough to fit on the arduino.
Cybot

retrolefty

Keeping the Arduino IDE from writing all that red sh*t in the bottom window when I try to compile or upload. It sure is fussy about details  ;)

Lefty


MikMo

If the intended audience are newcomers to electronics, then a topic that will be very usefull for them to understand is pull up / down resistors and switch debouncing.

My understanding of these topics increased by orders of magnitude after reading Lady Ada's tutorials:

http://www.ladyada.net/learn/arduino/


Other topicis could be current limiting resistors for LED's, driving DC motors  and other high current loads with transistors or H bridges:

http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads


All the above topics are popping up in the forum over and over and over.

sam

Making operations occur on a time schedule while still performing other tasks. In short the efficient and effective use of millis().

Finally a question I can answer! Woot!
I have never let my schooling interfere with my education.
~ Mark Twain

http://www.lewrockwell.com/

westfw

Yeah; what Sam said.  More from reading the forums than actual experience, having come into things from the other direction, but...  understanding "fast" but "not concurrent" is a big thing.
Switch bounce, and receiving character from a serial port, are both issues where you need to understand that the Arduino is MUCH faster than external human-scale events, but that doesn't mean that the Arduino can do other things while it is doing delay()...

Grumpy_Mike

Well I am not exactly a beginner but I have taught a fair few, and important concepts I have found are:-

1) A program will only do what you say not what you want.

2) The instructions never stop being executed or wait until an input is ready, you have to instruct it to wait.

3) It's a just binary bits, what gives it meaning is the construct you put on the bits. This means a value can represent a number a printed character or a series of on and off states, the bit pattern is no different but the construct you put on it defines it's meaning.

4) Before you code draw a flow diagram to get the sequence of things right.

5) These are humbling devices, if it doesn't work then YOU are doing something wrong, or understanding something wrong. So be modest.

6) If you find you self writing the same piece (or very similar) section of code over and over again there is a better way of doing it.

florinc

The other day, a friend whom I showed the clock I made, asked me "Can't you build something useful?" "Like what?" I asked. "Like a garage door opener" he answered back. That was my biggest revelation.


AlphaBeta

#10
Mar 18, 2009, 05:45 am Last Edit: Mar 18, 2009, 05:45 am by AlphaBeta Reason: 1
Quote
"Can't you build something useful?" "Like what?" I asked. "Like a garage door opener" he answered back. That was my biggest revelation.

;D

Biggest struggle: IDE versus structs/enums

Biggest revelation: Arduino _is_ c++

MikMo

Another good thing to teach beginners is that almost no matter what you connect to Arduino you have to connect it's ground to Arduinos ground. This has had me stumbeled on a few ocasions and it is a frequently recurring issue in forum posts.

This shoud go together with explaining that the reason is that the ground is the common reference, and if you don't compare voltage levels to the same "0" it won't work as expected.

James C4S

When something doesn't work, you did something wrong.

People new to hobby electronics will often assume "there must be a bug in the chip, the software, problem with the board, etc."  

Rarely is the problem anyone else's fault, except the person putting it all together.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

Nachtwind

My biggest struggle was and is to keep my programs low profile to fit in the space of the arduino..
I come directly from C# and Windows API Programming and had never any experience in doing any code which is small, reusable and fast at the same time... that was the hardest thing to struggle with...
Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead

Oracle

Quote
My biggest struggle was and is to keep my programs low profile to fit in the space of the arduino..


I don't understand how people run out of space unless it's something major like reprap.  Then again, I remember $10,000 computers with 32k of ram, and right before Arduino I was doing PIC assembly, so to me 16k seems pretty expansive.

Maybe if you're trying to store long text strings or LED animation patterns there's a problem :)

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview