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:
Mbed_DHT.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 * DHT Library for Digital-output Humidity and Temperature sensors
Antulius 0:a935d23434d9 3 *
Antulius 0:a935d23434d9 4 * Works with DHT11, DHT21, DHT22
Antulius 0:a935d23434d9 5 * SEN11301P, Grove - Temperature&Humidity Sensor (Seeed Studio)
Antulius 0:a935d23434d9 6 * SEN51035P, Grove - Temperature&Humidity Sensor Pro (Seeed Studio)
Antulius 0:a935d23434d9 7 * AM2302 , temperature-humidity sensor
Antulius 0:a935d23434d9 8 * RHT01,RHT02, RHT03 , Humidity and Temperature Sensor (Sparkfun)
Antulius 0:a935d23434d9 9 *
Antulius 0:a935d23434d9 10 * Copyright (C) Wim De Roeve
Antulius 0:a935d23434d9 11 * based on DHT22 sensor library by HO WING KIT
Antulius 0:a935d23434d9 12 * Arduino DHT11 library
Antulius 0:a935d23434d9 13 *
Antulius 0:a935d23434d9 14 * Permission is hereby granted, free of charge, to any person obtaining a copy
Antulius 0:a935d23434d9 15 * of this software and associated documnetation files (the "Software"), to deal
Antulius 0:a935d23434d9 16 * in the Software without restriction, including without limitation the rights
Antulius 0:a935d23434d9 17 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
Antulius 0:a935d23434d9 18 * copies of the Software, and to permit persons to whom the Software is
Antulius 0:a935d23434d9 19 * furished to do so, subject to the following conditions:
Antulius 0:a935d23434d9 20 *
Antulius 0:a935d23434d9 21 * The above copyright notice and this permission notice shall be included in
Antulius 0:a935d23434d9 22 * all copies or substantial portions of the Software.
Antulius 0:a935d23434d9 23 *
Antulius 0:a935d23434d9 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Antulius 0:a935d23434d9 25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Antulius 0:a935d23434d9 26 * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Antulius 0:a935d23434d9 27 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Antulius 0:a935d23434d9 28 * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Antulius 0:a935d23434d9 29 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Antulius 0:a935d23434d9 30 * THE SOFTWARE.
Antulius 0:a935d23434d9 31 */
Antulius 0:a935d23434d9 32
Antulius 0:a935d23434d9 33 #ifndef MBED_DHT_H
Antulius 0:a935d23434d9 34 #define MBED_DHT_H
Antulius 0:a935d23434d9 35
Antulius 0:a935d23434d9 36 #include "mbed.h"
Antulius 0:a935d23434d9 37
Antulius 0:a935d23434d9 38 typedef enum eType eType;
Antulius 0:a935d23434d9 39 enum eType {
Antulius 0:a935d23434d9 40 DHT11 = 11,
Antulius 0:a935d23434d9 41 SEN11301P = 11,
Antulius 0:a935d23434d9 42 RHT01 = 11,
Antulius 0:a935d23434d9 43 DHT22 = 22,
Antulius 0:a935d23434d9 44 AM2302 = 22,
Antulius 0:a935d23434d9 45 SEN51035P = 22,
Antulius 0:a935d23434d9 46 RHT02 = 22,
Antulius 0:a935d23434d9 47 RHT03 = 22
Antulius 0:a935d23434d9 48 };
Antulius 0:a935d23434d9 49
Antulius 0:a935d23434d9 50 typedef enum eError eError;
Antulius 0:a935d23434d9 51 enum eError {
Antulius 0:a935d23434d9 52 ERROR_NONE = 0,
Antulius 0:a935d23434d9 53 BUS_BUSY,
Antulius 0:a935d23434d9 54 ERROR_NOT_PRESENT,
Antulius 0:a935d23434d9 55 ERROR_ACK_TOO_LONG,
Antulius 0:a935d23434d9 56 ERROR_SYNC_TIMEOUT,
Antulius 0:a935d23434d9 57 ERROR_DATA_TIMEOUT,
Antulius 0:a935d23434d9 58 ERROR_CHECKSUM,
Antulius 0:a935d23434d9 59 ERROR_NO_PATIENCE
Antulius 0:a935d23434d9 60 };
Antulius 0:a935d23434d9 61
Antulius 0:a935d23434d9 62 typedef enum eScale eScale;
Antulius 0:a935d23434d9 63 enum eScale {
Antulius 0:a935d23434d9 64 CELCIUS = 0,
Antulius 0:a935d23434d9 65 FARENHEIT,
Antulius 0:a935d23434d9 66 KELVIN
Antulius 0:a935d23434d9 67 };
Antulius 0:a935d23434d9 68
Antulius 0:a935d23434d9 69
Antulius 0:a935d23434d9 70 class DHT
Antulius 0:a935d23434d9 71 {
Antulius 0:a935d23434d9 72
Antulius 0:a935d23434d9 73 public:
Antulius 0:a935d23434d9 74
Antulius 0:a935d23434d9 75 DHT(PinName pin, eType DHTtype);
Antulius 0:a935d23434d9 76 ~DHT();
Antulius 0:a935d23434d9 77 eError readData(void);
Antulius 0:a935d23434d9 78 float ReadHumidity(void);
Antulius 0:a935d23434d9 79 float ReadTemperature(eScale const Scale);
Antulius 0:a935d23434d9 80 float CalcdewPoint(float const celsius, float const humidity);
Antulius 0:a935d23434d9 81 float CalcdewPointFast(float const celsius, float const humidity);
Antulius 0:a935d23434d9 82
Antulius 0:a935d23434d9 83 private:
Antulius 0:a935d23434d9 84 time_t _lastReadTime;
Antulius 0:a935d23434d9 85 float _lastTemperature;
Antulius 0:a935d23434d9 86 float _lastHumidity;
Antulius 0:a935d23434d9 87 PinName _pin;
Antulius 0:a935d23434d9 88 bool _firsttime;
Antulius 0:a935d23434d9 89 eType _DHTtype;
Antulius 0:a935d23434d9 90 uint8_t DHT_data[5];
Antulius 0:a935d23434d9 91 float CalcTemperature();
Antulius 0:a935d23434d9 92 float CalcHumidity();
Antulius 0:a935d23434d9 93 float ConvertCelciustoFarenheit(float const);
Antulius 0:a935d23434d9 94 float ConvertCelciustoKelvin(float const);
Antulius 0:a935d23434d9 95 eError stall(DigitalInOut &io, int const level, int const max_time);
Antulius 0:a935d23434d9 96
Antulius 0:a935d23434d9 97 };
Antulius 0:a935d23434d9 98
Antulius 0:a935d23434d9 99 #endif
Antulius 0:a935d23434d9 100