“Lesson 9--Microduino "DIY Multimeter"”的版本间的差异
(→Objective) |
|||
第6行: | 第6行: | ||
Previously, we introduced analogRead() and its return values of 0~1024. In this lesson, we will use the analog port of [[Microduino-Core]] to make a multimeter with the range of 0-5 V. | Previously, we introduced analogRead() and its return values of 0~1024. In this lesson, we will use the analog port of [[Microduino-Core]] to make a multimeter with the range of 0-5 V. | ||
− | '''Important: The design of | + | '''Important: The design of this experiment does not have an effective protection circuit. Please do not use more than two AA batteries and do not use the circuit to measure a lithium battery or any other power supply!''' |
==Equipment== | ==Equipment== |
2015年7月15日 (三) 07:44的版本
Language | English |
---|
ObjectivePreviously, we introduced analogRead() and its return values of 0~1024. In this lesson, we will use the analog port of Microduino-Core to make a multimeter with the range of 0-5 V. Important: The design of this experiment does not have an effective protection circuit. Please do not use more than two AA batteries and do not use the circuit to measure a lithium battery or any other power supply! Equipment
Experiment SchematicProgramfloat temp; // Define a float variable temp to save data.
void setup()
{
Serial.begin(9600); //Set baud rate 9600
}
void loop()
{
int V1 = analogRead(A0);
// Read the voltage data from A0 and store it in variable V1. The voltage range is 0-5V and returns values 0-1024.
float vol = V1*(5.0 / 1023.0);
//Convert the V1 to the voltage value and store it in vol
if (vol == temp)
//Use to filter duplicate data, Only the voltage value and the last isn't same then output the value.
{
temp = vol; //Compared, then store in temp variable "temp"
}
else
{
Serial.print(vol); //Serial output voltage, nowrap
Serial.println(" V"); //Serial output character "V", and wrap
temp = vol;
delay(1000); //Wait for 1s, use to refresh the data
}
}
We didn't use the map() function in this example, but you can try it yourself! ResultWhen the measured voltage changes, refresh the data every second. It is normal if there is a difference between two measurements of the same battery. This is because this is still simply a low accuracy test. If you need a high accuracy test, you can take a look at: http://www.hacktronics.com/Tutorials/arduino-current-sensor.html Video |