Skip to content

Instantly share code, notes, and snippets.

View tinkerspy's full-sized avatar

Tinkerspy tinkerspy

  • Rotterdam, Holland
View GitHub Profile
@tinkerspy
tinkerspy / playtrack.ino
Last active June 30, 2016 05:11
A simple sketch that initializes 8 buttons to trigger an audio playback
#include <Automaton.h>
Atm_button btn[8];
int btnPins[8] = { 3, 4, 5, 6, 7, 8, 9, 10 };
void button_callback( int idx, int v, int up ) {
if ( v ) {
//player.playTrack( idx );
}
@tinkerspy
tinkerspy / releaserun.ino
Last active June 30, 2016 05:42
Run a motor when button released
#include <Automaton.h>
Atm_button button;
Atm_led motor;
void button_change( int press )
{
if ( !press ) { // On a release
motor.trigger( EVT_BLINK ); // Send a blink message to the motor
}
@tinkerspy
tinkerspy / lightpattern.ino
Last active June 27, 2016 19:56
Button press turns 3 led sequence on
#include <Automaton.h>
Atm_player player;
Atm_button button;
static int pattern[] = {
2, 2000, 0,
3, 4000, 0,
4, 3000, 0,
};
#include <Automaton.h>
Atm_analog sensor[4]; // 4 analog inputs
Atm_timer timer;
uint16_t avgbuffer[4][32]; // 4 buffers with 32 entries
const char aPin[] = { A0, A1, A2, A3 };
void setup() {
#include "Atm_trafficlight.h"
/* Add optional parameters for the state machine to begin()
* Add extra initialization code
*/
Atm_trafficlight& Atm_trafficlight::begin( int pin_g, int pin_y, int pin_r ) {
// clang-format off
const static state_t state_table[] PROGMEM = {
/* ON_ENTER ON_LOOP ON_EXIT EVT_TIMER_G EVT_TIMER_Y EVT_TIMER_R EVT_NEXT EVT_GREEN EVT_YELLOW EVT_RED ELSE */
#include <Automaton.h>
#include <Atm_esp8266.h>
Atm_esp8266_wifi wifi;
Atm_esp8266_httpd_simple server( 80 );
void setup() {
Serial.begin( 9600 );
wifi.begin( "MySSID", "MyPASSWORD" )
.onChange( true, server, server.EVT_START )
#include <Automaton.h>
#include <Atm_esp8266.h>
Atm_esp8266_wifi wifi;
Atm_esp8266_httpd_simple server( 80 );
Atm_led led;
void setup() {
Serial.begin( 9600 );
#include <Automaton.h>
#include <Automaton-Esp8266.h>
// A remote button that turns on the living room light
// Linked to the light node via the mirror component
Atm_esp8266_wifi wifi;
Atm_button button;
Atm_mirror mirror;
@tinkerspy
tinkerspy / bicycle3.ino
Last active November 27, 2016 21:13
Paul Murray's bicycle challenge implemented in Automaton
#include <Automaton.h>
/*
http://paulmurraycbr.github.io/ArduinoTheOOWay.html
The OP has a bike headlamp. this headlamp has a button that you can press 5 times to cycle
through 5 output settings, and a power switch. the OP would like to have one button to
control it. A long click should turn the lamp on and off, and a short click should cycle
the brightness. Furthermore, when the lamp is turned on, the OP would like the arduino to
cycle the light up to its previous level of brightness. The outputs to cycle the lamp