“第八课--0-5V量程的电压表/zh”的版本间的差异
(→程序) |
(→程序) |
||
第28行: | 第28行: | ||
float sensorValue = 0; // value read from the pot | float sensorValue = 0; // value read from the pot | ||
float Voltage=0; | float Voltage=0; | ||
− | + | ||
void setup() { | void setup() { | ||
pinMode(analogInPin, INPUT_PULLDOWN); | pinMode(analogInPin, INPUT_PULLDOWN); | ||
} | } | ||
− | + | ||
void loop() { | void loop() { | ||
// read the analog in value: | // read the analog in value: | ||
第38行: | 第38行: | ||
// map it to the range of the analog out: | // map it to the range of the analog out: | ||
Voltage = sensorValue*5/4095; | Voltage = sensorValue*5/4095; | ||
− | + | ||
SerialUSB.print("Voltage = "); | SerialUSB.print("Voltage = "); | ||
SerialUSB.print(Voltage); | SerialUSB.print(Voltage); | ||
− | SerialUSB. | + | SerialUSB.println("V "); |
+ | delay(500); | ||
} | } | ||
</source> | </source> |
2014年7月22日 (二) 14:16的版本
目的之前我们介绍过模拟口的读取,然后对应返回0-1024的数值,今天我们就要利用Microduino模拟口,来制作一个0-5V的电压表。 注意:本实验电路设计没有相对复杂的保护电路,所以,千万别使用超过两节以上的AA电池,并且不要用来测量锂电池或者其他电源!! 设备Microduino-CoreSTM32是采用 STM32F103CBT6芯片的ARM开发板,采用独特的Upin7接口,大小与一枚一元硬币差不多大,完全兼容Microduino其他扩展模块。
原理图图上使用1K电阻的目的是在测量端悬空的情况下,将GND的基准电平引导到测量口,避免接口悬空受到干扰。 程序const int analogInPin = 14;
float sensorValue = 0; // value read from the pot
float Voltage=0;
void setup() {
pinMode(analogInPin, INPUT_PULLDOWN);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
Voltage = sensorValue*5/4095;
SerialUSB.print("Voltage = ");
SerialUSB.print(Voltage);
SerialUSB.println("V ");
delay(500);
}
结果当被测电压值有改变时每隔1s刷新一次数据,2次的电压值有波动是正常的,因为这毕竟是低精度的测试。要想更加精度测试, 视频 |