Umair Aftab / Mbed 2 deprecated Autus Featured

Dependencies:   TextLCD mbed

Fork of keypad_test by Plamen Totev

Autus

This is the codebase accompanying the project Autus.

Autus is an automated growth chamber for plants.

Features

Control Humidity inside chamber wrt to external humidity. Control Temperature inside chamber. ( Peltier Heaters/Coolers ) Water and shower plants. Control soil humidity. Monitor water tanks level (Load Cell) /media/uploads/umairaftab/frdm_-_new_page1.png

Code Base Features

Fixed timing and CRC for DHT-11 Sensor. Fixed OneWire bug for ds18b20

Cyclic Executive Scheduler with Priority. Async IPC framework for PC App over bluetooth

Fake RTC systick, I was having some trouble with the on board rtc.

/media/uploads/umairaftab/download.png

Committer:
umairaftab
Date:
Fri Apr 11 03:50:38 2014 +0000
Revision:
7:1d691f81d455
Child:
11:f9ffd5ab7e94
Merged Plamens, and mine Branches; ; Air Humidity; Soil Moisture; Peltier ; Peltier temp; Keypad; Buzzer; Led Lights ; Pumps

Who changed what in which revision?

UserRevisionLine numberNew contents of line
umairaftab 7:1d691f81d455 1 #include "mbed.h"
umairaftab 7:1d691f81d455 2 #include "soilmoisture.h"
umairaftab 7:1d691f81d455 3 /*https://mbed.org/users/chris/notebook/Getting-best-ADC-performance*/
umairaftab 7:1d691f81d455 4 static const int MAX_DATAPOINTS=500;
umairaftab 7:1d691f81d455 5 static const unsigned int MAX_ADC_VALUE=65535;
umairaftab 7:1d691f81d455 6
umairaftab 7:1d691f81d455 7 unsigned short current_soil_humid1=0;
umairaftab 7:1d691f81d455 8 unsigned short current_soil_humid2=0;
umairaftab 7:1d691f81d455 9
umairaftab 7:1d691f81d455 10 unsigned int current_soil_humid1_int=0;
umairaftab 7:1d691f81d455 11 unsigned int current_soil_humid2_int=0;
umairaftab 7:1d691f81d455 12
umairaftab 7:1d691f81d455 13 unsigned int CMA_soil1=0;
umairaftab 7:1d691f81d455 14 unsigned int CMA_soil2=0;
umairaftab 7:1d691f81d455 15
umairaftab 7:1d691f81d455 16 float soil1_humid=0;
umairaftab 7:1d691f81d455 17 float soil2_humid=0;
umairaftab 7:1d691f81d455 18
umairaftab 7:1d691f81d455 19 void read_soil_humidity(){
umairaftab 7:1d691f81d455 20
umairaftab 7:1d691f81d455 21 int count =0;
umairaftab 7:1d691f81d455 22 while(count<MAX_DATAPOINTS){
umairaftab 7:1d691f81d455 23
umairaftab 7:1d691f81d455 24 current_soil_humid1 = soil_sense1.read_u16();
umairaftab 7:1d691f81d455 25 current_soil_humid2 = soil_sense2.read_u16();
umairaftab 7:1d691f81d455 26
umairaftab 7:1d691f81d455 27 //convert from short to int
umairaftab 7:1d691f81d455 28 current_soil_humid1_int = (unsigned int)current_soil_humid1;
umairaftab 7:1d691f81d455 29 current_soil_humid2_int = (unsigned int)current_soil_humid2;
umairaftab 7:1d691f81d455 30
umairaftab 7:1d691f81d455 31 CMA_soil1 = (current_soil_humid1_int + (count*CMA_soil1))/(count+1);
umairaftab 7:1d691f81d455 32 CMA_soil2 = (current_soil_humid2_int + (count*CMA_soil2))/(count+1);
umairaftab 7:1d691f81d455 33
umairaftab 7:1d691f81d455 34 wait_ms(5);
umairaftab 7:1d691f81d455 35 count++;
umairaftab 7:1d691f81d455 36 }
umairaftab 7:1d691f81d455 37
umairaftab 7:1d691f81d455 38 }
umairaftab 7:1d691f81d455 39
umairaftab 7:1d691f81d455 40 void calc_soil_humid_values(){
umairaftab 7:1d691f81d455 41
umairaftab 7:1d691f81d455 42 soil1_humid = CMA_soil1/MAX_ADC_VALUE;
umairaftab 7:1d691f81d455 43 soil2_humid = CMA_soil2/MAX_ADC_VALUE;
umairaftab 7:1d691f81d455 44
umairaftab 7:1d691f81d455 45 }