Can't find advice on how to get started....really started

All the instructions are there, but you are thrown in to a pool of dark matter. I don't think this has been simple for me to understand. I am 62 , I build websites, but I still don't know what "Parse" means. Now you may say, "go look it up" all well and good but that isn't always a simple task, and I can foresee that, slightly less than 50% of my three grand children here with me would possibly struggle to understand the instructions. To say the code is suitable for a beginner is an exaggeration at the very least?
I would have thought it would have been gainer to advise people to learn what the phraseology means before becoming immediately despondent and lose interest.

Start with mastering the examples that came with the IDE.

Arduino links of interest.

How to use this forum:

Getting started:
https://www.arduino.cc/en/Guide

Listing of downloadable 'Arduino PDFs' :
Either Google >>>- - - - > arduino filetype: pdf
Or
https://www.google.ca/search?q=arduino+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=arduino+filetype%3A+pdf&aqs=chrome..69i57j69i65.1385j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Listing of downloadable 'C++ PDFs' :
Either Google >>>- - - - > C++ filetype: pdf
Or
https://www.google.ca/search?q=c%2B%2B+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=c%2B%2B+filetype%3A+pdf&aqs=chrome..69i57.22790j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Arduino cheat sheet:
https://dlnmh9ip6v2uc.cloudfront.net/learn/materials/8/Arduino_Cheat_Sheet.pdf

Watch these:
Arduino programming syntax:
https://m.youtube.com/watch?v=CbJHL_P5RJ8

Arduino arithmetic operators:
https://m.youtube.com/watch?v=UUx0_s-ElSs

Arduino control flow:
https://m.youtube.com/watch?v=QpPGGuaGbCA

Arduino data types:
https://m.youtube.com/watch?v=xmZXWMEltEc

Understanding Destructive LC Voltage Spikes:
https://www.pololu.com/docs/0J16/all
OR
https://www.pololu.com/docs/pdf/0J16/destructive_LC_voltage_spikes.pdf

Why MOSFET gate resistors:
https://youtu.be/o0OHGWCZ7B0

Some things to read

LCD information:
https://learn.adafruit.com/character-lcds?view=all
OR
https://cdn-learn.adafruit.com/downloads/pdf/character-lcds.pdf?timestamp=1573085286

Reading a schematic:
https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

Language Reference:
https://www.arduino.cc/en/Reference/HomePage

Foundations:
https://www.arduino.cc/en/Tutorial/Foundations

How and Why to avoid delay():
http://playground.arduino.cc/Code/AvoidDelay

Demonstration code for several things at the same time.
http://forum.arduino.cc/index.php?topic=223286.0

Multitasking:
Part 1:
https://learn.adafruit.com/multi-tasking-the-arduino-part-1?view=all

Part 2:
https://learn.adafruit.com/multi-tasking-the-arduino-part-2?view=all

Part 3:
https://learn.adafruit.com/multi-tasking-the-arduino-part-3?view=all

Sparkfun Tutorials:
https://learn.sparkfun.com/tutorials?page=all

Micro Controllers:
https://learn.adafruit.com/mcus-how-do-they-work?view=all

Useful links:
https://forum.arduino.cc/index.php?topic=384198.0

Arduino programming traps, tips and style guide:
http://www.gammon.com.au/forum/?id=12153

Arduino programming course:
https://startingelectronics.org/software/arduino/learn-to-program-course/

Jeremy Blume:
https://m.youtube.com/playlist?list=PLA567CE235D39FA84

Arduino products:
https://www.arduino.cc/en/Main/Products

Motors/MOSFETs
http://www.gammon.com.au/motors

Making a library
https://www.arduino.cc/en/Hacking/libraryTutorial

Switches:
http://www.gammon.com.au/forum/?id=11955

https://www.amazon.ca/Arduino-Cookbook-Recipes-Enhance-Projects/dp/1449313876/ref=sr_1_1?ie=UTF8&qid=1522801721&sr=8-1&keywords=arduino+cookbook

Share tips you have come across, 700+ posts:
https://forum.arduino.cc/index.php?topic=445951.0

Debug discussion:
https://forum.arduino.cc/index.php?topic=215334.msg1575801#msg1575801

Frequently Asked Questions:
https://www.arduino.cc/en/main/FAQ#toc10

SMD soldering:
SMD soldering

Number 'type's.

  • boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
  • byte (8 bit) - unsigned number from 0 to 255
  • char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
  • unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
  • word (16 bit) - unsigned number from 0 to 65535
  • unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
  • int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
  • unsigned long (32 bit) - unsigned number from 0 to 4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
  • long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
    float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later. Sparkfun.

You select the 'type' best suited for your variables.

ex:

  • your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
  • since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. int temperature;
  • if your variable needs to be within -64 to +64 a 'char' will do nicely. char joystick;
  • if your variable is used for ASCII then you need type 'char', char myText[ ] = {"Raspberry Pie Smells"};
  • if your variable enables some code then boolean can be used. boolean enableFlag = false;
  • millis() returns the time in ms since rebooting, unsigned long currentTime = millis();
    etc.

Oh, and have fun too :slight_smile: !

3 Likes

If you’re a total noob at arduino, you might want to start with an actual physical book. Most that I’ve read start with very basic examples.

I guess every technology has its own jargon, or maybe look at the terms as extensions to the English language (or whatever language you are using).

I'm going to guess that building websites has its own terms. I've seen them but don't know what they mean i.e. css . If I were to start learning about building websites I would first learn the terms and what they represent.
Picking things up from the web is not the same as a "Arduino and C++ 101" so a little of it is sink or swim. And while I don't know the %age of newbie's who have abandon the technology I have seen a lot of very green folks succeed.

1 Like

I'm not sure if your asking for yourself or for your grandkids. As I don't know much how the minds of kids work, I will give my view for 'yourself'.

From a software perspective, I assume that you're familiar with javascript. Think about how you learned that; the same will apply in the Arduino world. C/C++ and the Arduino specific functions need to be learned.

I started C approximately 30 years ago with TurboC on the PC. I had a book and followed examples. The IDE had a built-in help and if code contained a function that I did not know, I could place the cursor on it and press <F1> to get help on it. That help sometimes also contained another function that I did not know and again I could place the cursor on it and press F1>.

What makes Arduino easy (beginner friendly) in my opinion is that you don't have to worry about the intrinsics of compiling (creating so-called object code) and linking (joining the different object codes together).

From a hardware perspective, you don't have to design your own system, nowadays you simply connect modules that you need; it is mostly plug-and-learn-to-play. At occasion you might blow something up due to incorrect wiring or not paying attention to details that you don't know about.

Me too mate, I feel your pain, only I'm 73 and it's even harder. There are places on the internet where you can join/buy/sign up for courses on just about anything. Udemy have some excellent courses which are simple to follow and make a lot of sense but you have to make the effort. None of these guys here woke up one morning knowing everything there is to know about Arduino.

Are you asking what "parse" means? Or are you complaining in general that "beginner" documentation contains technical terms you're not familiar with?

If the latter, could you provide a pointer to the offending text?

If the former, "parse" means approximately "derive meaning from a set of symbols." Humans "parse" language all the time, figuring out what is meant by a printed (or spoken) phrase; language and linguistics majors get more formal, so they can tell you why a phrase like "time flies like an arrow; fruit flies like a banana" is funny. Computer programs lack "intelligence", so they obey pretty strict rules and have a very limited set of symbols that they can parse, which is why computer languages look so weird.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.