0
Offline
Newbie
Karma: 0
Posts: 3
Arduino rocks
|
 |
« on: March 12, 2009, 08:44:08 pm » |
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
|
|
|
|
« Last Edit: March 12, 2009, 08:57:02 pm by pickles »
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 6
Posts: 1399
Arduino rocks
|
 |
« Reply #1 on: March 13, 2009, 09:13:26 am » |
This sounds like a job interview question 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 3
Arduino rocks
|
 |
« Reply #2 on: March 14, 2009, 08:07:58 am » |
LOL!
|
|
|
|
|
Logged
|
|
|
|
|
Newcastle NSW Australia
Offline
Jr. Member
Karma: 0
Posts: 69
RalimTek
|
 |
« Reply #3 on: March 14, 2009, 09:26:37 pm » |
The most annoying part is gettign the code to work and be small enough to fit on the arduino.
|
|
|
|
|
Logged
|
Cybot
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15316
Measurement changes behavior
|
 |
« Reply #4 on: March 14, 2009, 10:01:21 pm » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Copenhagen / Denmark
Offline
Edison Member
Karma: 5
Posts: 2338
Do it !
|
 |
« Reply #5 on: March 15, 2009, 03:22:34 am » |
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/HighCurrentLoadsAll the above topics are popping up in the forum over and over and over.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 27
Wit is a pale imposter of wisdom.
|
 |
« Reply #6 on: March 16, 2009, 01:19:38 pm » |
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!
|
|
|
|
|
Logged
|
|
|
|
|
SF Bay Area (USA)
Offline
Faraday Member
Karma: 78
Posts: 5454
Strongly opinionated, but not official!
|
 |
« Reply #7 on: March 16, 2009, 01:59:45 pm » |
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()...
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 277
Posts: 25506
Solder is electric glue
|
 |
« Reply #8 on: March 17, 2009, 04:49:16 am » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 6
Posts: 1399
Arduino rocks
|
 |
« Reply #9 on: March 17, 2009, 10:23:24 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Norway@Oslo
Offline
Edison Member
Karma: 11
Posts: 2033
loveArduino(true);
|
 |
« Reply #10 on: March 17, 2009, 11:45:22 pm » |
"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++
|
|
|
|
« Last Edit: March 17, 2009, 11:45:45 pm by AlphaBeta »
|
Logged
|
|
|
|
|
Copenhagen / Denmark
Offline
Edison Member
Karma: 5
Posts: 2338
Do it !
|
 |
« Reply #11 on: March 18, 2009, 01:50:04 am » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Austin, TX
Offline
Faraday Member
Karma: 41
Posts: 5172
CMiYC
|
 |
« Reply #12 on: March 23, 2009, 02:33:13 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Bonn, Germany
Offline
God Member
Karma: 0
Posts: 903
|
 |
« Reply #13 on: March 23, 2009, 06:07:17 pm » |
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...
|
|
|
|
|
Logged
|
Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid[ch8230] and I went ahead anyway.
|
|
|
|
0
Offline
God Member
Karma: 2
Posts: 849
Arduino rocks!
|
 |
« Reply #14 on: March 25, 2009, 04:32:18 pm » |
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 
|
|
|
|
|
Logged
|
|
|
|
|
|