Pelletsövervakning ala tecno
Re: Pelletsövervakning ala tecno
Ser felet
Enable till skiftregistret och lcd är inte samma sak Kapa enablebanan till lcd:n och ta den från bit 7 (qh) av skiftregistret
Enable till skiftregistret och lcd är inte samma sak Kapa enablebanan till lcd:n och ta den från bit 7 (qh) av skiftregistret
- tecno
- Inlägg: 27062
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Pelletsövervakning ala tecno
OK, så du menar pinne 8 på Arduinon ska till pinne 12 på 595:an? och sen kapa koppla pinne 7 till LCD:n?
De flytande utgångarna då, ska dessa göras nåt åt?
De flytande utgångarna då, ska dessa göras nåt åt?
Re: Pelletsövervakning ala tecno
Japp, så har jag förstått det.
Utgångar får väl lämnas flytande, det är ju ingångar det är petigt med
Utgångar får väl lämnas flytande, det är ju ingångar det är petigt med
- tecno
- Inlägg: 27062
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Pelletsövervakning ala tecno
Väcker upp detta efter lång dvala pga olika omständigheter i mitt liv.
Har dragit igång lite mätningar samt fått in min väderstation så allt samlas i InfluxDB och presenteras med Grafana.
Vill givetvis få ordning på pellets förbrukningen men rör om i grytan lite.
Efter en tidigare ombyggnad av 3D skrivare fick jag en 128x64 grafisk display över med encoder m push knapp som nu är inkopplad på en UNO och all överföring av MQTT data görs via en ESP8266 WiFi. Tyvärr får jag inte LCDn att fungera med ESPn så UNOn får vara mellanhand.
Börjat peta i detta igen.....
Har dragit igång lite mätningar samt fått in min väderstation så allt samlas i InfluxDB och presenteras med Grafana.
Vill givetvis få ordning på pellets förbrukningen men rör om i grytan lite.
Efter en tidigare ombyggnad av 3D skrivare fick jag en 128x64 grafisk display över med encoder m push knapp som nu är inkopplad på en UNO och all överföring av MQTT data görs via en ESP8266 WiFi. Tyvärr får jag inte LCDn att fungera med ESPn så UNOn får vara mellanhand.
Börjat peta i detta igen.....
- tecno
- Inlägg: 27062
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Pelletsövervakning ala tecno
Skippat UNO då minnet inte räcker till, MEGA får jag välja istället.
- tecno
- Inlägg: 27062
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Pelletsövervakning ala tecno
Behöver lite hjälp, nedanstående fungerar som demo dvs vrider på encodern från 0 till 12 och man är klar.
Vad jag vill göra är att räkna upp ett antal (säckar jag fyllt på) kvittera och få antalet sparat.
För att det ska lira så ska void mFunc_xxx skapas med lämplig kod enligt ovan. Encoder hantering och tryck knapp i encodern fungerar för menyval/kvittering (enter)
g_button_value finns bara i denna.
Vad jag vill göra är att räkna upp ett antal (säckar jag fyllt på) kvittera och få antalet sparat.
För att det ska lira så ska void mFunc_xxx skapas med lämplig kod enligt ovan. Encoder hantering och tryck knapp i encodern fungerar för menyval/kvittering (enter)
g_button_value finns bara i denna.
Kod: Markera allt
// *********************************************************************
uint8_t g_button_value = 0; // button value counter (global variable)
void mFunc_p2(uint8_t param)
// *********************************************************************
{
if(LCDML.FUNC_setup()) // ****** SETUP *********
{
// remmove compiler warnings when the param variable is not used:
LCDML_UNUSED(param);
// setup function
// print LCD content
char buf[17];
sprintf (buf, "count: %d of 12",0);
u8g2.setFont(_LCDML_DISP_font);
u8g2.firstPage();
do {
u8g2.drawStr( 0, (_LCDML_DISP_font_h * 1), "press a or w button");
u8g2.drawStr( 0, (_LCDML_DISP_font_h * 2), buf);
} while( u8g2.nextPage() );
// Reset Button Value
g_button_value = 0;
// Disable the screensaver for this function until it is closed
LCDML.FUNC_disableScreensaver();
}
if(LCDML.FUNC_loop()) // ****** LOOP *********
{
// loop function, can be run in a loop when LCDML_DISP_triggerMenu(xx) is set
// the quit button works in every DISP function without any checks; it starts the loop_end function
// the quit button works in every DISP function without any checks; it starts the loop_end function
if (LCDML.BT_checkAny()) // check if any button is pressed (enter, up, down, left, right)
{
if (LCDML.BT_checkLeft() || LCDML.BT_checkUp()) // check if button left is pressed
{
LCDML.BT_resetLeft(); // reset the left button
LCDML.BT_resetUp(); // reset the left button
g_button_value++;
// update LCD content
char buf[20];
sprintf (buf, "count: %d of 12", g_button_value);
u8g2.setFont(_LCDML_DISP_font);
u8g2.firstPage();
do {
u8g2.drawStr( 0, (_LCDML_DISP_font_h * 1), "press a or w button");
u8g2.drawStr( 0, (_LCDML_DISP_font_h * 2), buf);
} while( u8g2.nextPage() );
}
}
// check if button count is twelve
if (g_button_value >= 12) {
LCDML.FUNC_goBackToMenu(); // leave this function
}
}
if(LCDML.FUNC_close()) // ****** STABLE END *********
{
// you can here reset some global vars or do nothing
}
}
- tecno
- Inlägg: 27062
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Pelletsövervakning ala tecno
Tog sin lilla tid att klura ut men nu har jag en lösning son fungerar i denna komplexa grafiska meny köret .
LCDML_u8g2lib kör på en ST7290 128x64 med encoder.
Ovan en enkel verifiering att inmatat stämmer via återläsning av värden i EEprom. number-1 beror på att allt menysystemet använder alla pinnar från encodern till att räkna upp så är den grafiska räknaren från start 0 men seriellt utläst är det 1, försökt lösa men det fick bli denna enklare lösningen.
Nu ska jag fila på överföring av dessa värden via MQTT till databasen.
LCDML_u8g2lib kör på en ST7290 128x64 med encoder.
Kod: Markera allt
g_button_value++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(g_button_value);
EEPROM.write(0,g_button_value);
delay(1000);
number = EEPROM.read(0);
Serial.print(0);
Serial.print("\t");
Serial.print(number-1, DEC);
Serial.println();
Nu ska jag fila på överföring av dessa värden via MQTT till databasen.