![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
First Draft, serial print change based on distance
main.cpp@0:506531d0531c, 2021-12-04 (annotated)
- Committer:
- liam94
- Date:
- Sat Dec 04 17:15:09 2021 +0000
- Revision:
- 0:506531d0531c
- Child:
- 1:a1795335ef8c
1st Draft
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
liam94 | 0:506531d0531c | 1 | #include "mbed.h" |
liam94 | 0:506531d0531c | 2 | #include "ultrasonic.h" |
liam94 | 0:506531d0531c | 3 | #include "N5110.h" |
liam94 | 0:506531d0531c | 4 | |
liam94 | 0:506531d0531c | 5 | // rows,cols |
liam94 | 0:506531d0531c | 6 | int sprite[8][5] = { |
liam94 | 0:506531d0531c | 7 | { 0,0,1,0,0 }, |
liam94 | 0:506531d0531c | 8 | { 0,1,1,1,0 }, |
liam94 | 0:506531d0531c | 9 | { 0,0,1,0,0 }, |
liam94 | 0:506531d0531c | 10 | { 0,1,1,1,0 }, |
liam94 | 0:506531d0531c | 11 | { 1,1,1,1,1 }, |
liam94 | 0:506531d0531c | 12 | { 1,1,1,1,1 }, |
liam94 | 0:506531d0531c | 13 | { 1,1,0,1,1 }, |
liam94 | 0:506531d0531c | 14 | { 1,1,0,1,1 }, |
liam94 | 0:506531d0531c | 15 | }; |
liam94 | 0:506531d0531c | 16 | |
liam94 | 0:506531d0531c | 17 | // VCC,SCE,RST,D/C,MOSI,SCLK,LED |
liam94 | 0:506531d0531c | 18 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); //Set LCD Pins |
liam94 | 0:506531d0531c | 19 | |
liam94 | 0:506531d0531c | 20 | ultrasonic mu(PTA0, PTD0, .1, 1); //Set the trigger pin to PTA0 and the echo pin to PTD0 |
liam94 | 0:506531d0531c | 21 | //have updates every .1 seconds and a timeout after 1 |
liam94 | 0:506531d0531c | 22 | //second, and call dist when the distance changes |
liam94 | 0:506531d0531c | 23 | |
liam94 | 0:506531d0531c | 24 | int main() |
liam94 | 0:506531d0531c | 25 | { |
liam94 | 0:506531d0531c | 26 | // initialise lcd |
liam94 | 0:506531d0531c | 27 | lcd.init(); |
liam94 | 0:506531d0531c | 28 | |
liam94 | 0:506531d0531c | 29 | // set lcd contrast |
liam94 | 0:506531d0531c | 30 | lcd.setContrast(0.4); |
liam94 | 0:506531d0531c | 31 | lcd.clear(); |
liam94 | 0:506531d0531c | 32 | |
liam94 | 0:506531d0531c | 33 | mu.startUpdates();//start mesuring the distance |
liam94 | 0:506531d0531c | 34 | while(1) |
liam94 | 0:506531d0531c | 35 | { |
liam94 | 0:506531d0531c | 36 | // x origin, y origin, rows, cols, sprite |
liam94 | 0:506531d0531c | 37 | lcd.drawSprite(20,6,8,5,(int *)sprite); |
liam94 | 0:506531d0531c | 38 | lcd.refresh(); |
liam94 | 0:506531d0531c | 39 | wait(5.0); |
liam94 | 0:506531d0531c | 40 | |
liam94 | 0:506531d0531c | 41 | mu.checkDistance(); //call checkDistance() as much as possible, as this is where |
liam94 | 0:506531d0531c | 42 | //the class checks if dist needs to be called. |
liam94 | 0:506531d0531c | 43 | |
liam94 | 0:506531d0531c | 44 | if (distance > 1000){ // check if somebody is infront of the sensor <--- needs resolving |
liam94 | 0:506531d0531c | 45 | lcd.clear(); // if nobody present then clear screen and turn backlight off |
liam94 | 0:506531d0531c | 46 | lcd.setBrightness(0.0); |
liam94 | 0:506531d0531c | 47 | printf("sleep"); // print sleep for debugging |
liam94 | 0:506531d0531c | 48 | } |
liam94 | 0:506531d0531c | 49 | } |
liam94 | 0:506531d0531c | 50 | } |