Shaztech / Pilldispenser

Automated pill dispenser
62 stars 5 forks source link

Green LED stays one after dispensing #5

Closed jsondag closed 4 months ago

jsondag commented 4 months ago

When dispensing a tray. If you dismiss the "Take your Pills" screen,

at 30s, the LED comes back on green, and stays green till four minutes after dismiss. This appears to be two times the 120s screen timeout. 00:00 Dispense then dismiss. 00:30 Green LED comes on 02:00 LCD turns off. 04:00 Green LED turns off

If you don't dismiss it and let it time out. 00:00 Dispense 00:30 Take you pills goes away 02:00 Green LED comes on 04:00 Green LED turns off.

Shaztech commented 4 months ago

Does your tray is configured for green ? What version of the software do you use ?

Shaztech commented 4 months ago

Check the voltage on the LED board. Ref: https://forums.adafruit.com/viewtopic.php?t=78039

jsondag commented 4 months ago

It’s configured for red. I’ll check the voltage when I get a moment. Seems an odd one that it happens in line with the screen timeout of 120S. It would also be nice to have a configurable timeout and a button (perhaps the image of the display on the base) that would immediately shut off the screen and LED. I was studying your code to see if I could add those things, but I’m not the best coder, so I don’t yet quite understand it.

Shaztech commented 4 months ago

I have timers that do things in those times. And sends a command to put the LED "off" but to put an LED "off" is to send the color "0,0,0" in HEX therefore black. If there is not enough voltage the chip in the LED reacts strangely and displays green.

You want a configurable timeout/button to do what ? The LED is supposed to always be off except when there's an alert and if the screen is in "dispense". (Also a small bluish tint when it's booting)

Mine with the exact same code posted here, is working fine for over a month (multiple users and alerts per day).

Does your LED flash red (or the color of your tray) during an alert/dispense ?

jsondag commented 4 months ago

![Uploading IMG_1623.jpeg…]()

jsondag commented 4 months ago

A configurable timeout for the screen, and/or button to blank the screen. I tend to take my meds and then lay right down to sleep while my wife does the same. Two minutes with the screen on may annoy her.

jsondag commented 4 months ago

https://github.com/Shaztech/Pilldispenser/assets/13071956/d11f448d-127b-478c-bead-82c6e69a5b71

jsondag commented 4 months ago

It’s just powered from a PC at the moment. So that could be the problem.

Shaztech commented 4 months ago

If you get a good 5.0V at the LED module, maybe your WS2812B is faulty, they are really sensitive (or cheaply made), so the heat when you soldered it can have killed it.

I'm thinking of where to put the timeout choice (limited space in the setting menu), or if I simply change it to 15 sec when the mute button is active. Since the mute is usally used when you are in an environnement where you don't want to disturb.

Shaztech commented 4 months ago

Also from your video I can see that when it's flashing it's amber (that's green + red) so the green is stuck.

jsondag commented 4 months ago

Multiple setting pages maybe? There are likely other things that could be added down the road. Also, a page to show IP would be good. You currently only see it when you connect. I had to check DHCP leases on my router to find it again.

Shaztech commented 4 months ago

When you start it (power it or reset), it's showing on the loading screen ;)

Shaztech commented 4 months ago

I will add a button to turn off the screen manually Screenshot 2024-04-22 115431

Shaztech commented 4 months ago

Try this for the button to turn off the LCD PillDispenser.esp32.v1_4.zip