Need an advice to learn ardiuno - Page 1
Forum section: electronics / beginners

author: Elestaten_Harold
author_rank: Newbie
timestamp: March 01, 2020, 04:12:30 pm
content: What is the best Arduino set available on amazon? and can anyone recommend me a good course for a beginner? I'm a high school student and has little programming exp

author: rstofer
author_rank: Super Contributor
timestamp: March 01, 2020, 04:40:27 pm
content: I like any of the kits but this one has a lot of gadgets:https://www.amazon.com/ELEGOO-Project-Tutorial-Controller-Projects/dp/B01D8KOZF4At $37 with free delivery tomorrow, I think this is where I would start. OOPS, I didn't notice you were in Germany. I don't know anything about pricing over there. Or the specific items available or the delivery terms - in other words, nothing at all!The kit comes with tutorials to help get you started. FWIW, nobody else knew anything about programming before they started either. The nice thing about starting with Arduino is that there are thousands of projects out on the Internet and the Arduino UNO board is pretty much a standard for all kinds of projects.Follow the tutorials and you'll be fine. You don't need the features of C++ for Arduino. Most of the code I see is strictly ANSI C and that removes a lot of features but also a lot of complications. Yes, most of the library code is written in C++ but you don't really care.As to learning C, there are tutorials all over the Internet plus you will be doing copy/paste on a lot of projects. Stop to read the code and try to really understand what is going on. Most times, from your point of view, you simply call a function and magic happens. If you want to know how the magic happens, you need to paw through the library code. It is installed with the IDE by default.Have fun! That's the big thing...

author: Wimberleytech
author_rank: Super Contributor
timestamp: March 01, 2020, 05:18:37 pm
content: Quote from: Elestaten_Harold on March 01, 2020, 04:12:30 pmHere is another which I bought several years ago to teach a kid electronics.https://tinyurl.com/sadxoxjI have the project manual for the kit but it is too big to post. I will put it someplace where it can be downloaded.Here it is:http://www.wimberleytech.com/Adeept.pdf

author: nardev
author_rank: Unknown
timestamp: March 01, 2020, 06:12:11 pm
content: Usually lack of C and C++ knowledge is a problem for start.Try to spend as much time as possible catching programming. The arduino sets mostly come with CD with ready code examples. Get only those for beginning and don't go too wide.Only focus on the set for the beginning.p.s. It's great if you have a tutor in all of that. Speeds up everything and you don't get lost in an ocean of technologies.

author: Wimberleytech
author_rank: Super Contributor
timestamp: March 01, 2020, 06:31:58 pm
content: The kid I taught was in high school and he caught on really fast. It is not hard, especially with all of the resources on the interweb.

author: rstofer
author_rank: Super Contributor
timestamp: March 01, 2020, 07:07:06 pm
content: Here is a PDF of the bible on ANSI C:http://www2.cs.uregina.ca/~hilder/cs833/Other%20Reference%20Materials/The%20C%20Programming%20Language.pdfThe earlier edition is a collector's item and belongs on every programmer's bookshelf:https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131101633The original version is important because Kernighan and Ritchie invented the C language to implement Unix. There is a TON of history in those projects up to and including Linux. Plus, of course, ANSI C is used today for embedded programming, among other things. It's a language you simply must know.I would eventually want the paperback version of the PDF file I linked above

author: rstofer
author_rank: Super Contributor
timestamp: March 01, 2020, 07:52:27 pm
content: If you are thinking about learning C outside the context of Arduino, you need a way to compile and run C code on your platform. If you have Linux, all you need to do is install GCC - see below. It may actually already be installed. Then you need a command line editor and while you could use 'vi' or 'nano', I think you'll like 'gedit' better. Install it and you're ready to go. Run gedit in one command window and the command line for the compiler/output in another.sudo apt-get install geditThere are a lot of example codes segments in the book I linked above.When it comes to writing command line code (no GUI interface), there isn't anything better than Linux. And this from a user who primarily runs Win 10.Under Win 10, you have a couple of choices. You can activate WSL and install Ubuntu which is a decent way to go but getting there is a hassle. You can install Microsoft Visual Studio to build Command Line programs. This works well.In terms of complications, I think a Windows install of Arduino is the easiest. Just download and install the IDE and you're off to the races.The Arduino IDE runs under Linux, get it withsudo apt-get install arduinoYou can get C and C++ if you don't already have themsudo apt-get install gccsudo apt-get install g++To get permissions to access to the /dev/ttyACM0 port for board programmngsudo chmod a+rw /dev/ttyACM0 -- extra spaces added to make the command a little more clear.A fun way to play with Arduino is the use a Raspberry Pi 4 as the development machine. If you have a spare monitor, keyboard and mouse, you are good to go. I just installed Arduino on mine and it's working properly after I did the 'chmod' command above.My setup:https://www.amazon.com/gp/product/B07V5JTMV9https://www.amazon.com/gp/product/B07TXSQ47Lhttps://www.amazon.com/gp/product/B07V5JTMV9I have only had Arduino running on Linux for about 5 minutes, I haven't had time to find the warts but it looks good!It is worth the time to write the code for the examples in the book. Simply reading a book doesn't do anything for me. I have to actually type the code and run it. Even copy/paste doesn't work for me if I want to understand what is going on.

author: Ian.M
author_rank: Super Contributor
timestamp: March 01, 2020, 08:02:23 pm
content: I also strongly recommend 'The C Programming Language', Second Edition by Brian W. Kernighan and Dennis M. Ritchie (AKO: 'K&R' or 'The C bible'. If you aren't as fluent in technical English as you'd like to be, you may prefer the German translation of it: 'Programmieren in C', Hanser, ISBN 3-446-15497-3Arduinos have really crappy debugging support (basically you can print a string or variable to its serial port or blink a LED from your code - that's all) so for learning C, I strongly recommend installing an ANSI C or C++ compiler on your PC, and practising the examples in the K&R book, written as ANSI C console applications, so you can step through them and examine variables etc. under a debugger, preferably with a GUI interface.If you are using Windows,Bloodshed Dev-C++is one of the easiest ways of getting the ix86 target of the GCC toolchain + a usable IDE for it, installed on your system. N.B. The Arduino IDE also uses the GCC toolchain, but with an AVR or other embedded MCU target depending on the exact board you select.