First Draft, serial print change based on distance

Committer:
liam94
Date:
Thu Feb 03 21:58:22 2022 +0000
Revision:
14:837945ccd8c0
Parent:
13:cc99df342c7f
Child:
15:d8ff594535fc
added in new library titled "beep" to interface with the buzzer, used this library to make the buzzer sound for 0.5 seconds to indicate to the user when a reading has been taken

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 8:7e48229d678c 24 * push buttons that have been defined as interrupts, the LEDs that have been
liam94 8:7e48229d678c 25 * defined in a Bus output for ease of use, the LCD output pins VCC,SCE,RST,D/C,
liam94 8:7e48229d678c 26 * MOSI,SCLK,LED and the joystick y-coordinate x-coordinate and button.
liam94 8:7e48229d678c 27 *
liam94 8:7e48229d678c 28 *******************************************************************************/
liam94 8:7e48229d678c 29
liam94 5:98845ccaaacd 30 InterruptIn L(PTB18);
liam94 5:98845ccaaacd 31 InterruptIn R(PTB3);
liam94 5:98845ccaaacd 32 InterruptIn Start(PTC5);
liam94 5:98845ccaaacd 33 InterruptIn Back(PTB19);
liam94 5:98845ccaaacd 34
liam94 14:837945ccd8c0 35 Beep buzzer(PTC10);
liam94 14:837945ccd8c0 36
liam94 13:cc99df342c7f 37 BusOut LEDS(PTA1,PTA2,PTC2,PTC3,PTC4,PTD3);
liam94 5:98845ccaaacd 38
liam94 8:7e48229d678c 39 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
liam94 5:98845ccaaacd 40
liam94 5:98845ccaaacd 41 Joystick joystick(PTB10,PTB11,PTC16);
liam94 5:98845ccaaacd 42
liam94 8:7e48229d678c 43 /***************************************************************************//**
liam94 8:7e48229d678c 44 *
liam94 8:7e48229d678c 45 * below is array of states for the LEDs in the FSM, states have been defined in
liam94 8:7e48229d678c 46 * binary for ease of use, 0 is LED on, 1 is LED off so only one LED is on in any
liam94 8:7e48229d678c 47 * state. the member functions that are to be used in the main source code file
liam94 8:7e48229d678c 48 * have also been defined and the ultrasonice sensor trigger and echo pin have
liam94 8:7e48229d678c 49 * been defined, it updates every .5 seconds and a timeout after 1 second and call
liam94 8:7e48229d678c 50 * the function dist when the distance changes.
liam94 8:7e48229d678c 51 *
liam94 8:7e48229d678c 52 *******************************************************************************/
liam94 5:98845ccaaacd 53
liam94 10:be53044119d1 54 int glass[] = {180,180,180,180,180,180}; //array for first object (pint glass)
liam94 9:ada61082bbaa 55
liam94 6:18a4dd77057e 56 int fsm[6] = {0b111110, 0b111101, 0b111011, 0b110111, 0b101111, 0b011111};
liam94 5:98845ccaaacd 57
liam94 8:7e48229d678c 58 volatile int Start_flag, Back_flag;
liam94 8:7e48229d678c 59
liam94 5:98845ccaaacd 60 void init_display();
liam94 5:98845ccaaacd 61
liam94 5:98845ccaaacd 62 void main_menu();
liam94 5:98845ccaaacd 63
liam94 5:98845ccaaacd 64 void sense_object();
liam94 5:98845ccaaacd 65
liam94 5:98845ccaaacd 66 void Start_isr();
liam94 5:98845ccaaacd 67
liam94 5:98845ccaaacd 68 void Back_isr();
liam94 5:98845ccaaacd 69
liam94 6:18a4dd77057e 70 void calibrate_object();
liam94 6:18a4dd77057e 71
liam94 7:7464fbb0f3e1 72 void dist(int distance);
liam94 7:7464fbb0f3e1 73
liam94 9:ada61082bbaa 74 void object_sense1();
liam94 9:ada61082bbaa 75
liam94 9:ada61082bbaa 76 void object_sense2();
liam94 9:ada61082bbaa 77
liam94 9:ada61082bbaa 78 void object_sense3();
liam94 9:ada61082bbaa 79
liam94 9:ada61082bbaa 80 void object_sense4();
liam94 9:ada61082bbaa 81
liam94 9:ada61082bbaa 82 void object_sense5();
liam94 9:ada61082bbaa 83
liam94 9:ada61082bbaa 84 void object_sense6();
liam94 9:ada61082bbaa 85
liam94 10:be53044119d1 86 void object_detection();
liam94 10:be53044119d1 87
liam94 8:7e48229d678c 88 ultrasonic mu(PTD0, PTC12, .5, 1, &dist);
liam94 8:7e48229d678c 89
liam94 9:ada61082bbaa 90 int sense;
liam94 9:ada61082bbaa 91
liam94 10:be53044119d1 92 int Distance1;
liam94 9:ada61082bbaa 93
liam94 10:be53044119d1 94 int Distance2;
liam94 9:ada61082bbaa 95
liam94 10:be53044119d1 96 int Distance3;
liam94 9:ada61082bbaa 97
liam94 10:be53044119d1 98 int Distance4;
liam94 9:ada61082bbaa 99
liam94 10:be53044119d1 100 int Distance5;
liam94 9:ada61082bbaa 101
liam94 10:be53044119d1 102 int Distance6;
liam94 11:5a895d966a3e 103
liam94 8:7e48229d678c 104 #endif