element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Achievement Levels
    • Benefits of Membership
    • Feedback and Support
    • Members Area
    • Personal Blogs
    • What's New on element14
  • Learn
    Learn
    • eBooks
    • Learning Center
    • Learning Groups
    • STEM Academy
    • Webinars, Training and Events
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Arduino Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Project Groups
    • Raspberry Pi Projects
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Or choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
SciFi Movie Props
  • Challenges & Projects
  • Project14
  • SciFi Movie Props
  • More
  • Cancel
SciFi Movie Props
Blog WRONGCO Quantum Mini Dispose-It-All with Enviro-kind Technology
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
SciFi Movie Props requires membership for participation - click to join
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: robogary
  • Date Created: 2 Nov 2023 4:02 AM Date Created
  • Views 954 views
  • Likes 8 likes
  • Comments 0 comments
  • quantum
  • arduino nano
  • robogary
  • rubber duck
  • scifimoviepropsch
  • arduino
Related
Recommended

WRONGCO Quantum Mini Dispose-It-All with Enviro-kind Technology

robogary
robogary
2 Nov 2023

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:

https://youtu.be/2_IlNWCMjsI

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

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.

image

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. 

image

 

image

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();
    
  }


}

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube