I am looking for someone to make a EMF meter with a data logger module and preferable wifi. It does not need any lights on it. I do not know if this can be done and i have no clue on code. I know there is already a good base module for the EMF from Makezine, I am happy to pay for the code through Mr Paypal.
There is a forum section specifically for this and a few different forum members are willing to take on jobs at quire reasonable rates. I would recommend you to click the "Report to moderator" button on the bottom of your post and ask nicely for the moderator to move this thread to the "Gigs & Collaborations" forum section, where the right people will be more likely to see it.
Of course if you want to make the device yourself there are probably people here who can give you some advice for free but this will most likely consist of giving you a little help in learning how to do the project on your own. That will be more educational and fun for you but also more time consuming.
So, now that you post is here on G&C, you will need to explain what you want.
Do you have an EMF meter? Will it plug into an analog read, or do you talk to it with some sort of protocol?
The "data logger module" - were you thinking of writing to an SD card?
The "wifi" - what will this do? Did you want the logger to send data to a webserver somewhere?
Will this thing log all the time? Do you want to turn it on and off? How often should it send data to its logger?
Basically - what, in some detail, will this thing do?
Oh - and what did you want people here to do? Do you just need some code written (code is easy)? Did you want someone to design/fab a PCB? Were you hoping that someone can put the whole thing together for you and mail you your completed EMF logger thingy? It's all do-able.
Thanks for your reply.
All i want is code really as i have an idea of what else i need but have no idea of code.
I am binning the wireless idea as do not really need it.
What i need to do is have an Arduino as the EMF meter, sticking a sd data logger on top and have it record continuously as it will only be used for two hours at a time and have a bargraph run through a LM3916N-1 driver.
This is the code i was going to use for the EMF meter.
#define sample 300 //this is how many samples the device takes per reading
//more information for #define #define - Arduino Reference
int inPin = 5; //analog 5
float val; //where to store info from analog 5
int pin11 = 11; //output of red led
int array1[sample]; //creates an array with number of elements equal to "sample"
//more information about arrays http://arduino.cc/en/Reference/Array
unsigned long averaging; //the program uses this variable to store the sum of each array it makes
void setup() {
Serial.begin(9600);
}
void loop() {
for(int i = 0; i < sample; i++){ //this code tells the program to fill each element in the array we made with
array1 = analogRead(inPin); //information from the antenna wire coming out of the Arduino
_ averaging += array1*; //more information about for loops http://arduino.cc/en/Reference/For*_
} //the averaging line is simply saying: add averaging to whatever is in array position i
_ //averaging += array is the same as averaging = averaging + array
* //for more information about += http://arduino.cc/en/Reference/IncrementCompound*_
val = averaging / sample; //here the program takes the sum of all numbers in array1, and divides by the number of elements "sample"
*val = constrain(val, 0, 100); //this constrains the variable value to between two numbers 0 and 100 *
* val = map(val, 0, 100, 0, 255); //for more information about constrain constrain() - Arduino Reference *
* analogWrite(pin11, val); //the map statement tells the program to map out 0-100 to 0-255, 255 is*
* //the threashold of analogWrite for more information about map http://arduino.cc/en/Reference/Map*_
* averaging = 0; //this line of code sets averaging back to zero so it can be used again*
}_
Well, this:
for(int i = 0; i < sample; i++){
array1 = analogRead(inPin);
averaging += array1;
}
will take 300 readings off A5 as fast as the arduino can execute it. Doing an anlaog read takes a couple of microseconds, so all 300 reading will be done in a millisecond or so. Is that what you want?
An analog input gives you a value between 0 and 1023 (when the voltage on the pin is at Aref - usually 5v). When you average the values, the average will be between 0 and 1023. You then "constrain" this to a range of 0-100. The constrain function simply clips values to within range. This means that if the voltage on the pin is anywhere above .5v, your average will be clipped to a value of 100.
You then map the range 0-100 to 0-255. This means that you will get a stair-steppy sort of effect. A value of 0 will become 0, a value of 1 will become 2, and so on.
You then analog write this to pin 11. But pin 11 is an analog out! So if you had a datalogger capable of reading pin 11, if you had a datalogger that would read a (PWM) voltage on a pin, surely you could just plug your EMF meter directly into that datalogger, and not use an arduino at all?
"Doing an anlaog read takes a couple of microseconds,"
More like 100-110uS.
is EMF = Electro-Magnetic Field?
Constant or alternate? (Field made by DC or AC current)
Wich frequency?
If you already have an transducer (it's the most complicated part of this project),
You can read it output by ADC (or another interface, wich it has) and write to SD card.
In my opinion, your project will be smart-looking if you will get the file via ethernet/wi-fi. (Not by SD-card reader).
For example, in my green-house project I get log - xml-file and show plot in html-page via ethrnet shield/wi-fi.