Idle Waste Alarm



Research
Idle Fuel Consumption
0.6L/HR per Liter Engine Displacement

Sample
Toyota Camry 2.5L 4CYL (#1 U.S. Mid-sized Sedan)
2.5 x 0.6 = 1.5 / 60 = 0.025L/M

Idle Pollution
9 gram(s) of toxins (ex. CO2) per 1 minute

Walmart Locations
United States 4,540
International 6,301
Sam's Club 647

Calculation (Muted Prognosis)
10 Idle Texters per Day per U.S. Walmart Parking Lot
10 x 4,540 = 45,400

45,400 x 9 = 408,600 Grams (901 Pounds) of Pollutants per Minute
408,600 x 5 Minutes Texting = 2,043,000 Grams (4,504 Pounds)
408,600 x 20 Minutes = 8,172,000 Grams (18,016 Pounds)

45,400 x 0.025 = 1,135 Liters (299.8 Gallons) per Minute
1,135 x 5 Minutes Texting = 5,675 Liters (1,499 Gallons)
1,135 x 20 Minutes = 22,700 Liters (5,997 Gallons)


  1. // Idle Waste Alarm
  2. // pkvi
  3. // MPU-6050 Sketch JohnChi
  4. #include "Wire.h"
  5. // I2C address of the MPU-6050
  6. const int MPU_addr = 0x68;
  7. int16_t AcY;
  8. // Sensitivity
  9. int high = 2700;
  10. int low = -2700;
  11. int set = 0;
  12. int dif = 0;
  13. // State
  14. int state = 1;
  15. // Time Variables
  16. long echo = 0;
  17. int dly = 100;
  18. // 120 seconds
  19. // Avg red light Wait 90 seconds
  20. long sepone = 22500;
  21. long septwo = 45000;
  22. long septhree = 67500;
  23. long sepfour = 90000;
  24. // LEDs and Piezo
  25. // Green
  26. int one = 3;
  27. int two = 4;
  28. int three = 5;
  29. // Yellow
  30. int four = 6;
  31. // Red and Piezo
  32. int five = 7;
  33. void setup() {
  34. Wire.begin();
  35. Wire.beginTransmission(MPU_addr);
  36. Wire.write(0x6B);
  37. Wire.write(0);
  38. Wire.endTransmission(true);
  39. Serial.begin(9600);
  40. pinMode(one, OUTPUT);
  41. pinMode(two, OUTPUT);
  42. pinMode(three, OUTPUT);
  43. pinMode(four, OUTPUT);
  44. pinMode(five, OUTPUT);
  45. digitalWrite(one, HIGH);
  46. digitalWrite(two, LOW);
  47. digitalWrite(three, LOW);
  48. digitalWrite(four, LOW);
  49. digitalWrite(five, LOW);
  50. }
  51. void loop() {
  52. // GY-52 Communication
  53. Wire.beginTransmission(MPU_addr);
  54. Wire.write(0x3B);
  55. Wire.endTransmission(false);
  56. Wire.requestFrom(MPU_addr, 14, true);
  57. // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
  58. AcY = Wire.read() << 8 | Wire.read();
  59. // Variance From Last Position
  60. dif = AcY - set;
  61. // Testing
  62. Serial.print("YAxi ");
  63. Serial.print(AcY);
  64. Serial.print(" Difr ");
  65. Serial.print(dif);
  66. Serial.print(" Mils ");
  67. Serial.println(echo);
  68. // IF Motion Reset Minimums
  69. if (dif > high || dif < low) {
  70. digitalWrite(one, HIGH);
  71. digitalWrite(two, LOW);
  72. digitalWrite(three, LOW);
  73. digitalWrite(four, LOW);
  74. digitalWrite(five, LOW);
  75. state = 1;
  76. echo = 0;
  77. }
  78. else {
  79. if (state == 1) {
  80. if (echo >= sepone) {
  81. digitalWrite(two, HIGH);
  82. state = 2;
  83. }
  84. }
  85. else if (state == 2) {
  86. if (echo >= septwo) {
  87. digitalWrite(three, HIGH);
  88. state = 3;
  89. }
  90. }
  91. else if (state == 3) {
  92. if (echo >= septhree) {
  93. digitalWrite(four, HIGH);
  94. state = 4;
  95. }
  96. }
  97. else if (state == 4) {
  98. if (echo >= sepfour) {
  99. digitalWrite(five, HIGH);
  100. }
  101. }
  102. }
  103. // Reset Last Position
  104. set = AcY;
  105. // 1/10 Second
  106. echo = echo + dly;
  107. delay(dly);
  108. }

Menu
Index
Engineering
Entertainment
Literature
Miscellaneous
Contact
Search
tiktok.com/@pkvi.xyz
Why Ayh?
Miter
Miter
@pkvi
"...may not meet professional standards."
2,364 miters
123 tenons
Subscribe
0.00361