/*****************************************************************
MASTER ARDUINO PROJECT (WOKWI)
Use #if 1 to activate ONE assignment at a time
*****************************************************************/
// ================== ASSIGNMENT 1 ==================
#if 1
// assignment - 1
// Blinking LED
/*
WOKWI STEPS:
1. Add LED + 220 ohm resistor
2. Connect:
D13 -> Resistor -> LED Anode
LED Cathode -> GND
3. Run simulation
*/
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
#endif
// ================== ASSIGNMENT 2 ==================
#if 0
// assignment - 2
// DHT11 Sensor
/*
WOKWI STEPS:
1. Add DHT11
2. Connections:
VCC -> 5V
GND -> GND
DATA -> D2
3. Open Serial Monitor
*/
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
Serial.print("Temp: ");
Serial.print(t);
Serial.print(" Hum: ");
Serial.println(h);
delay(2000);
}
#endif
// ================== ASSIGNMENT 8 ==================
#if 0
// assignment - 8
// OLED Display
/*
WOKWI STEPS:
1. Add OLED (SSD1306)
2. Connections:
SDA -> A4
SCL -> A5
VCC -> 5V
GND -> GND
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
display.setCursor(0,0);
display.setTextSize(2);
display.setTextColor(WHITE);
display.println("HELLO");
display.display();
delay(2000);
}
#endif
// ================== ASSIGNMENT 11 ==================
#if 0
// assignment - 11
// SD Card Logging
/*
WOKWI STEPS:
1. Add SD Module
2. Connect:
CS -> D4
MOSI -> D11
MISO -> D12
SCK -> D13
*/
#include <SPI.h>
#include <SD.h>
void setup() {
Serial.begin(9600);
if (!SD.begin(4)) {
Serial.println("SD FAIL");
return;
}
File file = SD.open("log.txt", FILE_WRITE);
file.println("Hello Log");
file.close();
}
void loop() {}
#endif
// ================== ASSIGNMENT 12 ==================
#if 0
// assignment - 12
// Smart Parking
/*
WOKWI STEPS:
1. Use button instead of IR
2. Connect:
Button -> D2
*/
const int sensor = 2;
void setup() {
Serial.begin(9600);
pinMode(sensor, INPUT_PULLUP);
}
void loop() {
if (digitalRead(sensor) == LOW) {
Serial.println("Car detected");
} else {
Serial.println("Slot empty");
}
delay(1000);
}
#endif
// ================== ASSIGNMENT 14 ==================
#if 0
// assignment - 14
// LDR Street Light
/*
WOKWI STEPS:
1. Add LDR + resistor divider
2. Connect output to A0
3. LED on D9
*/
const int LDR = A0;
const int LED = 9;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop() {
int val = analogRead(LDR);
if (val < 500) {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
Serial.println(val);
delay(500);
}
#endif