arduino lcd displays flow meter gpm and total brands
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
If they are fast or you have delays in your code, you should use an interrupt. There are 3 available from the UNO. Int 0 (D2), Int 1 (D3) and ICP1 (D8).
If they are very fast (>1Khz), only the ICP1 should be used, in conjunction with timer 1. This is useful for frequency or RPM measurement (in general flowmeters are not that fast)
If you use interrupts to count the pulses then two pulses arriving at the same time will be handled sequentially. The interrupt flag indicating a pulse has arrived is set in hardware the moment the pulse arrives, and the CPU checks all the interrupt flags between instructions. Each flag is handled sequentially, the order determined by interrupt priority settings and a "natural" order determined by the internal wiring of the CPU.
However there is a better way on the ESP32, and that is the Pulse Counter peripheral. This is designed to count pulses like the signals from Hall Effect sensors.
You can just leave the Pulse Counter counting your pulses, then periodically read and reset the pulse count to see how much water has flowed in that period. It looks from the documentation that you can have two inputs both making the same counter increment, so it will do the aggregating for you.
I am a 66 year old farmer that believes that if it can be imagined then it can be done. Not letting my complete lack of programming knowledge stand in my way I have proceeded to incorporate/borrow portions of Arduino sketches from all over the internet (Github, Youtube and this forum) in my attempt to write a sketch that takes impulses from two G3/4 hall effects flow meters and adds their outputs together to come up with a gallons per acre value on a sprayer. I am very appreciative of the generosity of others and this whole open source concept.
Version one using both an Arduino Uno and a 2560 Mega with the same results, was with Adafruit 16x2 LCD with USB+Serial backpack (product 782) that worked. I test it by blowing into the two flow meters and the lcd shows GPA and GPM data. The 16x2 display shows the following when at rest: (sorry couldn"t upload picture)
Wanting to have more lines of data to show more variables from more sensors (amount remaining in tank, possibly time and mph) I switched to Adafruit standard 20x4 lcd (product198) with i2c/SPI backpack (product 292). The test sketch for the 20x4 with the i2c backpack (Hello World) works and I can move it around the lcd at will by changing setCursor (X, X) location. I have left it in the void setup but turned off (//) so I can make sure the 20x4 is still working. I also ran the setCursor sketch from the examples in the i2c library and after editing it to 20x4 it works, so I’m pretty sure my wiring is correct.
My problem is when I add to the sketch’s void loop for the flow meters I get a blank LCD. All my setCursor and lcd.print commands are ignored in my void loop. I have gotten a lot of help/advice from a friend who has some computer science background but we may have reached his limits of Arduino experience.
Equipment requiring liquid management and flow monitoring include injection molding machines (mold coolant flow control), die-casting machines (coolant and mold release agent flow control), grinding machines and cutting machines (coolant flow control), sputtering systems (coolant flow control), and spot welding machines (coolant flow control). Using an applicable flow meter or flow sensor for flow management stabilizes product quality and prevents potential problems with equipment.
Because liquid flow rates and process management are closely intertwined, flow meters and flow sensors are also useful in controlling the flow of liquids other than coolant and cleaning fluid. For example, flow control is also necessary with high-frequency quenching equipment (quenching fluid flow control), lapping/polishing/CMP equipment (slurry), dispensing equipment (flux, hot-melt, ink, grease, adhesives, painting solutions, coating agents, resist solutions, mold release agents, etc.), precision presses (lubricant, etc.), two-component mixers (pre- and post-curing agent liquids, water, printing paint, chemicals, emulsions, adhesives, etc.), cutting machines (for checking cutting oil amounts, etc.), concrete mixers and manufacturing equipment (water volume being mixed with materials), and flue gas neutralization equipment (water and chemical solutions used during smoke evacuation).
Flow meters and flow sensors are used in processes and machines requiring the flow control of gases such as nitrogen, oxygen, and air. This includes reflow furnaces (nitrogen (N2) flow control to prevent oxidation), quenching furnaces (nitrogen (N2) supply control to prevent oxidation), chip component conveyors (for checking airflow during chip component absorption), electronic component packages (management of enclosed gas (nitrogen) to prevent oxidation), ionizers (air purge flow control), and painting robots (paint (liquid) and air (gas) management).
remove the next two lines and just divide flowRate by 1000. You will now have the number of liters. You can then multiply by the price per liter. You may want to adjust the duration the measurement is done.
You most certainly can use an internal pullup on the Arduino to simplify the wiring but we use a physical resistor as it is much easier to explain the basics of how a pull-up resistor works when you have to connect the wires yourself.
– I would like to put a set point to stop water flow at a certain value. For example, valve opens, water flows and passes sensor. After 100ml, valve closes. Is it possible??? Sorry… , Arduino newbie