——
#DonLucElectronics #DonLuc #Time #EMF #NeoPixel #Arduino #ESP32 #SparkFunESP32WROOM #Project #Programming #Electronics #Microcontrollers #Consultant #VideoBlog
——
——
——
——
——
EMF Meters
EMF measurements are measurements of ambient electromagnetic fields that are performed using particular sensors or probes, such as EMF meters. These probes can be generally considered as antennas although with different characteristics. In fact, probes should not perturb the electromagnetic field and must prevent coupling and reflection as much as possible in order to obtain precise results. EMF probes may respond to fields only on one axis frequency selective measurements in which the measurement system consists of a field antenna and a frequency selective receiver or spectrum analyzer allowing to monitor the frequency range of interest. Amplified, active, probes can improve measurement precision and sensitivity but their active components may limit their speed of response.
SMA Connector
PCB edge mount – SMA RF connector. Perfect for prototyping with the GPS and Cellular devices that require an antenna connection. These connectors have a female signal pin and will correctly mate with the original SMA type antennas.
Telescopic Antenna SMA – 300 MHz to 1.1 GHz (ANT700)
This ANT700 is a telescopic antenna designed for operation from 300 MHz to 1.1 GHz with a total length that is configurable from 9.5 cm to 24.5 cm. Each ANT700 is constructed of stainless steel and features an SMA male connector, rotating shaft, and adjustable elbow.
DL2109Mk01
1 x SparkFun Thing Plus – ESP32 WROOM
1 x Telescopic Antenna SMA – 300 MHz to 1.1 GHz (ANT700)
1 x SMA Connector
1 x 3.3m Ohm
1 x NeoPixel Stick – 8 x 5050 RGB LED
1 x Pololu Adjustable Step-Up Voltage Regulator U1V11A
1 x Lithium Ion Battery – 850mAh
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable
SparkFun Thing Plus – ESP32 WROOM
NEO – Digital 15
EMF – Analog A1
VIN – +3.3V
GND – GND
DL2109Mk01p.ino
/*
***** Don Luc Electronics © *****
Software Version Information
Project #19: Time - EMF Meters - Mk10
09-01
DL2109Mk01p.ino
1 x SparkFun Thing Plus - ESP32 WROOM
1 x Telescopic Antenna SMA - 300 MHz to 1.1 GHz (ANT700)
1 x SMA Connector
1 x 3.3m Ohm
1 x NeoPixel Stick - 8 x 5050 RGB LED
1 x Pololu Adjustable Step-Up Voltage Regulator U1V11A
1 x Lithium Ion Battery - 850mAh
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable
*/
// Include Library Code
#include <Adafruit_NeoPixel.h>
// NeoPixels
// On digital pin 15
#define PIN 15
// NeoPixels NUMPIXELS = 8
#define NUMPIXELS 8
// Pixels
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Neopix
int iNeo = 0;
// Value
int z = 0;
// EMF Meter (Single Axis)
int iEMF = A1;
// Raise this number to increase data smoothing
#define NUMREADINGS 15
// Raise this number to decrease sensitivity (up to 1023 max)
int senseLimit = 15;
// EMF Value
int val = 0;
// Readings from the analog input
int readings[ NUMREADINGS ];
// Index of the current reading
int indexEMF = 0;
// Running total
int totalEMF = 0;
// Final average of the probe reading
int averageEMF = 0;
// Software Version Information
// Version
String sver = "19-10";
void loop()
{
// EMF Meter (Single Axis)
isEMF();
delay(250);
}
getEMF.ino
// EMF Meter (Single Axis)
// EMF Meter
void isEMF() {
isNUMPIXELSoff();
// Probe EMF Meter
for (int i = 0; i < NUMREADINGS; i++){
// Readings
readings[ i ] = analogRead( iEMF );
// Average
averageEMF += readings[i];
}
// Calculate the average
val = averageEMF / NUMREADINGS;
// If the reading isn't zero, proceed
if( val >= 1 ){
// Turn any reading higher than the senseLimit value into the senseLimit value
val = constrain( val, 1, senseLimit );
// Remap the constrained value within a 1 to 1023 range
val = map( val, 1, senseLimit, 1, 1023 );
// Subtract the last reading
totalEMF -= readings[ indexEMF ];
// Read from the sensor
readings[ indexEMF ] = val;
// Add the reading to the total
totalEMF += readings[ indexEMF ];
// Advance to the next index
indexEMF = ( indexEMF + 1 );
// If the average is over 50 ...
if (averageEMF > 50){
z = 0;
isNUMPIXELS();
}
// If the average is over 250 ...
if (averageEMF > 250){
z = 1;
isNUMPIXELS();
}
// If the average is over 350 ...
if (averageEMF > 350){
z = 2;
isNUMPIXELS();
}
// If the average is over 500 ...
if (averageEMF > 500){
z = 3;
isNUMPIXELS();
}
// If the average is over 650 ...
if (averageEMF > 650){
z = 4;
isNUMPIXELS();
}
// If the average is over 750 ...
if (averageEMF > 750){
z = 5;
isNUMPIXELS();
}
// If the average is over 850 ...
if (averageEMF > 850){
z = 6;
isNUMPIXELS();
}
// If the average is over 950 ...
if (averageEMF > 950){
z = 7;
isNUMPIXELS();
}
// Average
averageEMF = 0;
}
else
{
// Average
averageEMF = 0;
}
}
getNeopix.ino
// NeoPixels
// Neopix
void isNeopix()
{
// Pixels
pixels.setBrightness( 150 );
// Pixels color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor( iNeo, pixels.Color(red,green,blue) );
// This sends the updated pixel color to the hardware
pixels.show();
// Delay for a period of time (in milliseconds)
delay(50);
}
// isNUMPIXELS
void isNUMPIXELS()
{
// Neopix Value
switch ( z ) {
case 0:
// NeoPixels
// Green
// Red
red = 0;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 0;
isNeopix();
break;
case 1:
// NeoPixels
// Green
// Red
red = 0;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 1;
isNeopix();
break;
case 2:
// NeoPixels
// Green
// Red
red = 0;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 2;
isNeopix();
break;
case 3:
// NeoPixels
// Yellow
// Red
red = 255;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 3;
isNeopix();
break;
case 4:
// NeoPixels
// Yellow
// Red
red = 255;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 4;
isNeopix();
break;
case 5:
// NeoPixels
// Yellow
// Red
red = 255;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 5;
isNeopix();
break;
case 6:
// NeoPixels
// Yellow
// Red
red = 255;
// Green
green = 255;
// Blue
blue = 0;
// Neopix
iNeo = 6;
isNeopix();
break;
case 7:
// NeoPixels
// Red
// Red
red = 255;
// Green
green = 0;
// Blue
blue = 0;
// Neopix
iNeo = 7;
isNeopix();
break;
}
}
// isNUMPIXELSoff
void isNUMPIXELSoff()
{
// Black Off
// NeoPixels
for(int y=0; y < NUMPIXELS; y++)
{
red = 0; // Red
green = 0; // Green
blue = 0; // Blue
iNeo = y; // Neopix
isNeopix();
}
}
setup.ino
// Setup
void setup()
{
// NeoPixels
// This initializes the NeoPixel library
pixels.begin();
// isNUMPIXELS Off
isNUMPIXELSoff();
}
——
People can contact us: https://www.donluc.com/?page_id=1927
Technology Experience
- Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc…)
- IoT
- Robotics
- Research & Development (R & D)
- Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
- Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
- Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
- Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
- Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
- Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
- eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)
Instructor
- PIC Microcontrollers
- Arduino
- Raspberry Pi
- Espressif
- Robotics
- DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
- Linux-Apache-PHP-MySQL
Follow Us
J. Luc Paquin – Curriculum Vitae – 2021 English & Español
https://www.jlpconsultants.com/CV/LucPaquinCVEngMk2021c.pdf
https://www.jlpconsultants.com/CV/LucPaquinCVEspMk2021c.pdf
Web: https://www.donluc.com/
Web: https://www.jlpconsultants.com/
Web: https://www.donluc.com/DLE/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Don Luc



