Advertisement
learnelectronics

Arduino RF Field Strength Meter

Feb 8th, 2018
1,620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.10 KB | None | 0 0
  1. /*   Arduino RF Field Strength Meter
  2.  *    
  3.  *    learnelectronics
  4.  *    6 Feb 2018
  5.  *    
  6.  *    www.youtube.com/c/learnelectronics
  7.  *    email: [email protected]
  8.  *    
  9.  *    Input from detector ->A0
  10.  *    Neopixel data: D3
  11.  *    
  12.  */
  13. #include <Adafruit_NeoPixel.h>                          //inclde the library to drive the neopixel ring
  14.  
  15. #define rfIn            A0                              //detect the rf energy on analog pin 0
  16. #define PIN              3                              //neopixels are on digital 3
  17. #define NUMPIXELS       24                              //number of pixels in ring
  18.  
  19. int level = 0;                                          //variables for calculating the rf energy
  20. int rfStrength = 0;
  21. int avelevel = 0;
  22. int ave = 0;
  23.  
  24.  
  25. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);   //create instance of the neopixel ring
  26.  
  27.  
  28.  
  29. void setup() {
  30.  
  31.   pixels.begin();                                       //begin the neopixel ring
  32.  
  33. }
  34.  
  35.  
  36. void loop() {
  37.  
  38.   for (int n = 0; n<20; n++){                           //take 20 readings
  39.     level = analogRead(rfIn);                           //read instant energy on rfIn
  40.     int rfStrength = map(level, 0, 35, 0, 24);          //map it to number of pixels
  41.     ave = ave + rfStrength;                             //keep running total
  42.      
  43.   }
  44.   avelevel = ave/20;                                    //average the readings
  45.  
  46.  
  47.  
  48.   for (int m = 0; m<avelevel; m++){                     //loop to light number of pixels
  49.     pixels.setPixelColor(m, pixels.Color(0,150,0));     //light the average number of pixels green
  50.     pixels.show();                                      //turn em on
  51.    
  52.   }
  53.  
  54.  
  55.  
  56.     pixels.setPixelColor(24, pixels.Color(0,0,0));      //turn em off
  57.     pixels.setPixelColor(23, pixels.Color(0,0,0));
  58.     pixels.setPixelColor(22, pixels.Color(0,0,0));
  59.     pixels.setPixelColor(21, pixels.Color(0,0,0));
  60.     pixels.setPixelColor(20, pixels.Color(0,0,0));
  61.     pixels.setPixelColor(19, pixels.Color(0,0,0));
  62.     pixels.setPixelColor(18, pixels.Color(0,0,0));
  63.     pixels.setPixelColor(17, pixels.Color(0,0,0));
  64.     pixels.setPixelColor(16, pixels.Color(0,0,0));
  65.     pixels.setPixelColor(15, pixels.Color(0,0,0));
  66.     pixels.setPixelColor(14, pixels.Color(0,0,0));
  67.     pixels.setPixelColor(13, pixels.Color(0,0,0));
  68.     pixels.setPixelColor(12, pixels.Color(0,0,0));
  69.     pixels.setPixelColor(11, pixels.Color(0,0,0));
  70.     pixels.setPixelColor(10, pixels.Color(0,0,0));
  71.     pixels.setPixelColor(9, pixels.Color(0,0,0));
  72.     pixels.setPixelColor(8, pixels.Color(0,0,0));
  73.     pixels.setPixelColor(7, pixels.Color(0,0,0));
  74.     pixels.setPixelColor(6, pixels.Color(0,0,0));
  75.     pixels.setPixelColor(5, pixels.Color(0,0,0));
  76.     pixels.setPixelColor(4, pixels.Color(0,0,0));
  77.     pixels.setPixelColor(3, pixels.Color(0,0,0));
  78.     pixels.setPixelColor(2, pixels.Color(0,0,0));
  79.     pixels.setPixelColor(1, pixels.Color(0,0,0));
  80.     pixels.setPixelColor(0, pixels.Color(0,0,0));
  81.     pixels.show();
  82.    
  83.  
  84.  
  85.  ave=0;                                                   //reset the counter
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement