Snippets and Sketches.
AVR Related
Ethernet Shield
WiFi
- Garg10n3 sketch to interface a low cost fonera access point with arduino to make a wifi camera-equipped rc car.
- WiFly HTTP temperature server A HTTP server that displays the current temperature, using a WiFly Shield and an LM35 CAZ. Also can send how much memory is free for diagnostics.
Clocks
- DCF77 Clock - a binary DCF77 clock with good noise tolerance.
Concurrency, Timing & Schedulers
- heartbeat sketch - use an array to create an irregular blink pattern
- Stopwatch Sketch: doing multiple things at the same time.
- A Delay Sketch: An easy to use "blink without delay" style sketch written to be used with the ease of "delay()".
- Multi Blink: Demonstrates a table driven approach to concurrency by blinking lots of LEDS at different speeds. The technique is extensible to many other situations.
Input / Output
Storage
Communication
General
- String Functions
- FindText: A simple function to search for some text within a string.
- tempToAscii - Convert a float to ascii string with 3 decimal places
- printf() simple shell around vsnprintf() letting you use send printf style format strings over serial.
- Arduino Doodles - Mixed bag of sketches and libraries.
Math
- Prime number generation sketch
- smooth(data, filterVal, smoothedVal) - a low-pass filter smoothing function, useful for removing sensor jitter
- digitalSmooth(data, smoothArrayName) - a digital low-pass filter smoothing function, useful for removing sensor jitter, and glitches
- autoscale(int originalMin, int originalMax, int newBegin, int newEnd, int inputValue) - scale a variable between two ranges using linear interpolation
- fscale(float originalMin, float originalMax, float newBegin, float
newEnd, float inputValue, float curve) - a function to map a variable between two floating point ranges. Can logarithmically favor either end of the output range.
- smoothstep - a function to ease from one value to the next with a smooth "s" shaped logarithmic curve.
- nonlinear mapping - reMap() allows to adapt a nonlinear function with line segments.
- multiMap - multiMap() allows to adapt functions with interpolation - similar as reMap() above - but this one is 100% integer to improve speed, and a bit more hardened.
- randomHat() - choose every number from a "hat" before repeating
- randomWalk(stepSize) - wander between endpoints at a specified rate
- freqout(freq, duration) - a simple frequency generator
- Musical Algo Fun - Sketech for making music with old PC speakers
- Armstrong Music System - a collection of input and output abstractions to ease the development of musical instruments with the Arduino. This abstraction also allows sounds trigger remote hardware (PC or synthesizer) without additional coding.
- Pulse Width Determination
- Measuring frequency with Arduino - A small and simple code snippet for 0 - 100 kHz range
- FFT tutorial: Learn how to implement Fast Fourier Transform in Arduino
- FIR filters tutorial: Learn how to implement FIR (Finite Impulse Response) filters in Arduino
- PID tutorial: learn how to use PID for temperature control