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

Committer:
Antulius
Date:
Fri Jun 28 17:52:12 2019 +0000
Revision:
1:e7f73d96ddde
Parent:
dht22.h@0:a935d23434d9
FRDM-KL46Z_Pasos

Who changed what in which revision?

UserRevisionLine numberNew 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_