Go Down

Topic: Total Beginner - Where to Start (Read 423 times) previous topic - next topic

tranquilitybase1969

Hi,

I am a complete beginner interested in combining my interest in amateur radio with arduino.

I hold the intermediate amateur licence (UK), have no experience in programming and I am no IT expert either.

A medium term aim would be to build a tracking device capable of following ISS, satellites, the moon (for Earth/Moon/Earth experiments) etc.

I realise I have a lot to learn and would be very grateful for advice on where to start. Can anyone recommend a suitable book for example?

I'd also be interested in contacting anyone with similar interests in the Cambridgeshire (UK) area.

Many thanks.........Mike 


Robin2

#1
Oct 09, 2020, 05:42 pm Last Edit: Oct 09, 2020, 05:43 pm by Robin2
Welcome to the Forum.

This recent Thread may help

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

larryd

Hi Mike, welcome to the group.

Arduino links of interest.

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

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    

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 :) !
No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

tranquilitybase1969

Many thanks.

Plenty to go at here......

smacaroni

I'm always one to encourage a beginner (mechanic|programmer|handiman|musician|.*). The biggest piece of advice I can give you is don't give up. The first 20 years are the worst. Don't give up.

The next thing I can tell you is save, save-as and undo will right a sinking ship. Make time to look into back-up routines that make a copy of your coding directory on a daily basis at a minimum. Nothing is more frustrating than saying "damn it, it worked yesterday!" Oh, wait, you're British. "Bloody Hell! It worked yesterday". A regular back up will allow you to go back to yesterday's code and save days or hours of re-coding.

If you have a great idea, write it down. You'll get answers to your problems at the most inopportune moments. You're in the doctor's office. You're at your kid's soccer practice. You're at your daughter's wedding. You're about to fall asleep.... Pull out your phone and scribble as much detail as you can muster because that's the next most frustrating thing thoughts you were sure you'd never forget that vanish in minutes. Great ideas are fleeting.

I started writing code in the late 90s. I got paid pretty well to do it. I spent at least a quarter of my day goofing off and sometimes even more. This is a very rewarding hobby. It's a terrible career because everyone has found someone to do it cheaper and most of the time, those people are in developing countries, great for them, lousy for you. But as a hobby? O...M...G... you'll tell your wife shit she never wanted to know and you'll be so proud of whatever it is you've pulled out of your derrière. It's a great feeling.

Nothing is impossible. A hundred years ago, someone made a "chess robot" that really was a midget in a puppet.  That ridiculous contraption now fits in your pocket. Think about that. This is where the magic happens in people like you.

Go Up