Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: exam.cpp
- Revision:
- 0:54721f063ac8
- Child:
- 1:a77034716cad
diff -r 000000000000 -r 54721f063ac8 exam.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exam.cpp Fri Mar 22 13:11:07 2019 +0000
@@ -0,0 +1,128 @@
+#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()){
+
+ }
+}