Thunder Bolts

Current solutions being developed:

Motion detector can automatically stop tram before collision - activates RGB light in red as brake light, buzzer as warning sound

* Fully implemented

Button for emergency stop, triggers alert system

* Fully implemented

Fan control – fan activates at certain temperature (data also from internet?) BUT turns off if doors open​

* Mostly implemented

Lights turn on first as dim, then later gradually brighter​

* Unimplemented

Passenger information system via display- cycling through info e.g. temp, next tramp stop, alert (if sudden stop)

* Fully implemented

Data sent to website e.g. log of actions, passenger numbers, alerts, temperature on tram

* Implementation started

Possible additional solutions:

Unordered List ItemSmoking detector warns if any smoke or toxic gas is detected​

Motion detector detects how many people used the tram

Problem: Energy waste with lights being on all the time.

Solution: Lights switching on and off automatically depending on the time of day or if motion sensor detects someone walking through the doors.

Online powerpoint presentation PowerPoint presentation

Gas Leak Detection and Prevention project using the Keyestudio IoT Smart Home Kit for ESP32.

Problem: Gas Leak Detection and Prevention

Gas leaks can occur due to faulty appliances, pipelines, or connections, leading to potentially disastrous consequences. A smart gas leak detection system can alert homeowners and automate safety measures to prevent accidents.

Components:

1. Gas Sensor (MQ-2/MQ-5/MQ-9): Detects gas leaks and measures gas concentrations. 2. ESP32 Microcontroller: Processes sensor data, sends alerts, and controls safety measures. 3. Wi-Fi Module: Enables internet connectivity for remote monitoring and alerts. 4. Relay Module: Controls external devices like gas valves or ventilation systems. 5. Buzzer/Siren: Provides local alerts in case of gas leaks. 6. Smartphone App/Email: Receives notifications and alerts.

Solution:

1. Gas Leak Detection: The gas sensor detects abnormal gas levels and sends data to the ESP32. 2. Data Processing: The ESP32 processes the sensor data and determines if a gas leak is present. 3. Alert System: If a gas leak is detected, the ESP32 sends notifications to the homeowner's smartphone or email. 4. Automated Safety Measures: The ESP32 can trigger the relay module to shut off gas valves or activate ventilation systems.

Project Steps:

1. Hardware Setup: Connect the gas sensor, relay module, and buzzer/siren to the ESP32. 2. Software Setup: Write code for the ESP32 to read sensor data, send alerts, and control safety measures. 3. Wi-Fi Configuration: Connect the ESP32 to the internet for remote monitoring. 4. Testing and Calibration: Test the system and calibrate the gas sensor for accurate detection.

Benefits:

1. Enhanced Safety: Early detection and alerts prevent accidents. 2. Peace of Mind: Homeowners can monitor their homes remotely. 3. Prevention: Automated safety measures reduce risk.

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h3>Daily passenger count:</h3><!--Motion detector detects how many people used the tram-->
<h3>Tram is moving: [yes/no]</h3> <!--Motion detector can automatically stop tram before collision - activates RGB light in red as brake light, buzzer as warning sound-->
<h3>Button for emergency stop: [on/off]</h3> <!--Button for emergency stop, triggers alert system-->
<h3>Fan: [on/off]</h3> <!--Fan control – fan activates at certain temperature (data also from internet?) BUT turns off if doors open-->
<h3>Lights: [dim/brighter/brightest]</h3> <!--Lights turn on first as dim, then later gradually brighter-->
<h3>Display information: [temperature outside/time until tram arrives at the next stop] </h3> <!--Passenger information system via display- cycling through info e.g. temp, next tramp stop, alert (if sudden stop)-->
<h3></h3> <!--Data sent to website e.g. log of actions, passenger numbers, alerts, temperature on tram-->
<script>
// Refresh the page every 1000 milliseconds (1 second)
setInterval(function () {
location.reload();
}, 1000);
</script>
</body>
</html>