Tamas Titusz Ban
/
ELEC1620_ExamTemplate_2019
Template for the ELEC1620 End of year exam
exam.cpp
- Committer:
- el16ttb
- Date:
- 2019-03-22
- Revision:
- 0:54721f063ac8
File content as of revision 0:54721f063ac8:
#include "exam.h" // Task 1 // Hold A to turn the Red LED on. Let go to turn off // (3 marks) void Task1(TestAdmin &tester, PwmOut &r_led, DigitalIn &button_a){ while(tester.testRunning()){ } } // Task 2 // A - > Red, B -> Green, C -> Blue: Hold to turn on, release to turn off // (3 marks) void Task2(TestAdmin &tester, PwmOut &r_led, PwmOut &g_led, PwmOut &b_led, DigitalIn &button_a, DigitalIn &button_b, DigitalIn &button_c){ while(tester.testRunning()){ } } // Task 3 // Blue LED is the XOR of A and B // (i.e. LED is on only when either of the buttons are pressed but not if both) // (3 marks) void Task3(TestAdmin &tester, PwmOut &b_led, DigitalIn &button_a, DigitalIn &button_b){ while(tester.testRunning()){ } } // Task 4 // Print the temperature measured with the temperature sensor as an integer over serial (using the following formula: 100 V - 50 // Print every value in a new line // (3 marks) void Task4(TestAdmin &tester, AnalogIn &temp){ while(tester.testRunning()){ } } // Task 5 // Green LED if the LDR can see light, Red LED if the LDR is covered // (3 marks) void Task5(TestAdmin &tester, PwmOut &r_led, PwmOut &g_led, AnalogIn &ldr){ while(tester.testRunning()){ } } // Task 6 // Pot0 -> Red, Pot1 -> Green, Pot2 -> Blue: use the potentiometers to set the brightness of each LED // between fully off (when turned all the way to the left) and fully on (when turned all the way to the right) // (3 marks) void Task6(TestAdmin &tester, PwmOut &r_led, PwmOut &g_led, PwmOut &b_led, AnalogIn &pot_0, AnalogIn &pot_1, AnalogIn &pot_2){ while(tester.testRunning()){ } } // Task 7 // Toggle the Red LED i.e. Press A to turn on, press again to turn off // (4 marks) void Task7(TestAdmin &tester, PwmOut &r_led, DigitalIn &button_a){ while(tester.testRunning()){ } } // Task 8 // Display the following pattern on repeat on the LEDs with a 0.5s delay // 0: | O | | | | // 1: | | O | | | // 2: | | | O | | // 3: | | | | O | // 4: | | | O | | // 5: | | O | | | // (4 marks) void Task8(TestAdmin &tester, BusOut &leds){ while(tester.testRunning()){ } } // Task 9 // Display the following pattern on the seven segmented display // // | | // |___| // | | // | | // (4 marks) void Task9(TestAdmin &tester, ShiftReg &shift){ while(tester.testRunning()){ } } // Task 10 // Use the joystick to set the following patterns on the seven segmented display // (5 marks) void Task10(TestAdmin &tester, ShiftReg &shift, AnalogIn &joy_v, AnalogIn &joy_h){ while(tester.testRunning()){ } } // Task 11 // Count up 0->9 on the seven segmented display when A pressed and down when B pressed // (cycle around from 0 to 9 and 9 to 0) // (5 marks) void Task11(TestAdmin &tester, ShiftReg &shift, DigitalIn &button_a, DigitalIn &button_b){ while(tester.testRunning()){ } }