Archiving a bunch of old stuff

This commit is contained in:
Dan Buch
2015-06-22 13:15:42 -05:00
parent a6ec1d560e
commit bd1abd8734
395 changed files with 1 additions and 76 deletions

View File

@@ -0,0 +1,27 @@
const unsigned int LED_PIN = 13;
const unsigned int PAUSE = 700;
const unsigned int FLASH_DURATION = 100;
void flash(int n) {
for (int i = 0; i < n; i++) {
digitalWrite(LED_PIN, HIGH);
delay(FLASH_DURATION);
digitalWrite(LED_PIN, LOW);
delay(FLASH_DURATION);
}
}
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
for (int i = 1; i < 4; i++) {
flash(i);
delay(PAUSE);
}
delay(PAUSE);
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,54 @@
const unsigned int LED_PIN = 13;
const unsigned int BAUD_RATE = 9600;
void ledOn() {
digitalWrite(LED_PIN, HIGH);
Serial.println("LED on");
}
void ledOff() {
digitalWrite(LED_PIN, LOW);
Serial.println("LED off");
}
void ledBlink() {
Serial.println("BLINKY TIME");
for (int i = 0; i < 5; i++) {
ledOn();
delay(100);
ledOff();
delay(100);
}
}
void handleInput() {
int c = Serial.read();
switch (c) {
case '1':
ledOn();
break;
case '2':
ledOff();
break;
case '3':
ledBlink();
break;
default:
Serial.print("Unknown command: ");
Serial.println(c);
}
}
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(BAUD_RATE);
}
void loop() {
if (Serial.available() <= 0) {
return;
}
handleInput();
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,22 @@
const unsigned int LED_BIT0 = 10;
const unsigned int LED_BIT1 = 11;
const unsigned int LED_BIT2 = 12;
void outputResult(const long result) {
digitalWrite(LED_BIT0, result & B001);
digitalWrite(LED_BIT1, result & B010);
digitalWrite(LED_BIT2, result & B100);
}
void setup() {
pinMode(LED_BIT0, OUTPUT);
pinMode(LED_BIT1, OUTPUT);
pinMode(LED_BIT2, OUTPUT);
randomSeed(analogRead(A0));
outputResult(random(1, 7));
}
void loop() {
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,28 @@
const unsigned int BUTTON_PIN = 7;
const unsigned int LED_PIN = 13;
int oldButtonState = LOW;
int ledState = LOW;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
const int CURRENT_BUTTON_STATE = digitalRead(BUTTON_PIN);
if (CURRENT_BUTTON_STATE != oldButtonState &&
CURRENT_BUTTON_STATE == HIGH) {
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(LED_PIN, ledState);
delay(50);
}
oldButtonState = CURRENT_BUTTON_STATE;
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,94 @@
// vim:filetype=arduino
#include <Bounce.h>
const unsigned int LED_BIT0 = 10;
const unsigned int LED_BIT1 = 11;
const unsigned int LED_BIT2 = 12;
const unsigned int START_BUTTON_PIN = 5;
const unsigned int GUESS_BUTTON_PIN = 7;
const unsigned int BAUD_RATE = 9600;
const unsigned int DEBOUNCE_DELAY = 20;
const unsigned int HOORAY_FLASHES = 10;
const unsigned int HOORAY_FLASH_BATCHES = 3;
const unsigned int HOORAY_FLASH_BATCH_PAUSE = 200;
const unsigned int HOORAY_FLASH_DURATION = 50;
Bounce startButton = Bounce();
Bounce guessButton = Bounce();
int guess = 0;
void outputResult(const long result) {
digitalWrite(LED_BIT0, result & B001);
digitalWrite(LED_BIT1, result & B010);
digitalWrite(LED_BIT2, result & B100);
}
void hooray() {
for (unsigned int i = 0; i < HOORAY_FLASH_BATCHES; i++) {
for (unsigned int i = 0; i < HOORAY_FLASHES; i++) {
outputResult(7);
delay(HOORAY_FLASH_DURATION);
outputResult(0);
delay(HOORAY_FLASH_DURATION);
}
delay(HOORAY_FLASH_BATCH_PAUSE);
}
}
void handleGuessButton() {
if (!guessButton.update()) {
return;
}
if (guessButton.read() == HIGH) {
guess = (guess % 6) + 1;
outputResult(guess);
Serial.print("Guess: ");
Serial.println(guess);
}
}
void handleStartButton() {
if (!startButton.update()) {
return;
}
if (startButton.read() == HIGH) {
const int result = random(1, 7);
outputResult(result);
Serial.print("Result: ");
Serial.println(result);
if (guess > 0) {
if (result == guess) {
Serial.println("You win!");
hooray();
} else {
Serial.println("You lose!");
}
}
delay(2000);
guess = 0;
}
}
void setup() {
pinMode(LED_BIT0, OUTPUT);
pinMode(LED_BIT1, OUTPUT);
pinMode(LED_BIT2, OUTPUT);
pinMode(START_BUTTON_PIN, INPUT);
pinMode(GUESS_BUTTON_PIN, INPUT);
randomSeed(analogRead(A0));
Serial.begin(BAUD_RATE);
startButton.attach(START_BUTTON_PIN);
startButton.interval(DEBOUNCE_DELAY);
guessButton.attach(GUESS_BUTTON_PIN);
guessButton.interval(DEBOUNCE_DELAY);
}
void loop() {
handleGuessButton();
handleStartButton();
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,32 @@
const unsigned int LED_BIT0 = 10;
const unsigned int LED_BIT1 = 11;
const unsigned int LED_BIT2 = 12;
const unsigned int BUTTON_PIN = 7;
int currentValue = 0;
int oldValue = 0;
void outputResult(const long result) {
digitalWrite(LED_BIT0, result & B001);
digitalWrite(LED_BIT1, result & B010);
digitalWrite(LED_BIT2, result & B100);
}
void setup() {
pinMode(LED_BIT0, OUTPUT);
pinMode(LED_BIT1, OUTPUT);
pinMode(LED_BIT2, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
randomSeed(analogRead(A0));
}
void loop() {
currentValue = digitalRead(BUTTON_PIN);
if (currentValue != oldValue && currentValue == HIGH) {
outputResult(random(1, 7));
delay(50);
}
oldValue = currentValue;
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,27 @@
const unsigned int BUTTON_PIN = 7;
const unsigned int LED_PIN = 13;
int oldButtonState = LOW;
int ledState = LOW;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
const int CURRENT_BUTTON_STATE = digitalRead(BUTTON_PIN);
if (CURRENT_BUTTON_STATE != oldButtonState &&
CURRENT_BUTTON_STATE == HIGH) {
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(LED_PIN, ledState);
}
oldButtonState = CURRENT_BUTTON_STATE;
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,17 @@
const unsigned int BUTTON_PIN = 7;
const unsigned int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
const int BUTTON_STATE = digitalRead(BUTTON_PIN);
if (BUTTON_STATE == HIGH) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,21 @@
const unsigned int BUTTON_PIN = 7;
const unsigned int LED_PIN = 13;
int ledState = LOW;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT);
}
void loop() {
const int CURRENT_BUTTON_STATE = digitalRead(BUTTON_PIN);
if (CURRENT_BUTTON_STATE == HIGH) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(LED_PIN, ledState);
}

View File

@@ -0,0 +1 @@
../../../arduino.mk

View File

@@ -0,0 +1,5 @@
void setup() {
}
void loop() {
}

View File

@@ -0,0 +1,105 @@
// vim:filetype=arduino
#include <ctype.h>
#include <Arduino.h>
#include "telegraph.h"
const char* LETTERS[] = {
".-", // A
"-...", // B
"-.-.", // C
"-..", // D
".", // E
"..-.", // F
"--.", // G
"....", // H
"..", // I
".---", // J
"-.-", // K
".-..", // L
"--", // M
"-.", // N
"---", // O
".--.", // P
"--.-", // Q
".-.", // R
"...", // S
"-", // T
"..-", // U
"...-", // V
".--", // W
"-..-", // X
"-.--", // Y
"--.." // Z
};
const char* DIGITS[] = {
"-----", // 0
".----", // 1
"..---", // 2
"...--", // 3
"....-", // 4
".....", // 5
"-....", // 6
"--...", // 7
"---..", // 8
"----.", // 9
};
Telegraph::Telegraph(const int output_pin, const int dit_length) {
_output_pin = output_pin;
_dit_length = dit_length;
_dah_length = dit_length * 3;
pinMode(_output_pin, OUTPUT);
}
void Telegraph::output_code(const char* code) {
const unsigned int code_length = strlen(code);
for (unsigned int i = 0; i < code_length; i++) {
if (code[i] == '.') {
dit();
} else {
dah();
}
if (i != code_length - 1) {
delay(_dit_length);
}
}
}
void Telegraph::dit() {
Serial.print(".");
output_symbol(_dit_length);
}
void Telegraph::dah() {
Serial.print("-");
output_symbol(_dah_length);
}
void Telegraph::output_symbol(const int length) {
digitalWrite(_output_pin, HIGH);
delay(length);
digitalWrite(_output_pin, LOW);
}
void Telegraph::send_message(const char* message) {
unsigned int message_length = (unsigned int)strlen(message);
for (unsigned int i = 0; i < message_length; i++) {
const char current_char = toupper(message[i]);
if (isalpha(current_char)) {
output_code(LETTERS[current_char - 'A']);
delay(_dah_length);
} else if (isdigit(current_char)) {
output_code(DIGITS[current_char - '0']);
delay(_dah_length);
} else if (current_char == ' ') {
Serial.print(" ");
delay(_dit_length * 7);
}
}
Serial.println();
}

View File

@@ -0,0 +1,18 @@
#ifndef __TELEGRAPH_H__
#define __TELEGRAPH_H__
class Telegraph {
public:
Telegraph(const int output_pin, const int dit_length);
void send_message(const char* message);
private:
void dit();
void dah();
void output_code(const char* code);
void output_symbol(const int length);
int _output_pin;
int _dit_length;
int _dah_length;
};
#endif