For your Enviro-kind Disposal needs : presenting the WRONGCO Quantum Mini Dispose-It-All with Enviro-kind Technology
The action packed video of this scifi product in operation:
The fail safe operation includes an infallible quantum farady cage with magnetic reed switch door interlocks, a cooling system for the transport bed, and an intuitive operator controls.
With WRONGCO, it just has to be right.
This disposal transports any trash, garbage, junk, criminal evidence, etc, into quantum something-ness.
We aren't sure where or when, but for sure, it's gone forever.
The Dispose-It-all can be purchased in 3 sizes: the Mini, The Maxi, and the Truck.
The controls use an Arduino Nano, a N.O. pushbutton, a buzzer, 4 LEDs, 28 WS2812 LEDs in 3 strips, a COB LED, an FET driver, a 5V relay, an atomizer, and a smidge of genius.
The WS2812s and COB LED are underneath the transport pad.

The code
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN 5
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 24
// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 200; // delay for half a second
int StartPB=HIGH;
int LidOpen=HIGH;
int CycleNotRunning=HIGH;
void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code
pixels.begin(); // This initializes the NeoPixel library.
pinMode(2, INPUT_PULLUP); //Start PB , trigger on LOW
pinMode(3, OUTPUT); //buzzer
////D5 is reserved for WS2812 string
pinMode(6, OUTPUT); //RED IL - process started
pinMode(7, OUTPUT); //cover on - mag sw closed
pinMode(8, OUTPUT); // YELLOW LED - cooldown cycle
pinMode(9, OUTPUT); //safe to open
pinMode(10, INPUT_PULLUP); //mag sw LID OPEN
pinMode(11, OUTPUT); // MIST RELAY
pinMode(12, OUTPUT); //COB LED MOSFET driver
//initialize the LED bar
for(int i=0;i<24;i++)
{ pixels.setPixelColor((i), pixels.Color(0,0,0)); //off
pixels.show(); // This sends the updated pixel color to the hardware.
delay(5);
}
}
void LEDSCAN ()
{
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(200,0,0)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(200,0,0)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(200,100,0)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(200,100,0)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(150); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(100,200,0)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(100,200,0)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(100); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,200,100)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(0,200,100)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(50); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,100,200)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(0,100,200)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(25); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,50,200)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(0,50,200)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(15); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,0,200)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(0,0,200)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10); // Delay for a period of time (in milliseconds).
}
for (int k=0; k<15;k++)
{
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,0,220)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color(0,0,220)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10); // Delay for a period of time (in milliseconds).
}
}
}
void Beeper ()
{
for (int j=0; j<25; j++)
{
tone(3,3000,800);
delay(100);
tone(3,1000,800);
delay(100);
}
}
void Beeper1 ()
{
for (int j=0; j<10; j++)
{
tone(3,3000,800);
tone(3,4000,200);
tone(3,1000,800);
}
}
void LED_Cooldown()
{
for(int m=0;m<150;m++)
{
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor((i), pixels.Color((200-m),0,(180-m))); // Moderately bright green color.
// pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
pixels.setPixelColor((23-i), pixels.Color((200-m),0, (180-m))); // Moderately bright green color.
// pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }// Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(15); // Delay for a period of time (in milliseconds).
}
delay(10);
}
for(int i=0;i<12;i++)
{
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
// pixels.setPixelColor((i), pixels.Color((255-m),(245-m),0)); // Moderately bright green color.
pixels.setPixelColor((i-1), pixels.Color(0,0,0)); // Moderately bright green color.
// pixels.setPixelColor((23-i), pixels.Color((255-m),(245-m),0)); // Moderately bright green color.
pixels.setPixelColor(((23-i)+1), pixels.Color(0,0,0)); // Moderately bright green color.
if (i==11){ pixels.setPixelColor((11), pixels.Color(0,0,0)); }//
if (i==11){ pixels.setPixelColor((12), pixels.Color(0,0,0)); }//
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10); // Delay for a period of time (in milliseconds).
}
}
void loop() {
// For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.
/// drive white LED9 cycle not running
CycleNotRunning=HIGH;
if (CycleNotRunning==HIGH){ digitalWrite(9, HIGH);}
else { digitalWrite(9,LOW);}
/// serve LID OPEN LED
LidOpen = digitalRead(10); //READS HIGH WHEN DOOR IS OPEN
if (LidOpen==LOW)
{ digitalWrite(7, HIGH);}//LID OPEN LED BLUE
else
{ digitalWrite(7,LOW);} // LID OPEN LED off BLUE
/// if start pressed with lid open - annunciate condition by buzzer and flash blue LED
StartPB = digitalRead(2); // read input 2 START PB has pullup,
if ((StartPB==LOW)&&(LidOpen==HIGH)) ///LIDOPEN HIGH lites its LED
{
Beeper();
for(int i=0;i<12;i++)
{
digitalWrite(7,LOW); // LID OPEN LED off BLUE
delay(300);
digitalWrite(7,HIGH); // LID OPEN LED off BLUE
delay(300);
}
}
StartPB = digitalRead(2); // read input 2 START PB has pullup,
if ((StartPB==LOW)&&(LidOpen==LOW))
{
digitalWrite(9,LOW); //turn off CYCLE NOT RUNNING LED
digitalWrite(6,HIGH); //turn ON RUNNING LED
// tone(pin, frequency, duration) frequency: the frequency of the tone in hertz. Allowed data types: unsigned int.
// duration: the duration of the tone in milliseconds (optional). Allowed data types: unsigned long.
tone(3,500,1000);
delay(250);
tone(3,1000,1000);
delay(250);
tone(3,2000,1000);
delay(250);
tone(3,2500,1000);
delay(250);
tone(3,3000,1000);
delay(250);
tone(3,3500,1000);
delay(250);
digitalWrite(11,HIGH); // start mist
delay(200);
digitalWrite(11,LOW); // start mist
LEDSCAN();
digitalWrite(12,HIGH); // flash COB ON
delay(400);
digitalWrite(12,LOW); // flash COB OFF
digitalWrite(8,HIGH); //turn ON CYCLE COOL DOWN
LED_Cooldown();
delay(2000); /// cooldown time
/// ----- stop mist by closing pb twice ------
digitalWrite(11,HIGH); // start mist
delay(200);
digitalWrite(11,LOW); // start mist
delay(500);
digitalWrite(11,HIGH); // start mist
delay(200);
digitalWrite(11,LOW); // start mist
digitalWrite(8,LOW); //turn OFF CYCLE COOL DOWN
digitalWrite(6,LOW); //turn off CYCLE NOT RUNNING LED
Beeper1();
}
}