include "U8glib.h"
int analogInput = 0;
int Percent ; //We want it as a whole number
float Voltageout = 0.0;
float Voltage = 0.0; //We want it with decimal places
float R1 = 97000.0; //resistance
float R2 = 10000.0; //resistance
int value = 0;
U8GLIB_SH1106_128X64 u8g(10, 9, 12, 11, 13); // pinout, see page
void draw(void)
{
u8g.setFont(u8g_font_helvB14r); // font
u8g.drawStr(19, 16, "BATTERY");
u8g.setPrintPos(7,55);
u8g.setFont(u8g_font_helvB18r);
u8g.println(Percent); //Prints Percent
u8g.println("%");
u8g.setPrintPos(63,55);
u8g.setFont(u8g_font_helvB18r); //A slightly larger font
u8g.println(Voltage); //Prints the voltage
u8g.println("V");
u8g.drawRFrame(0, 23, 128, 1, 0);
}
void setup(){
pinMode(analogInput, INPUT);
}
void loop(){
value = analogRead(analogInput);
Voltageout = (value * 5.0) / 1024.0;
Voltage = Voltageout / (R2/(R1+R2));
if (Voltage<1) {
Voltage=0.0; // get rid of unwanted readings
}
if (Voltage>5.00) { // if Reading are too large
Voltage= Voltage/10;
Percent = ((Voltage-3)/(4.2-3))100; //votage divided by max cell votage times 100 = the cells current percentage
}
u8g.firstPage();
do
{
draw();
}
while( u8g.nextPage() );
delay(500);
/
- Создано ArduinoGetStarted.com *
- Этот пример кода находится в общественном достоянии на странице учебного пособия * : https://arduinogetstarted.com/tutorials/arduino-heating-system */
включить
включить <дальнюю температуру.h>
определить вывод ДАТЧИКА 2 // Вывод Arduino, подключенный к контакту DQ датчика DS18B20
определить вывод RELAY_PIN A5 // Вывод Arduino, подключенный к реле, которое подключено к нагревательному элементу
TEMP_THRESHOLD_UPPER = 20; // верхний порог температуры, который, в свою очередь, связан с нагревательным элементом, измените желаемое значение на
int const TEMP_THRESHOLD_LOWER = 15; // нижний порог температуры, измените желаемое значение на
OneWire(SENSOR_PIN); // настройте экземпляр OneWire сдатчиками
(&OneWire); // передайте OneWire в библиотеку DallasTemperature
// температура в Градусах Цельсия
void .
Serial.begin(9600); // инициализировать последовательные
датчики.begin(); // инициализировать
pinMode датчика(RELAY_PIN, ВЫХОД); // инициализировать цифровой вывод в качестве выходного
}
loop void() {
sensors.requestTemperatures(); // отправить команду для получения температуры
temperature = sensors.getTempCByIndex(0); / / считывание температуры в градусах Цельсия
если(температура > TEMP_THRESHOLD_UPPER) {
Серийный номер.println(,,,)"Нагревательный элемент выключен");
digitalWrite(RELAY_PIN, НИЗКИЙ уровень); // выключить
} else if(температура < TEMP_THRESHOLD_LOWER){
Serial.println("Нагревательный элемент включен");
digitalWrite(RELAY_PIN, ВЫСОКИЙ уровень); // включить
}
задержка(500) ;
}
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.