Full sketches from the Programming & Hardware Interfaces coursework.
#include <LiquidCrystal.h>
const int rs = 7, e = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, e, d4, d5, d6, d7);
unsigned long starttime = millis();
int time = 0;
void setup() {
lcd.begin(16,2);
}
void loop() {
for(int i = 0; i<31; i++){
int etime = (millis()-starttime);
if(i<15){
lcd.setCursor(i, 0);
}else{
lcd.setCursor(i-15, 1);
}
lcd.print((etime-time)/500);
delay(500);
lcd.clear();
}
time+=8000;
}
int blu = 3;
int grn = 5;
int red = 6;
int colors[3] = {3,5,6};
void setup() {
pinMode(red, OUTPUT);
pinMode(grn, OUTPUT);
pinMode(blu, OUTPUT);
}
void loop() {
analogWrite(red,0);
analogWrite(grn,0);
analogWrite(blu,0);
for(int i=0; i<3; i++){
for(int j = 0; j<=255; j++){
analogWrite(colors[i], j/2);
if(i==2){
analogWrite(colors[0], j/4);
}else{
analogWrite(colors[i+1], j/4);
}
delay(5);
}
for(int j = 255; j>=0; j--){
analogWrite(colors[i], j/2);
if(i==2){
analogWrite(colors[0], j/4);
}else{
analogWrite(colors[i+1], j/4);
}
delay(5);
}
}
}
int LED = 8;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
for(int i=1; i<151; i+=5){
digitalWrite(LED, HIGH);
delay(i);
digitalWrite(LED, LOW);
delay(i);
}
for(int j=151; j>1; j-=5){
digitalWrite(LED, HIGH);
delay(j);
digitalWrite(LED, LOW);
delay(j);
}
}
int RED = 6;
int YLW = 5;
int GRN = 4;
int BUTTON = 2;
void setup() {
Serial.begin(9600);
pinMode(BUTTON, INPUT_PULLUP);
for(int i = 4; i<7; i++){
pinMode(i, OUTPUT);
}
}
int count = 7;
bool state = 0;
bool iState = 0;
bool toggle = 0;
void loop() {
state = !digitalRead(BUTTON);
if((state ==1 && state != iState)){
count += 1;
delay(50);
toggle = !toggle;
}
if(count==4 || count > 6){
count = 4;
digitalWrite(RED, 1);
digitalWrite(YLW, 0);
digitalWrite(GRN, 0);
}else if(count == 5){
digitalWrite(RED, 0);
digitalWrite(YLW, 1);
digitalWrite(GRN, 0);
}else if(count == 6){
digitalWrite(RED, 0);
digitalWrite(YLW, 0);
digitalWrite(GRN, 1);
}
iState = state;
Serial.println(count);
delay(20);
}
int LED = 9;
int buzz = 12;
void setup() {
pinMode(A0, INPUT);
pinMode(LED, OUTPUT);
pinMode(buzz, OUTPUT);
Serial.begin(9600);
}
int light;
bool on = 0;
void loop() {
light = analogRead(A0);
int wait = map(light, 0, 1023, 750, 20);
on=!on;
if(light<120){
digitalWrite(LED, 0);
digitalWrite(buzz, 0);
}else{
digitalWrite(LED, on);
digitalWrite(buzz, on);
delay(wait);
}
Serial.println(light);
}
int LED = 9;
void setup() {
pinMode(A0, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
int thresh = 200;
int light;
void loop() {
light = analogRead(A0);
Serial.println(light);
delay(100);
if(light>thresh){
digitalWrite(LED, 0);
}else{
digitalWrite(LED, 1);
}
}
int BUTTON = 2;
int led = 6;
void setup() {
Serial.begin(9600);
pinMode(BUTTON, INPUT_PULLUP);
pinMode(led, OUTPUT);
}
int count = 0;
bool state = 0;
bool iState = 0;
bool toggle = 0;
void loop() {
state = !digitalRead(BUTTON);
if((state ==1 && state != iState)){
count += 1;
delay(50);
toggle = !toggle;
}
digitalWrite(led, toggle);
iState = state;
Serial.println(count);
delay(20);
}
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int buttonL = 2;
int buttonR = 3;
int ledR = 6;
int ledL = 5;
int correct;
float total = 0;
unsigned long start = 0;
float duration = 0;
void setup() {
lcd.begin(16, 2);
lcd.print("Hello Stopwatch!");
pinMode(buttonL, INPUT_PULLUP);
pinMode(buttonR, INPUT_PULLUP);
pinMode(ledL, OUTPUT);
pinMode(ledR, OUTPUT);
}
bool checkButton(int button){
bool state = !digitalRead(button);
if (state){
delay(30);
}
return state;
}
void await(const char* message1, const char* message2){
delay(500);
digitalWrite(ledR,0);
digitalWrite(ledL,0);
clearlcd();
lcd.setCursor(0,0);
lcd.print(message1);
lcd.setCursor(0,1);
lcd.print(message2);
while (true){
if(checkButton(buttonL) || checkButton(buttonR)){
break;
}
delay(20);
}
}
float react_timer(int correct, unsigned long start){
while(!checkButton(correct)){
delay(20);
}
unsigned long react = millis()-start;
float reaction = react/1000.0;
return reaction;
}
void loop() {
total = 0;
for(int i = 0;i<5;i++){
int delayTime = random(500, 5000);
int light = random(ledL, ledR+1);
if(light == ledL){
correct = buttonL;
}else{
correct = buttonR;
}
clearlcd();
lcd.print("Get Ready");
delay(delayTime);
clearlcd();
lcd.print("Now!");
digitalWrite(light, HIGH);
start = millis();
duration = react_timer(correct, start);
total+= duration;
char dura[16];
dtostrf(duration, 6, 3, dura);
await("Reaction", dura);
}
float avg = total/5;
char avgs[16];
dtostrf(avg, 6, 3, avgs);
await("Average: ", avgs);
await("Press to Play","");
}
void clearlcd() {
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 0);
}
← Back to Writeups