| Форум РадиоКот https://radiokot.ru/forum/ |
|
| АС voltmeter na Arduino и NOKIA 5110 https://radiokot.ru/forum/viewtopic.php?f=66&t=192538 |
Страница 1 из 1 |
| Автор: | topol72 [ Пн мар 04, 2024 21:26:47 ] |
| Заголовок сообщения: | АС voltmeter na Arduino и NOKIA 5110 |
Добрый день! Понадобился регулятор переменки с вольтметром. С регулятором проблем нет, в вот вольтметр сделал на Ардуине и сначала на дисплее LCD1602, а затем и на НОКИА 5110. На 1602 все работает, на Нокиа выводит только заголовок, текущее напряжение не показывает. Прошу помочь в чем у меня проблема, какую команду в программе я не отразил. Программа: /* ЖК дисплей Nokia 5110 || RST CE DC DIn Clk Vcc BL Gnd Ардуино (DIGITAL) || 7 6 5 4 3 +5V +5V GND */ //---------- #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7); void setup(void) { display.begin(); display.clearDisplay(); display.display(); display.setContrast(50); // установка контраста delay(1000); display.setTextSize(1.9); // установка размера шрифта -->> 1.9 - MAX размер display.setTextColor(BLACK); // установка цвета текста display.setCursor(0,0); // установка позиции курсора display.println("RMS Voltage:"); display.display(); analogReference(INTERNAL); // set ADC positive reference voltage to 1.1V (internal) } // get maximum reading value uint16_t get_max() { uint16_t max_v = 0; for(uint8_t i = 0; i < 100; i++) { uint16_t r = analogRead(A3); // read from analog channel 3 (A3) if(max_v < r) max_v = r; delayMicroseconds(200); } return max_v; } // main loop void loop() { char buf[10]; // get amplitude (maximum - or peak value) uint32_t v = get_max(); // get actual voltage (ADC voltage reference = 1.1V) v = v * 1100/1023; // calculate the RMS value ( = peak/√2 ) v /= sqrt(2); sprintf(buf, "%03u Volts", v); display.setCursor(0, 1); display.print(buf); display.display(); delay(100); } // end of code. Заранее спасибо. |
|
| Автор: | v1ct0r [ Пн мар 11, 2024 21:59:49 ] |
| Заголовок сообщения: | Re: АС voltmeter na Arduino и NOKIA 5110 |
конец скетча topol72 писал(а): display.setCursor(0, 1); display.print(buf); display.display(); delay(100); } строку display.setCursor(0, 1); замените например на display.setCursor(0, 10); и будет вам счастье да и питание дисплея лучше посадить на 3.3 вольта, а не на 5 вольт |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


