printer
Dependencies: HCSR04 USBDevice mbed-src mbed mbed
Fork of Serial_HelloWorld_Mbed by
main.cpp@1:a66cf68ec8ca, 2014-04-14 (annotated)
- Committer:
- redplam
- Date:
- Mon Apr 14 14:38:46 2014 +0000
- Revision:
- 1:a66cf68ec8ca
- Parent:
- 0:879aa9d0247b
printer
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
redplam | 1:a66cf68ec8ca | 1 | //usb serial at 1200,8,n,1 |
mbed_official | 0:879aa9d0247b | 2 | #include "mbed.h" |
redplam | 1:a66cf68ec8ca | 3 | #include <stdint.h> |
redplam | 1:a66cf68ec8ca | 4 | #include "DS18B20.h" |
redplam | 1:a66cf68ec8ca | 5 | #include "HCSR04.h" |
redplam | 1:a66cf68ec8ca | 6 | |
redplam | 1:a66cf68ec8ca | 7 | #define BAUDRATE0 1200 |
redplam | 1:a66cf68ec8ca | 8 | #define BAUDRATE1 2400 |
redplam | 1:a66cf68ec8ca | 9 | #define BAUDRATE3 2400 |
redplam | 1:a66cf68ec8ca | 10 | |
redplam | 1:a66cf68ec8ca | 11 | HCSR04 rangeFinder(PTA1,PTA2); |
redplam | 1:a66cf68ec8ca | 12 | Serial pcomp(USBTX, USBRX); // tx, rx |
redplam | 1:a66cf68ec8ca | 13 | DigitalInOut sensor(PTE0); // sensor connected to pin 5 |
redplam | 1:a66cf68ec8ca | 14 | DigitalOut StopLedRed(LED_RED); //for testing purposes STOP |
redplam | 1:a66cf68ec8ca | 15 | AnalogIn ain(PTB0); |
redplam | 1:a66cf68ec8ca | 16 | Serial pc(PTC4,PTC3); |
redplam | 1:a66cf68ec8ca | 17 | int cell; |
redplam | 1:a66cf68ec8ca | 18 | char aa; |
redplam | 1:a66cf68ec8ca | 19 | float temp=0; |
redplam | 1:a66cf68ec8ca | 20 | float range; |
redplam | 1:a66cf68ec8ca | 21 | |
redplam | 1:a66cf68ec8ca | 22 | void test (void) |
redplam | 1:a66cf68ec8ca | 23 | { |
redplam | 1:a66cf68ec8ca | 24 | cell=123; |
redplam | 1:a66cf68ec8ca | 25 | pcomp.printf("test\n"); |
redplam | 1:a66cf68ec8ca | 26 | |
redplam | 1:a66cf68ec8ca | 27 | pc.printf("TESTINRT0\n"); |
redplam | 1:a66cf68ec8ca | 28 | |
redplam | 1:a66cf68ec8ca | 29 | // pc1.printf("TESTING0\n"); |
redplam | 1:a66cf68ec8ca | 30 | |
redplam | 1:a66cf68ec8ca | 31 | } |
redplam | 1:a66cf68ec8ca | 32 | void analog(void) |
redplam | 1:a66cf68ec8ca | 33 | { |
redplam | 1:a66cf68ec8ca | 34 | while (1) { |
redplam | 1:a66cf68ec8ca | 35 | pc.printf("\n\r=====================================================\n\r"); |
redplam | 1:a66cf68ec8ca | 36 | |
redplam | 1:a66cf68ec8ca | 37 | pc.printf("analog in = %f\n", ain.read()); |
redplam | 1:a66cf68ec8ca | 38 | if(ain > 0.3) { |
redplam | 1:a66cf68ec8ca | 39 | StopLedRed = 1; |
redplam | 1:a66cf68ec8ca | 40 | } else { |
redplam | 1:a66cf68ec8ca | 41 | StopLedRed = 0; |
redplam | 1:a66cf68ec8ca | 42 | } |
redplam | 1:a66cf68ec8ca | 43 | } |
redplam | 1:a66cf68ec8ca | 44 | } |
redplam | 1:a66cf68ec8ca | 45 | void dist(void){ |
redplam | 1:a66cf68ec8ca | 46 | rangeFinder.startMeas(); |
redplam | 1:a66cf68ec8ca | 47 | wait(0.1); |
redplam | 1:a66cf68ec8ca | 48 | if ( rangeFinder.getMeas(range) == RANGE_MEAS_VALID ) |
redplam | 1:a66cf68ec8ca | 49 | { |
redplam | 1:a66cf68ec8ca | 50 | pcomp.printf("range = %f\n\r", range); |
redplam | 1:a66cf68ec8ca | 51 | } |
redplam | 1:a66cf68ec8ca | 52 | } |
redplam | 1:a66cf68ec8ca | 53 | void temp1(void){ |
redplam | 1:a66cf68ec8ca | 54 | pc.printf("\n\r=====================================================\n\r"); |
redplam | 1:a66cf68ec8ca | 55 | pc.printf("DS18B20 Configuration\n\r"); |
redplam | 1:a66cf68ec8ca | 56 | sensor.mode(PullUp); |
redplam | 1:a66cf68ec8ca | 57 | |
redplam | 1:a66cf68ec8ca | 58 | ROM_Code_t ROM_Code = ReadROM(); |
redplam | 1:a66cf68ec8ca | 59 | pcomp.printf("Family code: 0x%X\n\r", ROM_Code.BYTES.familyCode); |
redplam | 1:a66cf68ec8ca | 60 | pcomp.printf("Serial Number: "); |
redplam | 1:a66cf68ec8ca | 61 | for (uint32_t i = 6; i != 0; --i) { |
redplam | 1:a66cf68ec8ca | 62 | pcomp.printf("%02X%s", ROM_Code.BYTES.serialNo[i-1], (i != 1)?":":"\r\n"); |
redplam | 1:a66cf68ec8ca | 63 | } |
redplam | 1:a66cf68ec8ca | 64 | pcomp.printf("CRC: 0x%X\r\n", ROM_Code.BYTES.CRC); |
redplam | 1:a66cf68ec8ca | 65 | |
redplam | 1:a66cf68ec8ca | 66 | pcomp.printf("\n\rRunning temperature conversion...\n\r"); |
redplam | 1:a66cf68ec8ca | 67 | } |
redplam | 1:a66cf68ec8ca | 68 | int main() |
redplam | 1:a66cf68ec8ca | 69 | { |
redplam | 1:a66cf68ec8ca | 70 | pcomp.baud(BAUDRATE3); |
redplam | 1:a66cf68ec8ca | 71 | |
mbed_official | 0:879aa9d0247b | 72 | |
redplam | 1:a66cf68ec8ca | 73 | pc.baud(BAUDRATE0); |
redplam | 1:a66cf68ec8ca | 74 | |
redplam | 1:a66cf68ec8ca | 75 | pc.format(8,Serial::None,1); |
redplam | 1:a66cf68ec8ca | 76 | |
redplam | 1:a66cf68ec8ca | 77 | //pc.printf("dddHello World!\n"); |
redplam | 1:a66cf68ec8ca | 78 | //wait(2); |
redplam | 1:a66cf68ec8ca | 79 | // pc.printf("Family"); |
redplam | 1:a66cf68ec8ca | 80 | // wait(2); |
redplam | 1:a66cf68ec8ca | 81 | // pc1.printf("1111Family"); |
redplam | 1:a66cf68ec8ca | 82 | // wait(2); |
redplam | 1:a66cf68ec8ca | 83 | // pcomp.printf("333Family"); |
redplam | 1:a66cf68ec8ca | 84 | // wait(2); |
mbed_official | 0:879aa9d0247b | 85 | while(1) { |
redplam | 1:a66cf68ec8ca | 86 | test(); |
redplam | 1:a66cf68ec8ca | 87 | // dist(); |
redplam | 1:a66cf68ec8ca | 88 | // analog(); |
redplam | 1:a66cf68ec8ca | 89 | // wait(2); |
redplam | 1:a66cf68ec8ca | 90 | // displayTemperature(pcomp); |
redplam | 1:a66cf68ec8ca | 91 | // showTemperature(&temp); |
redplam | 1:a66cf68ec8ca | 92 | // pcomp.printf("%.2f C",temp); |
redplam | 1:a66cf68ec8ca | 93 | // analog(); |
redplam | 1:a66cf68ec8ca | 94 | ////pc.printf("serial 0 Hello from me\n"); |
redplam | 1:a66cf68ec8ca | 95 | ////pc1.printf("serial 2 how are you\n"); |
redplam | 1:a66cf68ec8ca | 96 | wait(5.0); |
redplam | 1:a66cf68ec8ca | 97 | //test(); |
redplam | 1:a66cf68ec8ca | 98 | // aa=pc.getc(); |
redplam | 1:a66cf68ec8ca | 99 | // pc.printf( "%c", aa,"\n"); |
redplam | 1:a66cf68ec8ca | 100 | // pc.putc(pc.getc() + 1);pc.printf("\n"); |
mbed_official | 0:879aa9d0247b | 101 | } |
mbed_official | 0:879aa9d0247b | 102 | } |