FRDM-KL46Z_Pasos Es un programa que permite controlar un Motor a Pasos en sus diferntes modos de operación y tampbien permite controlar un Motor de CD en Modo ON-OFF Adelante y Atrás
Dependencies: mbed Debounced tsi_sensor TSI TextLCD MMA8451Q USBDevice
dht22.h@0:a935d23434d9, 2018-05-11 (annotated)
- Committer:
- Antulius
- Date:
- Fri May 11 02:33:01 2018 +0000
- Revision:
- 0:a935d23434d9
FRDM-KL46Z_DHT22 & USBMouse
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Antulius | 0:a935d23434d9 | 1 | /* |
Antulius | 0:a935d23434d9 | 2 | * (C) The University of Kent and Simon Cooksey 2015. |
Antulius | 0:a935d23434d9 | 3 | */ |
Antulius | 0:a935d23434d9 | 4 | |
Antulius | 0:a935d23434d9 | 5 | #ifndef __DHT22_h_ |
Antulius | 0:a935d23434d9 | 6 | #define __DHT22_h_ |
Antulius | 0:a935d23434d9 | 7 | |
Antulius | 0:a935d23434d9 | 8 | // We'll pick a point to decide if a signal is 1 or 0 from. |
Antulius | 0:a935d23434d9 | 9 | #define DHT22_SIGNAL_HIGH_LOW_BOUNDARY 50 // uS |
Antulius | 0:a935d23434d9 | 10 | #define DHT22_START_BIT_TIME 500 // uS |
Antulius | 0:a935d23434d9 | 11 | #define DHT22_START_BIT_RESPONSE 80 // uS |
Antulius | 0:a935d23434d9 | 12 | |
Antulius | 0:a935d23434d9 | 13 | typedef enum { |
Antulius | 0:a935d23434d9 | 14 | EDGE_TYPE_FALLING, |
Antulius | 0:a935d23434d9 | 15 | EDGE_TYPE_RISING, |
Antulius | 0:a935d23434d9 | 16 | } edge_type_t; |
Antulius | 0:a935d23434d9 | 17 | |
Antulius | 0:a935d23434d9 | 18 | typedef struct { |
Antulius | 0:a935d23434d9 | 19 | int temp; |
Antulius | 0:a935d23434d9 | 20 | int humidity; |
Antulius | 0:a935d23434d9 | 21 | uint8_t checksum; |
Antulius | 0:a935d23434d9 | 22 | } DHT22_data_t; |
Antulius | 0:a935d23434d9 | 23 | |
Antulius | 0:a935d23434d9 | 24 | class DHT22 { |
Antulius | 0:a935d23434d9 | 25 | public: |
Antulius | 0:a935d23434d9 | 26 | DHT22(PinName pin) : dht22_s(pin) { } |
Antulius | 0:a935d23434d9 | 27 | void read(DHT22_data_t * data); |
Antulius | 0:a935d23434d9 | 28 | private: |
Antulius | 0:a935d23434d9 | 29 | DigitalInOut dht22_s; |
Antulius | 0:a935d23434d9 | 30 | |
Antulius | 0:a935d23434d9 | 31 | int wait_for_edge(edge_type_t type); |
Antulius | 0:a935d23434d9 | 32 | void send_start(); |
Antulius | 0:a935d23434d9 | 33 | void await_start_response(); |
Antulius | 0:a935d23434d9 | 34 | int16_t read_word(); |
Antulius | 0:a935d23434d9 | 35 | uint8_t read_checksum(); |
Antulius | 0:a935d23434d9 | 36 | }; |
Antulius | 0:a935d23434d9 | 37 | |
Antulius | 0:a935d23434d9 | 38 | #endif // __DHT22_h_ |