Mosquito, fly, and others, insect control, an optical method

It works on: mosquitoes, flies, fruit flies, butterflies, wasps, bees, lovebugs . . . . and others.
INTRODUCTION:

In the ball room and under a rotating disco ball guests find themselves being chased around by little light dots. If those dot are portraited ed as “living” Things the insects will shine if not run away from the areas.

The method animate the disco ball effect by mounting a LED strip on a round circle band and animate its light to running around and around, forward and reverse to have its light reaching the insects head first or tail first.

To portrait a light as a “living thing” we have its color continuously change for passive objects have steady color. During the research of “Mosquito control; an optical method” we tested and find it's effective within the range of 60 to 500hz translate to the the timing range ofrom0.5 to 8.33 ms a color to stay on before changing to he next.
Equipment:
Beside Arduino you need a high density individually addressable light strip such as AMAZON

type or paste code here


#include <FastLED.h>
// How many leds in your strip?
#define NUM_LEDS 144

// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 11

CRGB leds[NUM_LEDS+1];


#define CLOCK_PIN 13

char flags[150];


void setup() { 
 
    FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);  // GRB ordering is assumed
    int x,y;
    for(y=0;x<150;x++) 
    
      {
        if(x%6<4) flags[x]=255; else flags[x]=0;
      }
   
  for(x=0;x<144;x++){ if(x%6 <4)leds[x] = CRGB::Red; else leds[x] = CRGB::Black;}FastLED.show();  delay(2000);
  for(x=0;x<144;x++){ if(x%6<4)leds[x] = CRGB::Green; else leds[x] = CRGB::Black;}FastLED.show();  delay(2000);
  for(x=0;x<144;x++){ if(x%6<4)leds[x] = CRGB::Blue; else leds[x] = CRGB::Black;} FastLED.show();  delay(2000);
  
 }

void loop() { 
  // Turn the LED on, then pause
  int frame, offset;
  int x,y, packet;
  int cycle_per_frame, cycle_count;
  cycle_per_frame=13;
  frame = offset =0;
  cycle_count=0;
  char*zz;
  
  while(1)
    {
      //SET RED Then OFF at 500 hx;
    y=offset;

    for(x=0, y=offset;x<144;x++,y++)leds[x].r = flags[y];   FastLED.show();  // it takes 4.25 ms to finish lighting all 144 LED

    for(x=0, y=offset;x<144;x++,y++) leds[x].g = flags[y];FastLED.show();
    
    for(x=0, y=offset;x<144;x++,y++) leds[x].b = flags[y];FastLED.show(); 
    
    cycle_count++;
    
    if(cycle_count== cycle_per_frame) {cycle_count=0; frame++;} // one step 1 step turing around
    
    offset= frame %6;
    
    if((frame /48) &1) offset=5-offset; // change direction every 1/4 round

    }

}

My experimental setting for outdoor in the backyard and front yard as control


Using fly magnet fly AMAZON'S traps at front yard and backyard. The picture shows R,G,B but our brain mic them up to appear as 'white' to human's eyes.

And the result after 2 weeks The trap in frontward (control) contains carcasses of thousands of flies and only few in the backyard where ight was installed.

The video shows how the animation of a disco ball effect looked. animation is not a real, we can't make the dots run but we can make them hop. 1 pixel at a time. I
I's look white b/c we fixed the code in order to take the video - we use Iphone-
How the device looked. Please Click Me

This video shows a fly try to hide in the sunlight where she can't see our "disco ball" effect
Please Click Me

The size of our backyard only allows us to test the effective radius of the light up to 30 feet.
It Works. Throughout

Interesting - have you double checked how many flies you get with the light off ? Or with a steady white light ? That will show you the improvement gained

the picture shows the trap in front yard (without the light)., other side of the house I caught 100s daily. With the light OFF in the cases of power outage They comes every where.
thanks.

BTW: Backyard is where out trash, trash cans are.
It's look steady white to human , in the uploaded picture show as such because we fix the code to emit only white in order to show how its looked without it, I could not take the "white" pictures or video on my Iphone , the images it took in frozen moment which is either R or G or B. (in my earlier pic.)
The "WHIE" light does not repel.

This video was captured the light in its working state.
It also demonstrates how the light appears in the eyes of the insect. Their processing times on images are much, much faster than oursHow the insect "look at the light . . . Pleas click

```LATER NETTER CODE For UNO and NANO
#include <FastLED.h>
#include "avr/io.h"
// How many leds in your strip?
#define NUM_LEDS 144
#define DATA_PIN 11
char flags[150];
CRGB leds[NUM_LEDS];

#define CLOCK_PIN 13
#define SIXTH_CIRCLE 24

void setup() {
int x,y;
Serial.begin(9600); Serial.println ("just test");

FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds,NUM_LEDS );  // GRB ordering is assumed    

for(x=0;x<144+6;x++)
{
y=x%6;
if (y ==3|| y==5)flags[x]=0;
else flags[x]=255;
}
for(x=0;x<144;x++)leds[x].r=flags[x]; FastLED.show(); delay(2000);
for(x=0;x<144;x++)leds[x].g=flags[x]; FastLED.show(); delay(2000);
for(x=0;x<144;x++)leds[x].b=flags[x]; FastLED.show(); delay(2000);
}

void loop() {
int frame, offset;
int x,y, packet;
int cycle_per_frame, cycle_count;
cycle_per_frame=12 ;

frame = offset =0;
cycle_count=0;

while(1)
{
//SET RED Then OFF at 500 hx;
y=offset;

for(x=0, y=offset;x<144;x++,y++)leds[x].r = flags[y];   FastLED.show();  // it takes 4.25 ms to finish lighting all 144 LED


for(x=0, y=offset;x<144;x++,y++) leds[x].g = flags[y];FastLED.show();

for(x=0, y=offset;x<144;x++,y++) {leds[x].b = flags[y];leds[x].r = flags[y];}    FastLED.show(); 

cycle_count++;

if(cycle_count== cycle_per_frame) {cycle_count=0; frame++;} // one step 1 step turing around

offset= frame %6;

if((frame /(SIXTH_CIRCLE/2)) &1) offset=5-offset; // change direction every 1/12 cycle

}

}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.