# Conveyor Belt - people counter - counting

**URL:** <https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996>\
**Category:** General\
**Created:** [15 November 2019 12:21 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996 "2019-11-15T12:21:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 12:21 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/1 "2019-11-15T12:21:16Z")

</div>

I have setup a pi with a grovepi board. I want to use the ultrasonic sensor to count products. The standard value that comes off it is around 500. When a product passes it drops to around 20.

I want to make a counter that increments with 1 every time the sensor payload drops below 500.

How do I program this?

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [15 November 2019 13:22 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/2 "2019-11-15T13:22:53Z")

</div>

If value less than 30 add one to counter

---

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 13:25 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/3 "2019-11-15T13:25:09Z")

</div>

That is also possible, but how do I script this?

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [15 November 2019 13:27 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/4 "2019-11-15T13:27:17Z")

</div>

Use a switch node for the if and you could use node-red-contrib-mycounter to count

---

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 13:46 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/5 "2019-11-15T13:46:33Z")

</div>

> [@zenofmud](#):
>
> node-red-contrib-mycounter

Thank you so MUCH!!!

---

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 13:55 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/6 "2019-11-15T13:55:44Z")

</div>

But now I need it to only count the next value if its back above 450. if a product gets stuck it should not keep counting. Any suggestions?

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [15 November 2019 14:10 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/7 "2019-11-15T14:10:18Z")

</div>

Search for Hysteresis on the [node red flows](https://flows.nodered.org/) site.

---

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 14:22 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/8 "2019-11-15T14:22:58Z")

</div>

Can we let the swith pick up ?

var gelezen=context.get('gelezen') || 499;  
if(msg.payload\<450 && gelezen \> 450)  
{  
context.set("waarde",1);  
node.warn("1")

}else{  
context.set("waarde",0);  
node.warn("0")  
}  
context.set('gelezen',msg.payload);

return msg;

---

<div class="post-metadata">

**Author:** ![bmeester](https://avatars.discourse-cdn.com/v4/letter/b/f08c70/32.png) [@bmeester](https://discourse.nodered.org/u/bmeester)\
**Post date:** [15 November 2019 14:26 UTC](https://discourse.nodered.org/t/conveyor-belt-people-counter-counting/17996/9 "2019-11-15T14:26:48Z")

</div>

Solution

var gelezen=context.get('gelezen') || 499;  
if(msg.payload\<50 && gelezen \> 450)  
{  
context.set('gelezen',msg.payload);  
msg.payload = 1

}else{  
context.set('gelezen',msg.payload);  
msg.payload = 0

}

return msg;
