1) D esign and implement a system to control the speed of a DC motor using two Arduino Uno (ATMega328) boards working collaboratively. a. Board #1: This board will act as the user interface. It should read an analog input from a potentiometer, which will represent the desired motor speed. b. Board #2: This board will directly control the DC motor's speed. It should receive the desired speed information from Board #1 on SERIAL PORT and translate it into an appropriate control signal for the motor (e.g., PWM) c. Describe the communication protocol you would establish between the two Arduino boards. Explain the code structure and key functions for both Board #1 and Board #2. Additionally, specify any necessary pins to use, hardware connections (beyond the motor itself) and the components required for the system to function. Board#1 design ( 0 5 pts) Board# 2 design ( 10 pts) Pins & Components to use : Pins & Components to use P a g e | 2 Board#1 Code ( 08 pts) Board# 2 Code ( 08 pts) d. Update your code so that the Boards will communicate over I2C. ( 15 pts) Board#1 Code ( 10 pts) Board# 2 Code ( 10 pts) P a g e | 3 2) (Fill in the blanks) With the following register settings of TIMER0 ( 30 pts) TCCR0A = B10110011; TCCR0B = B00000011; OCR0A = 128; OCR0B = 64; The mode of the Timer: _______________________ Output mode for pin _____ : ___________________ Output mode for pin _____ : ___________________ The frequency of output signals will be ___________ Duty cycle on pin __________ will be ___________ Duty cycle on pin __________ will be ___________ Draw the Voltage Levels vs TCNT0 (time) on output pins of the TIMER0 3) Explain the methods to reduce the Analog - to - Digital Converter (ADC) conversion time on an ATmega328 microcontroller (as found in the Arduino Uno) when a faster sampling rate is required for an application ? Also discuss about minimum conversion time than be achievable in ATmega328 ? ( 15 pts) HIGH LOW TCNT0 PIN: ____ HIGH LOW TCNT0 PIN: ____