First Draft, serial print change based on distance

Committer:
liam94
Date:
Fri Feb 04 16:29:33 2022 +0000
Revision:
16:af15244242c2
Parent:
15:d8ff594535fc
Child:
17:02676e9bbc73
added in a couple more objects that can be detected for variety, changed deadband in all comparisons to =/- 5 mm to avoid crossover

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 11:5a895d966a3e 1 #ifndef MAIN_H
liam94 11:5a895d966a3e 2 #define MAIN_H
liam94 5:98845ccaaacd 3
liam94 8:7e48229d678c 4 /***************************************************************************//**
liam94 8:7e48229d678c 5 *
liam94 8:7e48229d678c 6 * @author Liam Cox
liam94 8:7e48229d678c 7 * @date January 2022
liam94 8:7e48229d678c 8 *
liam94 8:7e48229d678c 9 * @brief This is the header section for my main code, it includes all the inputs,
liam94 8:7e48229d678c 10 * outputs and member functions that will be used in the main source code
liam94 8:7e48229d678c 11 * file
liam94 8:7e48229d678c 12 *
liam94 8:7e48229d678c 13 *******************************************************************************/
liam94 8:7e48229d678c 14
liam94 5:98845ccaaacd 15 #include "mbed.h"
liam94 5:98845ccaaacd 16 #include "N5110.h"
liam94 8:7e48229d678c 17 #include "Joystick.h"
liam94 8:7e48229d678c 18 #include "ultrasonic.h"
liam94 14:837945ccd8c0 19 #include "beep.h"
liam94 5:98845ccaaacd 20
liam94 8:7e48229d678c 21 /***************************************************************************//**
liam94 8:7e48229d678c 22 *
liam94 8:7e48229d678c 23 * below I have defined the inputs and outputs on the PCB, this includes all the
liam94 15:d8ff594535fc 24 * push buttons that have been defined as interrupts, the piezo buzzer defined as
liam94 15:d8ff594535fc 25 * a pwm output, the LEDs that have been defined in a Bus output for ease of use,
liam94 15:d8ff594535fc 26 * the LCD output pins VCC,SCE,RST,D/C, MOSI,SCLK,LED and the joystick
liam94 15:d8ff594535fc 27 * y-coordinate x-coordinate and button.
liam94 8:7e48229d678c 28 *
liam94 8:7e48229d678c 29 *******************************************************************************/
liam94 8:7e48229d678c 30
liam94 5:98845ccaaacd 31 InterruptIn L(PTB18);
liam94 5:98845ccaaacd 32 InterruptIn R(PTB3);
liam94 5:98845ccaaacd 33 InterruptIn Start(PTC5);
liam94 5:98845ccaaacd 34 InterruptIn Back(PTB19);
liam94 5:98845ccaaacd 35
liam94 14:837945ccd8c0 36 Beep buzzer(PTC10);
liam94 14:837945ccd8c0 37
liam94 13:cc99df342c7f 38 BusOut LEDS(PTA1,PTA2,PTC2,PTC3,PTC4,PTD3);
liam94 5:98845ccaaacd 39
liam94 8:7e48229d678c 40 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
liam94 5:98845ccaaacd 41
liam94 5:98845ccaaacd 42 Joystick joystick(PTB10,PTB11,PTC16);
liam94 5:98845ccaaacd 43
liam94 8:7e48229d678c 44 /***************************************************************************//**
liam94 8:7e48229d678c 45 *
liam94 8:7e48229d678c 46 * below is array of states for the LEDs in the FSM, states have been defined in
liam94 8:7e48229d678c 47 * binary for ease of use, 0 is LED on, 1 is LED off so only one LED is on in any
liam94 8:7e48229d678c 48 * state. the member functions that are to be used in the main source code file
liam94 8:7e48229d678c 49 * have also been defined and the ultrasonice sensor trigger and echo pin have
liam94 8:7e48229d678c 50 * been defined, it updates every .5 seconds and a timeout after 1 second and call
liam94 8:7e48229d678c 51 * the function dist when the distance changes.
liam94 8:7e48229d678c 52 *
liam94 8:7e48229d678c 53 *******************************************************************************/
liam94 5:98845ccaaacd 54
liam94 16:af15244242c2 55 int glass[] = {180,180,180,180,180,180};
liam94 16:af15244242c2 56
liam94 16:af15244242c2 57 int firestick_box[] = {180,500,500,180,500,500};
liam94 16:af15244242c2 58
liam94 16:af15244242c2 59 int Disaronno_bottle[] = {170,180,180,170,180,180};
liam94 9:ada61082bbaa 60
liam94 6:18a4dd77057e 61 int fsm[6] = {0b111110, 0b111101, 0b111011, 0b110111, 0b101111, 0b011111};
liam94 5:98845ccaaacd 62
liam94 15:d8ff594535fc 63 int Distance1, Distance2, Distance3, Distance4, Distance5, Distance6;
liam94 15:d8ff594535fc 64
liam94 15:d8ff594535fc 65 int Start_flag, Back_flag;
liam94 8:7e48229d678c 66
liam94 5:98845ccaaacd 67 void init_display();
liam94 5:98845ccaaacd 68
liam94 5:98845ccaaacd 69 void main_menu();
liam94 5:98845ccaaacd 70
liam94 5:98845ccaaacd 71 void sense_object();
liam94 5:98845ccaaacd 72
liam94 5:98845ccaaacd 73 void Start_isr();
liam94 5:98845ccaaacd 74
liam94 5:98845ccaaacd 75 void Back_isr();
liam94 5:98845ccaaacd 76
liam94 6:18a4dd77057e 77 void calibrate_object();
liam94 6:18a4dd77057e 78
liam94 7:7464fbb0f3e1 79 void dist(int distance);
liam94 7:7464fbb0f3e1 80
liam94 9:ada61082bbaa 81 void object_sense1();
liam94 9:ada61082bbaa 82
liam94 9:ada61082bbaa 83 void object_sense2();
liam94 9:ada61082bbaa 84
liam94 9:ada61082bbaa 85 void object_sense3();
liam94 9:ada61082bbaa 86
liam94 9:ada61082bbaa 87 void object_sense4();
liam94 9:ada61082bbaa 88
liam94 9:ada61082bbaa 89 void object_sense5();
liam94 9:ada61082bbaa 90
liam94 9:ada61082bbaa 91 void object_sense6();
liam94 9:ada61082bbaa 92
liam94 10:be53044119d1 93 void object_detection();
liam94 10:be53044119d1 94
liam94 16:af15244242c2 95 ultrasonic Ultrasonic(PTD0, PTC12, .5, 1, &dist);
liam94 8:7e48229d678c 96
liam94 15:d8ff594535fc 97 //int sense;
liam94 9:ada61082bbaa 98
liam94 11:5a895d966a3e 99
liam94 8:7e48229d678c 100 #endif