Go Down

Topic: Useful links - check here for reference posts / tutorials (Read 34011 times) previous topic - next topic

nickgammon

Mar 05, 2016, 11:33 pm Last Edit: Apr 14, 2017, 08:59 am by Nick Gammon Reason: Added another stepper motors tutorial
How to ask a good question



General design



Communications
  • I2C *
    Information about the I2C hardware and protocol, widely used to communicate with various peripheral chips.
  • PC to Arduino comms
    Discussions about sending text or binary data from an Arduino to a PC, or vice-versa, using Python.
  • Radio/Wireless Transceivers Interfacing *
    How to interface using RF24L01 2.4GHz transceivers, by Terry King.
  • Serial Input Basics
    An introduction to using the serial ports on your Arduino, including sending and receiving multiple bytes.
  • Serial data - how to process without blocking *
    Suggested techniques for receiving incoming serial data, without "blocking" (waiting).
  • SPI *
    Information about the SPI hardware, widely used to communicate with other chips, shift registers, LCD displays, etc.



C++ programming
  • Arduino functions reference
    The official reference page for commonly-used functions, like digitalWrite.
  • AVR Libc Home Page *
    Standard library functions supplied with the IDE, such as CRC checks, EEPROM handling, watchdog timer, sleep management, and much more.
  • Function variables *
    A discussion about how to store function addresses in variables, and how to make "callback" functions, so that one function can call another one, from a variable.
  • millis() overflow ... a bad thing? *
    A discussion of how to manage when millis() and micros() overflow.
  • Tips, traps and style guide *
    A list of common problems encountered by beginners, such as confusing comparison with assignment.
    Also describes how to disassemble your code, where libraries are located, and other information.
  • What is Scope?
    A discussion of the use of variables in C++ programs, focussing on their scope and lifetime. Discussions include local and global variables, and the use of the extern keyword.
  • Using PROGMEM *
    A discussion about putting strings and other data types into Program Memory (PROGMEM), to save RAM.



Hardware
  • Arduino Basic Connections *
    Very useful site listing different ways of connecting hardware to your Arduino (schematics).
  • De-coupling capacitors *
    Why the use of de-coupling capacitors is essential.
  • Interrupts *
    A discussion about the use of interrupts on the Arduino, including hints and pitfalls.
  • LDRs and IR LEDs (PDF: 862.7 KB)
    Tutorial on sending and receiving information using light (IR LEDs and LDRs)
  • LEDs *
    Why you need current-limiting resistors when driving LEDs
  • Pin-outs - assorted *
    Pin-outs for various boards done by PighiXXX (of Arduino Basic Connections fame) (JavaScript required)
  • Pin-outs - Uno
    Pin-outs for the Uno board (SPI / I2C etc.)
  • Pin-outs - Mega2560
    Pin-outs for the Mega2560 board (SPI / I2C etc.)
  • Power saving *
    A discussion about running in low-power mode using sleep modes, the watchdog timer, and general tips for reducing power consumption.
  • Rotary encoders tutorial
    Some suggested methods of handling rotary encoders.
  • Stepper motors tutorial *
    A tutorial covering the basic principles of stepping motors and stepping motor control systems.
  • Stepper motor basics
    An introduction to using stepper motors.
  • Switches *
    Tips for wiring up switches, including debouncing and detecting status changes.
  • Timers *
    An introduction to the hardware counters/timers.



Datasheets



* Links to off-site information. That is, not on the Arduino Forum.


Discussion: Call for a list of useful programming threads
Please post technical questions on the forum, not by personal message. Thanks!

More info: http://www.gammon.com.au/electronics

Go Up