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
}