![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
First Draft, serial print change based on distance
main.h@5:98845ccaaacd, 2022-01-22 (annotated)
- Committer:
- liam94
- Date:
- Sat Jan 22 20:06:35 2022 +0000
- Revision:
- 5:98845ccaaacd
- Child:
- 6:18a4dd77057e
added in menu (main menu and selection to object detection)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
liam94 | 5:98845ccaaacd | 1 | /** |
liam94 | 5:98845ccaaacd | 2 | @file main.h |
liam94 | 5:98845ccaaacd | 3 | @brief Header file containing functions prototypes, defines and global variables. |
liam94 | 5:98845ccaaacd | 4 | @brief Revision 1.0. |
liam94 | 5:98845ccaaacd | 5 | @author Wu Chyi Woon |
liam94 | 5:98845ccaaacd | 6 | @date May 2015 |
liam94 | 5:98845ccaaacd | 7 | */ |
liam94 | 5:98845ccaaacd | 8 | |
liam94 | 5:98845ccaaacd | 9 | #include "mbed.h" |
liam94 | 5:98845ccaaacd | 10 | #include "N5110.h" |
liam94 | 5:98845ccaaacd | 11 | |
liam94 | 5:98845ccaaacd | 12 | // added R and L buttons presses in so that the user has to press when they are ready to rotate object and in which direction |
liam94 | 5:98845ccaaacd | 13 | InterruptIn L(PTB18); |
liam94 | 5:98845ccaaacd | 14 | InterruptIn R(PTB3); |
liam94 | 5:98845ccaaacd | 15 | InterruptIn Start(PTC5); |
liam94 | 5:98845ccaaacd | 16 | InterruptIn Back(PTB19); |
liam94 | 5:98845ccaaacd | 17 | |
liam94 | 5:98845ccaaacd | 18 | // LEDs on PCB to be connected (1 to 6) - active-low 0 = on and 1 = off |
liam94 | 5:98845ccaaacd | 19 | BusOut output(PTA1,PTA2,PTC2,PTC3,PTC4,PTD3); |
liam94 | 5:98845ccaaacd | 20 | |
liam94 | 5:98845ccaaacd | 21 | // VCC,SCE,RST,D/C,MOSI,SCLK,LED |
liam94 | 5:98845ccaaacd | 22 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3 |
liam94 | 5:98845ccaaacd | 23 | |
liam94 | 5:98845ccaaacd | 24 | // y x button |
liam94 | 5:98845ccaaacd | 25 | Joystick joystick(PTB10,PTB11,PTC16); |
liam94 | 5:98845ccaaacd | 26 | |
liam94 | 5:98845ccaaacd | 27 | volatile int Start_flag, Back_flag; /*!< Button flags */ |
liam94 | 5:98845ccaaacd | 28 | |
liam94 | 5:98845ccaaacd | 29 | // array of states in the FSM, each element is the output of the counter |
liam94 | 5:98845ccaaacd | 30 | // set the output in binary to make it easier, 0 is LED on, 1 is LED off |
liam94 | 5:98845ccaaacd | 31 | int fsm[6] = {0b1111101, 0b111101, 0b111011, 0b110111, 0b101111, 0b011111}; |
liam94 | 5:98845ccaaacd | 32 | |
liam94 | 5:98845ccaaacd | 33 | void dist(int distance); |
liam94 | 5:98845ccaaacd | 34 | |
liam94 | 5:98845ccaaacd | 35 | void init_display(); |
liam94 | 5:98845ccaaacd | 36 | |
liam94 | 5:98845ccaaacd | 37 | void main_menu(); |
liam94 | 5:98845ccaaacd | 38 | |
liam94 | 5:98845ccaaacd | 39 | void sense_object(); |
liam94 | 5:98845ccaaacd | 40 | |
liam94 | 5:98845ccaaacd | 41 | void Start_isr(); |
liam94 | 5:98845ccaaacd | 42 | |
liam94 | 5:98845ccaaacd | 43 | void Back_isr(); |
liam94 | 5:98845ccaaacd | 44 | |
liam94 | 5:98845ccaaacd | 45 | ultrasonic mu(PTD0, PTC12, .5, 1, &dist); //Set the trigger pin to PTD0 and the echo pin to PTC12 |
liam94 | 5:98845ccaaacd | 46 | //have updates every .5 seconds and a timeout after 1 |
liam94 | 5:98845ccaaacd | 47 | //second, and call dist when the distance changes |