Last active
September 8, 2017 16:28
-
-
Save seth10/fd2b5a20854606148af93e107a7f8984 to your computer and use it in GitHub Desktop.
All complete programs from watch repo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//https://raw.githubusercontent.com/seth10/watch/31f9083a07451147009f5e92a93645e02fa69217/14seg/14seg.ino | |
#include "Adafruit_LEDBackpack.h" | |
char *message = " Hello world! "; | |
Adafruit_AlphaNum4 alpha4; | |
void setup() { | |
alpha4.begin(); | |
for (uint8_t i=0; i<strlen(message)-4; i++) { | |
alpha4.writeDigitAscii(0, message[i]); | |
alpha4.writeDigitAscii(1, message[i+1]); | |
alpha4.writeDigitAscii(2, message[i+2]); | |
alpha4.writeDigitAscii(3, message[i+3], true); // true for period / digits-separator | |
alpha4.writeDisplay(); | |
delay(200); | |
} | |
alpha4.clear(); | |
alpha4.writeDisplay(); | |
delay(1000); | |
} | |
void loop() { | |
for (uint8_t i=0; i<4; i++) { | |
alpha4.writeDigitRaw((i+4-1)%4, 0x0); | |
alpha4.writeDigitRaw(i, 0xFFFF); | |
alpha4.writeDisplay(); | |
delay(200); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//https://raw.githubusercontent.com/seth10/watch/27d8a63f72db14d7b88bc18e221007f7a183e48e/button/button.ino | |
volatile int n = 0; | |
void isr() { | |
Serial.println(millis()); | |
n++; | |
} | |
void setup() { | |
Serial.begin(9600); | |
pinMode(7, INPUT_PULLUP); | |
attachInterrupt(digitalPinToInterrupt(7), isr, FALLING); | |
} | |
void loop() { | |
Serial.println(n); | |
delay(200); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define PIN_SDIN 1 | |
#define PIN_SCLK 2 | |
#include "font.h"; | |
void oledWriteString(char *characters) { | |
while (*characters) oledWriteCharacter(*characters++); | |
} | |
void oledWriteCharacter(char character) { | |
for (int i=0; i<5; i++) oledWriteData(pgm_read_byte(&ASCII[character - 0x20][i])); | |
oledWriteData(0x00); | |
} | |
void oledWriteData(byte data) { | |
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data); | |
} | |
void oledWriteCmd(byte command) { | |
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, command); | |
} | |
void setup() { | |
pinMode(PIN_SDIN, OUTPUT); | |
pinMode(PIN_SCLK, OUTPUT); | |
oledWriteCmd(0x8d); //enable charge pump | |
oledWriteCmd(0x14); | |
delay(1); | |
oledWriteCmd(0xaf); //set display on | |
// oledWriteCmd(0xa8); //set MUX ratio | |
// oledWriteCmd(0x3f); | |
oledWriteCmd(0xd3); //set display offset | |
oledWriteCmd(0x00); | |
oledWriteCmd(0x40); //set display start line | |
oledWriteCmd(0xa1); //set segment re-map (horizontal flip) - reset value is 0xa0 (or 0xa1) | |
oledWriteCmd(0xc8); //set COM output scan direction (vertical flip) - reset value is 0xc0 (or 0xc8) | |
oledWriteCmd(0xda); //set COM pins hardware configuration | |
oledWriteCmd(0x12); //reset value is 0x12 | |
oledWriteCmd(0x81); //set contrast (2-byte) | |
oledWriteCmd(0xff); | |
// oledWriteCmd(0xa4); //disable entire display on | |
// oledWriteCmd(0xa6); //set normal display | |
// oledWriteCmd(0xd5); //set oscillator frequency | |
// oledWriteCmd(0x80); | |
// oledWriteCmd(0xdb); //vcomh deselect level (brightness) | |
// oledWriteCmd(0x20); | |
oledWriteCmd(0x20); //set horizontal addressing mode for screen clear | |
oledWriteCmd(0x01); | |
oledWriteCmd(0x21); //set column start and end address | |
oledWriteCmd(0x00); //set column start address | |
oledWriteCmd(0x7f); //set column end address | |
oledWriteCmd(0x22); //set row start and end address | |
oledWriteCmd(0x00); //set row start address | |
oledWriteCmd(0x07); //set row end address | |
for (int i=0; i<1024; i++) oledWriteData(0x01); // clear oled screen | |
oledWriteCmd(0x20); //set page addressing mode | |
oledWriteCmd(0x02); | |
oledWriteCmd(0xb7); //set page start address to page 7 | |
oledWriteCmd(0x00); //set lower column start address | |
oledWriteCmd(0x10); //set upper column start address | |
oledWriteString("Julian's Code"); | |
// oledWriteCmd(0x27); //set right horizontal scroll | |
// oledWriteCmd(0x0); //dummy byte | |
// oledWriteCmd(0x0); //page start address | |
// oledWriteCmd(0x7); //scroll speed | |
// oledWriteCmd(0x7); //page end address | |
// oledWriteCmd(0x0); //dummy byte | |
// oledWriteCmd(0xff); //dummy byte | |
// oledWriteCmd(0x2f); //start scrolling | |
oledWriteCmd(0xb0); //set page start address to page 0 | |
} | |
char tmp[8]; | |
void loop() { | |
static unsigned long thisMicros = 0; | |
static unsigned long lastMicros = 0; | |
oledWriteCmd(0x00); //set lower column start address | |
oledWriteCmd(0x10); //set upper column start address | |
oledWriteString(dtostrf(thisMicros - lastMicros,8,0,tmp)); | |
lastMicros = thisMicros; | |
thisMicros = micros(); | |
// oledWriteString(" microseconds"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define PIN_CS 8 | |
#define PIN_DC 9 | |
#define PIN_RESET 10 | |
#define PIN_SDIN 11 | |
#define PIN_SCLK 12 | |
#include "font.h"; | |
char tmp[8]; | |
void oledWriteString(char *characters) | |
{ | |
while (*characters) oledWriteCharacter(*characters++); | |
} | |
void oledWriteCharacter(char character) | |
{ | |
for (int i=0; i<5; i++) oledWriteData(pgm_read_byte(&ASCII[character - 0x20][i])); | |
oledWriteData(0x00); | |
} | |
void oledWriteData(byte data) | |
{ | |
digitalWrite(PIN_DC, HIGH); | |
digitalWrite(PIN_CS, LOW); | |
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data); | |
digitalWrite(PIN_CS, HIGH); | |
} | |
void oledWriteCmd(byte command) | |
{ | |
digitalWrite(PIN_DC, LOW); | |
digitalWrite(PIN_CS, LOW); | |
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, command); | |
digitalWrite(PIN_CS, HIGH); | |
} | |
void setup() | |
{ | |
pinMode(PIN_RESET, OUTPUT); | |
pinMode(PIN_CS, OUTPUT); | |
pinMode(PIN_DC, OUTPUT); | |
pinMode(PIN_SDIN, OUTPUT); | |
pinMode(PIN_SCLK, OUTPUT); | |
// digitalWrite(PIN_RESET, HIGH); | |
digitalWrite(PIN_RESET, LOW); | |
delay(1); | |
digitalWrite(PIN_RESET, HIGH); | |
delay(1); | |
oledWriteCmd(0x8d); //enable charge pump | |
oledWriteCmd(0x14); | |
delay(1); | |
oledWriteCmd(0xaf); //set display on | |
// oledWriteCmd(0xa8); //set MUX ratio | |
// oledWriteCmd(0x3f); | |
oledWriteCmd(0xd3); //set display offset | |
oledWriteCmd(0x00); | |
oledWriteCmd(0x40); //set display start line | |
oledWriteCmd(0xa1); //set segment re-map (horizontal flip) - reset value is 0xa0 (or 0xa1) | |
oledWriteCmd(0xc8); //set COM output scan direction (vertical flip) - reset value is 0xc0 (or 0xc8) | |
oledWriteCmd(0xda); //set COM pins hardware configuration | |
oledWriteCmd(0x12); //reset value is 0x12 | |
oledWriteCmd(0x81); //set contrast (2-byte) | |
oledWriteCmd(0xff); | |
// oledWriteCmd(0xa4); //disable entire display on | |
// oledWriteCmd(0xa6); //set normal display | |
// oledWriteCmd(0xd5); //set oscillator frequency | |
// oledWriteCmd(0x80); | |
// oledWriteCmd(0xdb); //vcomh deselect level (brightness) | |
// oledWriteCmd(0x20); | |
oledWriteCmd(0x20); //set horizontal addressing mode for screen clear | |
oledWriteCmd(0x01); | |
oledWriteCmd(0x21); //set column start and end address | |
oledWriteCmd(0x00); //set column start address | |
oledWriteCmd(0x7f); //set column end address | |
oledWriteCmd(0x22); //set row start and end address | |
oledWriteCmd(0x00); //set row start address | |
oledWriteCmd(0x07); //set row end address | |
for (int i=0; i<1024; i++) oledWriteData(0x00); // clear oled screen | |
oledWriteCmd(0x20); //set page addressing mode | |
oledWriteCmd(0x02); | |
oledWriteCmd(0xb7); //set page start address to page 7 | |
oledWriteCmd(0x00); //set lower column start address | |
oledWriteCmd(0x10); //set upper column start address | |
oledWriteString("Julian's Code"); | |
// oledWriteCmd(0x27); //set right horizontal scroll | |
// oledWriteCmd(0x0); //dummy byte | |
// oledWriteCmd(0x0); //page start address | |
// oledWriteCmd(0x7); //scroll speed | |
// oledWriteCmd(0x7); //page end address | |
// oledWriteCmd(0x0); //dummy byte | |
// oledWriteCmd(0xff); //dummy byte | |
// oledWriteCmd(0x2f); //start scrolling | |
oledWriteCmd(0xb0); //set page start address to page 0 | |
} | |
void loop() | |
{ | |
static unsigned long thisMicros = 0; | |
static unsigned long lastMicros = 0; | |
oledWriteCmd(0x00); //set lower column start address | |
oledWriteCmd(0x10); //set upper column start address | |
oledWriteString(dtostrf(thisMicros - lastMicros,8,0,tmp)); | |
lastMicros = thisMicros; | |
thisMicros = micros(); | |
// oledWriteString(" microseconds"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//https://raw.githubusercontent.com/seth10/watch/efb2b8b4592eacf08dc2c9a9478a835e587d59b3/button/button.ino | |
void setup() { | |
pinMode(4, INPUT_PULLUP); | |
pinMode(LED_BUILTIN, OUTPUT); | |
} | |
void loop() { | |
if (digitalRead(4)) | |
digitalWrite(LED_BUILTIN, LOW); | |
else | |
digitalWrite(LED_BUILTIN, HIGH); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Wire.h> | |
#include <Adafruit_GFX.h> | |
#include <Adafruit_SSD1306.h> | |
// If using software SPI (the default case): | |
#define OLED_MOSI 11 //D1 | |
#define OLED_CLK 12 //D0 | |
#define OLED_DC 9 | |
#define OLED_CS 8 | |
#define OLED_RESET 10 | |
Adafruit_SSD1306 display; | |
void setup() { | |
// Serial.begin(9600); | |
display.begin(); | |
display.display(); | |
delay(1000); | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(WHITE); | |
} | |
void loop() | |
{ | |
static unsigned long thisMicros = 0; | |
static unsigned long lastMicros = 0; | |
display.clearDisplay(); | |
display.setCursor(0,0); | |
display.print("Now is the time for all good men to come to the aid the party \n"); | |
display.print("The quick brown fox jumps over a lazy dog \n"); | |
display.print(thisMicros - lastMicros); | |
display.print(" microseconds"); | |
display.display(); | |
lastMicros = thisMicros; | |
thisMicros = micros(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment