Carol’s IoT and Final Project Planning

Bill of Materials (BOM):

Idea1:

Clear Acrylic Sheets 1/8″ Thick 4″ x 6″https://www.amazon.com/gp/product/B0CLHQZJVZ/ref=ox_sc_act_title_1?smid=A37FRF5AURRF9M&psc=1

LED light

Idea4: Stainless Steel Hollow Ball (I want an opaque plastic or acrylic ball, but I don’t know if the thermal conductivity will be good enough): https://www.amazon.com/gp/product/B0BQZRW4VC/ref=ox_sc_act_image_1?smid=A2T37KO80TMWQQ&th=1

Possible temperature sensors:

TMP36 – Analog Temperature sensor – TMP36 https://www.adafruit.com/product/165

reference instruction https://www.instructables.com/TMP36-Temperature-Sensor-Arduino-Tinkercad/

Adafruit PCT2075 Temperature Sensor – STEMMA QT / Qwiic https://www.adafruit.com/product/4369

LED light


Rough draft circuit diagram:

Idea1 (a Playback Counting Board for YouTubers. After the video playback reaches a specific value 1000, the YouTube acrylic panel light on the desktop will be turned on) possible code:

const char *ssid = “YourWiFiSSID”;
const char *password = “YourWiFiPassword”;

const int buttonPin = D2; // Connect the push button to pin D2
const int ledPin = D3; // Connect the LED to pin D3

volatile int playbackCount = 0;

void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);

connectToWiFi();

attachInterrupt(digitalPinToInterrupt(buttonPin), incrementPlaybackCount, FALLING);
}

void loop() {
if (playbackCount >= 1000) {
digitalWrite(ledPin, HIGH); // Turn on the LED when playback count reaches 1000
} else {
digitalWrite(ledPin, LOW); // Turn off the LED if playback count is less than 1000
}
}

void incrementPlaybackCount() {
playbackCount++;
Serial.println(“Playback Count: ” + String(playbackCount));
}

void connectToWiFi() {
WiFi.begin(ssid, password);
Serial.print(“Connecting to WiFi”);

while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(“.”);
}

Serial.println(“\nConnected to WiFi”);
}

In this code:

  • The button is connected to pin D2 and set up with a pull-up resistor.
  • The LED is connected to pin D3.
  • The playbackCount is a counter that increments when the button is pressed (interrupt triggered).
  • The LED will turn on when the playback count reaches 1000.
  • The ESP8266 connects to the WiFi network using the provided credentials.

Idea4 (a Divinationcrystal ball. When your hand is close to the crystal ball for a period of time, the heat sensor will sense the heat and will light up the built-in LED lights):

Possible code:

const int heatSensorPin = A0; // Connect the heat sensor to analog pin A0
const int ledPin = 13; // Built-in LED on most Arduino boards

const int heatThreshold = 300; // Adjust this value based on your sensor and environment

void setup() {
pinMode(heatSensorPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
int heatValue = analogRead(heatSensorPin);
Serial.println(“Heat Value: ” + String(heatValue));

if (heatValue > heatThreshold) {
// If heat is detected, turn on the LED
digitalWrite(ledPin, HIGH);
} else {
// If no heat is detected, turn off the LED
digitalWrite(ledPin, LOW);
}

delay(1000); // Adjust the delay as needed
}

Final Project Planning


Caffeine v Hydration Coaster

Bill of Materials
– Acrylic $15-20
– TBD I would probably need to get a new controller to fit with slender design
– Mini display screen

@Becky, how complicated would it be to create a locking mechanism to lock coffee cup until catch up with water sips?

Dispenser Sensor

Bill of Materials
– 3D printed so lets say around $10
– PIR (motion) sensor
– button

Working on the circuit diagram visual

More coming soon… 😊

JIAQI’S final project ideas

1. Just cool, flexible sensor finger sleeves, remote control interaction effects、

————————————————————–

2. Sing as soon as you take a shower

————————————————————–

3. Correct the fitness posture of the camera, easy to fix

————————————————————–

4. Lifebar, just like to punch a BOSS

4.2 Drink water reminder

.

Emma’s Final Project Ideas

  1. Task Completion Button
    More specifically, a medication dispenser that sends notification via text that the person has taken their am/pm dose. This is inspired by taking care of an elderly woman and needing reassurance she has taken her pills. She is not tech savvy so a button that sends automated confirmation to her caregivers would be handy!
  2. Sip Counter
    I know I’m not the only one who 1) drinks a lot of coffee and 2) forgets to balance with water. This sip counter will keep me aware of my caffeine vs. water consumption!
    Design 1: smart coaster
    Design 2: smart scale

Yifan’s Final Project Ideas

Concept 1: Doggie

An ultrasonic sensor will record the activities and upload them to your phone.

If the user interacts less than 10 times, they will receive a warning message.

Concept 2: Desk game

Use the phone to control the soccer ball.

Concept 3: Kick this button

Record the laptop or the phone’s click times and send them to Ax. Ax will “kill” the control button.

11.14 Process

Javascript game combine with physical game

Create a mobile game:

  1. Choose a Game Development Platform:
    • Select a game development platform that suits your skill level and requirements. For example, Unity is a popular and powerful game development engine that supports cross-platform development.
  2. Learn Game Development Basics:
    • Acquire knowledge about basic concepts such as game design, scene creation, and character control.
  3. Create Game Scene:
    • Utilize game development tools to create a simple game scene and implement functionalities for controlling the character.
  4. Design User Interface (UI):
    • Add a virtual joystick, buttons, or other UI elements for control, which will be used for communication with the ESP8266.
  5. Write Game Logic:
    • Develop game logic, including the part that involves communication with the ESP8266. Here, you’ll need to define control commands and their corresponding actions.
  6. Export the Game:
    • Export the game as an application suitable for your target platform (iOS, Android, etc.).

ESP8266 Communication:

  1. Connect ESP8266 to WiFi network:
    • Use the WiFi library of ESP8266 to connect it to a WiFi network. You will need to provide the WiFi SSID and password.
  2. Create WebSocket Server:
    • Utilize the WebSocket library of ESP8266 to create a WebSocket server that listens for control signals from the mobile game.
  3. Write Code to Handle Control Signals:
    • Write code on ESP8266 to handle control signals received from the WebSocket. These signals will instruct the ESP8266 on how to move servos or perform other actions.
  4. Communicate with Mobile Game:
    • In the mobile game, use a WebSocket library or other network libraries to send control signals to the WebSocket server on ESP8266.
  5. Test:
    • Test the entire system, ensuring that control commands from the mobile game are correctly sent to ESP8266, and ESP8266 can accurately interpret and execute the corresponding actions.
  6. Debug and Optimize:
    • If there are any delays or communication issues, debug and perform necessary optimizations.

JavaScript

ESP8266 code

const char *ssid = “WiFiSSID”;
const char *password = “WiFiPassword”;
const int webSocketPort = 81;
const int buttonPin = 2;
const int servoPin = 5;

Servo myServo;
WebSocketsServer webSocketServer = WebSocketsServer(webSocketPort);

void handleWebSocketMessage(uint8_t num, uint8_t *data, size_t length) {
if (length > 0) {
int angle = data[0];
myServo.write(angle);
}
}

void setup() {
Serial.begin(115200);

pinMode(buttonPin, INPUT);
myServo.attach(servoPin);

WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println(“Connecting to WiFi…”);
}
Serial.println(“Connected to WiFi”);

webSocketServer.begin();
webSocketServer.onEvent(handleWebSocketMessage);
}

void loop() {
webSocketServer.loop();

if (digitalRead(buttonPin) == HIGH) {
myServo.write(90);
delay(1000);
} else {
myServo.write(0);
}
}

Nymph’s Final Project Proposal

Idea 1

Through the connection of Arduino LEDs and Arduino sensor, when people blow on the product, the light will go out!

Idea 2

This is a design that connects physical and digital products. Through the interaction of the LEDs and the Arduino sensor, the object on the screen can be moved or produce unexpected changes.

Designed to create an atmosphere and enhance the home experience!

Idea 3

This design achieves the roller coaster effect by changing the color of the Arduino Neo Pixel strips!!!

Haley’s final project ideas!

It’s timeeeeeeeeeeeee

One concept I’m considering is a memory-infused lamp. My vision involves adorning the lamp with repurposed or printed film rolls to allow the light to illuminate the images, offering users a unique perspective on their photographs. I previously crafted a lamp using my old film rolls during my high school years (노 don’t have a picture of it), and now I aspire to revisit this project with my enhanced skills.

My next concept is a magnetic speaker with a built-in glow! I’m really excited about the idea of merging my coding skills to control the LED lighting and the audio system. Nowadays, most speakers are just plain and unexciting, both in their shape and functionality. I’ve come up with a fun concept that breaks the mold both in terms of design and function.

My final idea also revolves around an audio system. It incorporates a transparent outer casing to showcase the inner components, and LED strips on the headband section for illumination. To be honest, this idea is my personal favorite among all, but I have some concerns about the assembly of all the required components.