이상한 행동을보고 있는데, 이제 이것이 Arduino UNO 또는 내 코드와 연결된 것이 있는지 이해하고 싶습니다.Arduino가 1.5V 배터리에 대해 잘못된 전압을 표시합니다.
저는 Arduino를 사용하여 간단한 1.5V 배터리의 전압을 측정하고 있습니다.
그래서 직렬 모니터는 1.5V 대신 1V 전압을 표시합니다 (전압계는 배터리로부터 1.5V를 보여줍니다).
2 개의 배터리를 직렬로 연결하면 직렬 모니터에 3V가 표시됩니다.
누군가가 무슨 일이 일어 났는지 설명해주세요.
이 내 아두 이노 코드 :
float voltage;
float batteryIn;
void setup(){
Serial.begin(9600);
}
void loop(){
batteryIn = analogRead(0);
float voltage2 = (float)map(batteryIn, 0, 1023, 0, 5);
Serial.println(voltage2);
delay(50);
}
그래서 하나의 배터리로 1V를 보여줍니다 (그러나 1.5V이어야 함).
2 개의 직렬 연결 배터리의 경우 3V가 정확한지 확인하십시오.
지도 함수는 long 유형 만 반환한다고 생각합니다. 따라서 부동 소수점 형변환 일 경우 소수점 자리는 이미 사라졌습니다. float return을 사용하여 자체 매핑 함수를 만들어야합니다. –
시도 : float voltage2 = (float) batteryIn * 5.000/1024.000; 여전히 정확히 같은 값 – haykp
을 얻었습니다. 이제 1.7V가됩니다. – haykp