Learning from scratch...

So, I've got a background in webdesign, 3D design, and assembling 3D printers, however, I know nothing about how to use an arduino.

That being said, I've got a couple running things like Octoprint, however, each time I set those up, I simply followed instructions not knowing what each step is doing.

I have some downtime due to the lockdown and really want to learn programming starting with the arduino. I was looking at this kit, Adventure Kit: 30 Days Lost in Space – InventrKits. However, I thought finding good beginning tutorials and lessons would be better and then just buying what I need.

I looked through the tutorial section here, and it's overwhelming. Could someone point me in the right direction on where to start? A youtube series, book, or something similar? Something that just starts with the basics.

Seeing all the things you can do with it just makes me want to do it more!

Looking forward to this forum and opening a new world!

Welcome to the group.

Arduino links of interest.

How to use this forum:
https://forum.arduino.cc/index.php?topic=149014.0

Getting started:

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:

Watch these:
Arduino programming syntax:

Arduino arithmetic operators:

Arduino control flow:

Arduino data types:

Understanding Destructive LC Voltage Spikes:

OR

Why MOSFET gate resistors:

Some things to read

LCD information:

OR

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

Language Reference:

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:

Part 2:

Part 3:

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

Micro Controllers:

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

Arduino programming traps, tips and style guide:

Arduino programming course:

Jeremy Blume:

Arduino products:

Motors/MOSFETs

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

Switches:

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

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: !

vicfrankenstein:
I have some downtime due to the lockdown and really want to learn programming starting with the arduino. I was looking at this kit, Adventure Kit: 30 Days Lost in Space – InventrKits. However, I thought finding good beginning tutorials and lessons would be better and then just buying what I need.

It's going to be difficult to learn without at least one Arduino to practice with. Buying a few extra parts such as LEDs (and their resistors) and maybe a servo would allow you to do a fair bit of experimenting. A low cost kit might be the simplest way to acquire an initial selection of parts.

Lots of simple example programs are included with the Arduino IDE.

Some people like to learn by exploring examples and then finding explanations of how they work and other people like to follow a formal "education" course. Which type are you?

...R

Thank you guys so much!

I'm not sure which type of learner I am. I've done both, classes and learning out of necessity. The only thing about the arduino is I don't know all it can do, so I'm not sure what to learn. That's why I wanted to start at the beginning with the basics.

I've actually got a couple of unused Arduinos. I've bought them for various reasons, but they aren't being used now. However, each time I used them for these things, I just followed an instructional video and didn't learn anything except how to follow instructions.

I look forward to learning a bit of the WHY.

Thanks everyone!

The actual Arduino book is one of the best for most newcomers as it assumes you know nothing.

This I think is the current version that comes with the kit.

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