tuxpower Δημοσ. 6 Αυγούστου 2023 Δημοσ. 6 Αυγούστου 2023 Καλημέρα, Δουλεύω με ενα Raspberry Pico, στο οποίο υπάρχει συνδεδεμένος ενας MQ2 gas sensor και ενα 16x2 LCD i2c. ο κώδικας micropython είναι αυτός: # MQ-2 library to use gas sensor with Raspberry PI Pico (MicroPython) from mq2 import MQ2 import I2C_LCD_driver import utime from machine import Pin #LCD lcd = I2C_LCD_driver.lcd() # MQ2 sensor pin=26 sensor = MQ2(pinData = pin, baseVoltage = 3.3) print("Calibrating") sensor.calibrate() print("Calibration completed") print("Base resistance:{0}".format(sensor._ro)) lcd.lcd_clear lcd.lcd_display_string("Detecting..") lpg = sensor.readLPG() hydrogen = sensor.readHydrogen() while True: print("Detecting..") print("LPG: {:.1f}ppm".format(sensor.readLPG())+" - ", end="") print print("Hydrogen: {:.1f}ppm".format(sensor.readHydrogen())) lcd.lcd_clear lcd.lcd_display_string("LPG: {:.1f}ppm".format (lpg),1) lcd.lcd_display_string("Hydrogen: {:.1f}ppm".format (hydrogen),2) utime.sleep(0.5) τρέχει κανονικά και ανιχνεύει LPG και Hydrogen. Το θέμα μου είναι οτι ενώ παίρνω output readings στο idle που ανανεώνονται αν ανιχνευτεί αέριο, δεν ανανεώνεται το reading στην lcd οθόνη και πάντα γράφει την πρώτη μέτρηση. Ενω δηλαδή υπάρχει αέριο στον χώρο και παίρνω readings στο idle, στην οθόνη lcd υπάρχει η πρώτη μέτρηση που θα πάρει χωρίς ανανεώση. Καμιά ιδέα πως μπορεί να γίνει μέσα στο loop while True: ;
Λύση immortalx Δημοσ. 6 Αυγούστου 2023 Λύση Δημοσ. 6 Αυγούστου 2023 Δεν εχω ιδεα απο micropython αλλα φαινεται οτι στο call που κανεις στο lcd.lcd_display_string περνας το variable lpg που του κανεις assign τιμη πριν απο το while loop. Ενω οταν κανεις print στο console ξαναδιαβαζεις τον σενσορα με sensor.readLPG() 1
tuxpower Δημοσ. 6 Αυγούστου 2023 Μέλος Δημοσ. 6 Αυγούστου 2023 11 λεπτά πριν, immortalx είπε Δεν εχω ιδεα απο micropython αλλα φαινεται οτι στο call που κανεις στο lcd.lcd_display_string περνας το variable lpg που του κανεις assign τιμη πριν απο το while loop. Ενω οταν κανεις print στο console ξαναδιαβαζεις τον σενσορα με sensor.readLPG() Σε ευχαριστώ, να'σαι καλά. είχε γίνει το μυαλό μου πουρές να ψάχνω τον i2c_lcd_driver.. 1
immortalx Δημοσ. 6 Αυγούστου 2023 Δημοσ. 6 Αυγούστου 2023 Μόλις τώρα, tuxpower είπε Σε ευχαριστώ, να'σαι καλά. είχε γίνει το μυαλό μου πουρές να ψάχνω τον i2c_lcd_driver.. Σε νοιωθω, και γω τις ιδιες εμπλοκες παθαινω 😂BTW ωραια φαινεται η micropython!
tuxpower Δημοσ. 6 Αυγούστου 2023 Μέλος Δημοσ. 6 Αυγούστου 2023 32 λεπτά πριν, immortalx είπε 😂BTW ωραια φαινεται η micropython! για prototyping ειδικά σε microcontroller είναι καλή.Αν όμως έχεις καμιά δεκαριά sensors έχει προβλήματα απόδοσης, είναι αργή. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα