Mohamed M. Fathy Ahmed Abdelsalam
Published

Arduino Data Acquisition Through Serial Port

Acquiring DHT11 temperature and humidity reading with Arduino through Serial port to a PC application.

IntermediateFull instructions provided2 hours7,602
Arduino Data Acquisition Through Serial Port

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
DHT11 Temperature & Humidity Sensor (4 pins)
DHT11 Temperature & Humidity Sensor (4 pins)
×1

Software apps and online services

Arduino IDE
Arduino IDE
Borland C++ Builder Version 6

Story

Read more

Schematics

Connection Diagram

Code

ِArduion Sketch

C/C++
#include <dht.h>

dht DHT;

#define DHT11_PIN 7

void setup(){
  Serial.begin(9600);
}

void loop()
{
  int chk = DHT.read11(DHT11_PIN);

  Serial.print(DHT.temperature);
  
  Serial.print(DHT.humidity);
  delay(1000);
}

Serial Port Data Parsing

C/C++
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "ComPort"
#pragma link "ComPort"
#pragma link "iComponent"
#pragma link "iCustomComponent"
#pragma link "iStripChart"
#pragma link "iVCLComponent"
#pragma link "iPlot"
#pragma link "iPlotComponent"
#pragma link "VrControls"
#pragma link "VrThermoMeter"
#pragma link "GADGETXLIB2Lib_OCX"
#pragma link "iPositionComponent"
#pragma link "iScaleComponent"
#pragma link "iThermometer"
#pragma link "iAnalogDisplay"
#pragma link "VrAngularMeter"
#pragma resource "*.dfm"
TForm1 *Form1;
char x[10];
float temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,humdity,temper;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ComPort1->Active=true;
ComPort1->Open();
StatusBar1->Panels->Items[0]->Text="Connected";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{

ComPort1->Close();
StatusBar1->Panels->Items[0]->Text="Disconnected";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComPort1RxChar(TObject *Sender)
{
for (int n=0;n<10;n++)
{
x[n]=ComPort1->ReadChar();
}
temp1=StrToFloat(x[0])*10;
temp2=StrToFloat(x[1]);
temp3=StrToFloat(x[3])/10;
temp4=StrToFloat(x[4])/100;
temp5=StrToFloat(x[5])*10;
temp6=StrToFloat(x[6]);
temp7=StrToFloat(x[8])/10;
temp8=StrToFloat(x[9])/100;
temper=temp1+temp2+temp3+temp4;
humdity=temp5+temp6+temp7+temp8;

tempd->Position=temper;
humd->Position=temper;
Edit1->Text=FloatToStr(humdity)+" %"  ;
Edit2->Text=FloatToStr(temper)+" °C";
iPlot1->Channel[0]->AddYNow(temper);
iPlot1->Channel[1]->AddYNow(humdity)  ;
 }
//---------------------------------------------------------------------------

Credits

Mohamed M. Fathy Ahmed Abdelsalam
8 projects • 22 followers
Contact

Comments

Please log in or sign up to comment.