abdelah el fahim
/
SHT21_ncleee
SHT21 CODE WITH TIMER and interruption
Fork of SHT21_ncleee by
main.cpp@4:2daacfab92a8, 2018-01-24 (annotated)
- Committer:
- abdelah
- Date:
- Wed Jan 24 09:02:31 2018 +0000
- Revision:
- 4:2daacfab92a8
program for sht21
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
abdelah | 4:2daacfab92a8 | 1 | #include "mbed.h" |
abdelah | 4:2daacfab92a8 | 2 | #include "SHT21_ncleee.h" |
abdelah | 4:2daacfab92a8 | 3 | |
abdelah | 4:2daacfab92a8 | 4 | DigitalOut myled(LED1); |
abdelah | 4:2daacfab92a8 | 5 | Serial pc(USBTX, USBRX); |
abdelah | 4:2daacfab92a8 | 6 | I2C i2c(I2C_SDA, I2C_SCL); |
abdelah | 4:2daacfab92a8 | 7 | SHT21 sht(&i2c); |
abdelah | 4:2daacfab92a8 | 8 | InterruptIn button(USER_BUTTON); |
abdelah | 4:2daacfab92a8 | 9 | |
abdelah | 4:2daacfab92a8 | 10 | bool ISR_Flag=true; |
abdelah | 4:2daacfab92a8 | 11 | |
abdelah | 4:2daacfab92a8 | 12 | Ticker timer; |
abdelah | 4:2daacfab92a8 | 13 | |
abdelah | 4:2daacfab92a8 | 14 | int indice=0; |
abdelah | 4:2daacfab92a8 | 15 | int tab[10][2]; |
abdelah | 4:2daacfab92a8 | 16 | int test; |
abdelah | 4:2daacfab92a8 | 17 | |
abdelah | 4:2daacfab92a8 | 18 | char buffer[32]; |
abdelah | 4:2daacfab92a8 | 19 | |
abdelah | 4:2daacfab92a8 | 20 | void pressed() |
abdelah | 4:2daacfab92a8 | 21 | { |
abdelah | 4:2daacfab92a8 | 22 | test=1; |
abdelah | 4:2daacfab92a8 | 23 | } |
abdelah | 4:2daacfab92a8 | 24 | void released() |
abdelah | 4:2daacfab92a8 | 25 | { |
abdelah | 4:2daacfab92a8 | 26 | test=0; |
abdelah | 4:2daacfab92a8 | 27 | } |
abdelah | 4:2daacfab92a8 | 28 | |
abdelah | 4:2daacfab92a8 | 29 | void bla() |
abdelah | 4:2daacfab92a8 | 30 | |
abdelah | 4:2daacfab92a8 | 31 | { |
abdelah | 4:2daacfab92a8 | 32 | |
abdelah | 4:2daacfab92a8 | 33 | //pc.printf("Hello World...\n\tTesting humidity Sensor\n"); |
abdelah | 4:2daacfab92a8 | 34 | |
abdelah | 4:2daacfab92a8 | 35 | time_t seconds = time(NULL); |
abdelah | 4:2daacfab92a8 | 36 | int humidity = sht.readHumidity(); |
abdelah | 4:2daacfab92a8 | 37 | int temperature = sht.readTemp(); |
abdelah | 4:2daacfab92a8 | 38 | |
abdelah | 4:2daacfab92a8 | 39 | tab[indice][0] = humidity; |
abdelah | 4:2daacfab92a8 | 40 | tab[indice][1] = temperature; |
abdelah | 4:2daacfab92a8 | 41 | |
abdelah | 4:2daacfab92a8 | 42 | /*pc.printf(" hum is: %d \n", humidity); |
abdelah | 4:2daacfab92a8 | 43 | pc.printf(" temp is: %d \n", temperature);*/ |
abdelah | 4:2daacfab92a8 | 44 | |
abdelah | 4:2daacfab92a8 | 45 | if(indice > 9) { |
abdelah | 4:2daacfab92a8 | 46 | |
abdelah | 4:2daacfab92a8 | 47 | for(int i = 0; i<10; i++) { |
abdelah | 4:2daacfab92a8 | 48 | |
abdelah | 4:2daacfab92a8 | 49 | |
abdelah | 4:2daacfab92a8 | 50 | //pc.printf("%d / %d / \n", tab[i][0], tab[i][1]); |
abdelah | 4:2daacfab92a8 | 51 | if(test==1){ |
abdelah | 4:2daacfab92a8 | 52 | indice = 0; |
abdelah | 4:2daacfab92a8 | 53 | } |
abdelah | 4:2daacfab92a8 | 54 | } |
abdelah | 4:2daacfab92a8 | 55 | } else { |
abdelah | 4:2daacfab92a8 | 56 | pc.printf(" indice= %d \n", indice); |
abdelah | 4:2daacfab92a8 | 57 | pc.printf(" humidity= %d \n", humidity); |
abdelah | 4:2daacfab92a8 | 58 | pc.printf(" temperature= %d \n", temperature); |
abdelah | 4:2daacfab92a8 | 59 | strftime(buffer, 32, "%I:%M:%S %p\n", localtime(&seconds)); |
abdelah | 4:2daacfab92a8 | 60 | printf("Heure = %s", buffer); |
abdelah | 4:2daacfab92a8 | 61 | indice = indice +1; |
abdelah | 4:2daacfab92a8 | 62 | } |
abdelah | 4:2daacfab92a8 | 63 | |
abdelah | 4:2daacfab92a8 | 64 | ISR_Flag=false; |
abdelah | 4:2daacfab92a8 | 65 | } |
abdelah | 4:2daacfab92a8 | 66 | |
abdelah | 4:2daacfab92a8 | 67 | void isr2(void) |
abdelah | 4:2daacfab92a8 | 68 | { |
abdelah | 4:2daacfab92a8 | 69 | ISR_Flag=true; |
abdelah | 4:2daacfab92a8 | 70 | } |
abdelah | 4:2daacfab92a8 | 71 | |
abdelah | 4:2daacfab92a8 | 72 | //} |
abdelah | 4:2daacfab92a8 | 73 | |
abdelah | 4:2daacfab92a8 | 74 | |
abdelah | 4:2daacfab92a8 | 75 | int main() |
abdelah | 4:2daacfab92a8 | 76 | { |
abdelah | 4:2daacfab92a8 | 77 | button.fall(&pressed); |
abdelah | 4:2daacfab92a8 | 78 | button.rise(&released); |
abdelah | 4:2daacfab92a8 | 79 | timer.attach(&isr2,3); |
abdelah | 4:2daacfab92a8 | 80 | //set_time(1387188323); // Set RTC time to 16 December 2013 10:05:23 UTC |
abdelah | 4:2daacfab92a8 | 81 | while(1) |
abdelah | 4:2daacfab92a8 | 82 | { |
abdelah | 4:2daacfab92a8 | 83 | if(ISR_Flag==true){bla();} |
abdelah | 4:2daacfab92a8 | 84 | } |
abdelah | 4:2daacfab92a8 | 85 | } |
abdelah | 4:2daacfab92a8 | 86 |