Let us worry about your assignment instead!

We Helped With This C++ Programming Assignment: Have A Similar One?

More InfoC++ Homework Help

Assignment Description

EE/CPE 3280 Assignment 4 – Beat Meter

Program: 100 Points

The Beat Meter program tests your ability to keep a beat!

Basic Operation

The Beat Meter sets up a light to flash once per second, while the user tries to match the beat using a joystick button. The meter reports how close the user’s button press is to the beginning on the flash in two ways:
(1) A display of the number of milliseconds ahead (-) or behind (+) the user’s button press is.
(2) A graphical display of this value using a “speedometer” type display


1.       LED. An LED shall flash with a period of 1000 ms and a duty cycle of 10%. The “on” time of the duty cycle shall occur at the beginning of the period.

2.       Button response. The Beat Meter shall measure the time between the beginning of the LED’s on time and the time that the user presses the chosen joystick button. The measurement shall range between -500 ms and +500 ms.

3.       Time display. The Beat Meter shall display the time measurement described in (2) on the LCD screen.

4.       Graphical display. The Beat Meter shall display the current measurement by drawing a line from a central point at an angle corresponding linearly to the measurement. 0ms shall be shown by a line straight up, -500 ms by a line straight left, and +500 ms by a line straight right.

5.       Flicker. The display shall not appear to flicker.


The Beat meter must be created using timer/counter/PWM modules. Specifically:

1.       A PWM that creates the 1 second pulses. The start/end of the cycle will trigger an interrupt that resets to zero a timer (below).

2.       A Timer that begins counting when the light is turned on, and captures the time of the button press. A timer ISR will update the beat measurement when the button is pressed.

3.       A main program that displays the current measurement, both numerically and graphically.

Important Tips

1.       Check the datasheets in PSoC creator for the APIs for the TCPWMs. You’ll need to call functions that read or change the timer/counter/compare values.

2.       The timer/PWM interrupts have a separate function to clear the interrupt. This function must be called during the ISR for each one (or possibly in main) or no more interrupts will occur. The syntax is as follows (replace <TimerName> with the name of the appropriate TCPWM):

For Terminal Count Interrupts: <TimerName>_ClearInterrupt(<TimerName>_INTR_MASK_TC);
For Capture/Compare Interrupts: <TimerName>_ClearInterrupt(<TimerName>_INTR_MASK_CC_MATCH);

3.       To compute the negative times (button pressed before the light) consider this: An early button press is really just an especially late button press on the previous cycle. That is, any capture measurements that come in later than halfway through the LED flash cycle should be considered early on the next one.

TO TURN IN Through Canvas

1. main.c, all ISR .c files and any additional c files that you modified

2. Top-level schematic in PDF format (use print to PDF).

3. Demonstrate your program to the instructor at the beginning of class on the due date.


Assignment Image

C++ Assignment Description Image [Solution]
+ 13 3V nRF24L01 22 Nokia 5110 221 O'LA ainpoW O JOLOJ AB UD EF K D Joys B held V2.4 ElecFreaks.com

Frequently Asked Questions

Is it free to get my assignment evaluated?

Yes. No hidden fees. You pay for the solution only, and all the explanations about how to run it are included in the price. It takes up to 24 hours to get a quote from an expert. In some cases, we can help you faster if an expert is available, but you should always order in advance to avoid the risks. You can place a new order here.

How much does it cost?

The cost depends on many factors: how far away the deadline is, how hard/big the task is, if it is code only or a report, etc. We try to give rough estimates here, but it is just for orientation (in USD):

Regular homework$20 - $150
Advanced homework$100 - $300
Group project or a report$200 - $500
Mid-term or final project$200 - $800
Live exam help$100 - $300
Full thesis$1000 - $3000

How do I pay?

Credit card or PayPal. You don't need to create/have a Payal account in order to pay by a credit card. Paypal offers you "buyer's protection" in case of any issues.

Why do I need to pay in advance?

We have no way to request money after we send you the solution. PayPal works as a middleman, which protects you in case of any disputes, so you should feel safe paying using PayPal.

Do you do essays?

No, unless it is a data analysis essay or report. This is because essays are very personal and it is easy to see when they are written by another person. This is not the case with math and programming.

Why there are no discounts?

It is because we don't want to lie - in such services no discount can be set in advance because we set the price knowing that there is a discount. For example, if we wanted to ask for $100, we could tell that the price is $200 and because you are special, we can do a 50% discount. It is the way all scam websites operate. We set honest prices instead, so there is no need for fake discounts.

Do you do live tutoring?

No, it is simply not how we operate. How often do you meet a great programmer who is also a great speaker? Rarely. It is why we encourage our experts to write down explanations instead of having a live call. It is often enough to get you started - analyzing and running the solutions is a big part of learning.

What happens if I am not satisfied with the solution?

Another expert will review the task, and if your claim is reasonable - we refund the payment and often block the freelancer from our platform. Because we are so harsh with our experts - the ones working with us are very trustworthy to deliver high-quality assignment solutions on time.

Customer Feedback

"Thanks for explanations after the assignment was already completed... Emily is such a nice tutor! "

Order #13073

Find Us On

soc fb soc insta

Paypal supported