2) You are required to demonstrate your hardware/software in class (deadline: Thursday, March 5) with the following functionalities: Write an Arduino program with three push buttons PB_) (increase), PB_D (decrease), and PB_R (reset), and two counters C_HF (high-frequency) and C_LF (low-frequency). You can use two 7-segment displays or 1 LCD display to demonstrate the values of these counters. The following functionality is expected: If PB_1 is pushed repeatedly with frequency greater than 1(Hz), then C_HF counts up the number of pushes. (3 points) If PB_D is pushed repeatedly with frequency greater than 1(Hz), then C_HF counts down the number of pushes. (3 points) If PB_1 is pushed repeatedly with frequency less than 1(Hz), then C_LF counts up the number of pushes. (3 points) If PB_D is pushed repeatedly with frequency less than 1(Hz), then C_LF counts down the number of pushes (3 points) Only PB_R can reset C_HF and C_LF anytime. (3 points) Program should work smoothly without any bugs. Hint: The function "millis()" gives the time passed (in milli-seconds) since the program started running, Note: The very first time a button is pushed, it could be counted as either high or low-frequency, because there is no prior reference to measure the time with respect to that reference (example in the figure below) 4 111 L LHHH LORH i HH Circuit using arduino First Push 2) You are required to demonstrate your hardware/software in class (deadline: Thursday, March 5) with the following functionalities: Write an Arduino program with three push buttons PB_) (increase), PB_D (decrease), and PB_R (reset), and two counters C_HF (high-frequency) and C_LF (low-frequency). You can use two 7-segment displays or 1 LCD display to demonstrate the values of these counters. The following functionality is expected: If PB_1 is pushed repeatedly with frequency greater than 1(Hz), then C_HF counts up the number of pushes. (3 points) If PB_D is pushed repeatedly with frequency greater than 1(Hz), then C_HF counts down the number of pushes. (3 points) If PB_1 is pushed repeatedly with frequency less than 1(Hz), then C_LF counts up the number of pushes. (3 points) If PB_D is pushed repeatedly with frequency less than 1(Hz), then C_LF counts down the number of pushes (3 points) Only PB_R can reset C_HF and C_LF anytime. (3 points) Program should work smoothly without any bugs. Hint: The function "millis()" gives the time passed (in milli-seconds) since the program started running, Note: The very first time a button is pushed, it could be counted as either high or low-frequency, because there is no prior reference to measure the time with respect to that reference (example in the figure below) 4 111 L LHHH LORH i HH Circuit using arduino First Push