(https://blogs.embarcadero.com/building-good-with-cbuilder-contest-results/)
https://blogs.embarcadero.com/building-good-with-cbuilder-contest-results/ https://youtube.com/embed/tNYx-wSfjVc
Bluetooth 기술이 전 세계 수자원 활용을 어떻게 개선할 수 있는지 알아보세요. C++ Builder 10.3 Community Edition을 사용한 프로그래밍은 Android Studio의 거북이와 영원한 인덱싱 악몽보다 놀랍게도 매우 빨랐습니다. 이제 이 프로젝트에서 다중 장치 기능을 사용하여 이 IDE를 사용하여 앞으로 나아갈 시간입니다.
목표는 처음에는 엄마의 정원, 다음에는 도시 공원, 농경지, 그리고 전 세계의 모든 물 분배 활동에서 관개 문제에 대한 물 사용에 대한 통제력을 강화하는 것입니다. 이런 기회를 주신 Building Good with C++Builder 콘테스트에 감사드립니다.
이 시스템은 블루투스 지원 장치를 사용하여 식물에 물을 공급하기 위한 밸브를 제어할 예정입니다. 제어 장치는 노트북/PC 또는 스마트폰(Android 또는 iOS)일 수 있습니다. 이 장치는 블루투스 무선 링크를 통해 HC-05 블루투스 모듈에 연결된 Arduino UNO 보드를 제어합니다. 그래서 이 마지막 장치는 릴레이로 솔레노이드 밸브를 열고 닫을 수 있습니다. 다음 모드에 따라: 1. 센서(습도, 물탱크 수위 및 비 강도)를 기반으로 Arduino는 식물에 적절하게 물을 공급하기 위해 밸브를 열고 닫을 시기를 결정합니다. 센서 값은 결정을 내리기 위해 설정값과 비교됩니다. 모드 2. 테스트 모드에서는 센서 값에 관계없이 밸브를 열고 닫을 수 있습니다. 모드 3, 관개 일정, 즉 밸브가 열리는 시간 정의 기간을 사용합니다.
Arduino 밸브 제어 및 부착된 센서(습도, 수위 및 비)를 시뮬레이션하기 위한 Arduino 라이브러리가 포함된 Proteus 8.6은 C++ Builder에서 프로그래밍된 Irrigation 3021 앱의 명령에 대한 밸브 제어 시스템(회로 및 펌웨어)의 응답을 시뮬레이션합니다.
내 특별한 경우에는 내 프로젝트(Irrigation 3021)의 Android 버전을 확인하기 위해 scrcpy를 사용했습니다. https://github.com/Genymobile/scrcpy
소스 코드 업데이트됨
BTReadThread.cpp 파일에서 다음과 같이 변경되었습니다.
.................................
else if(cmd==2) { dataFromArduino=Socket->ReceiveData();
if(dataFromArduino.Length>0)
{
StrReceived = TEncoding::ASCII->GetString(dataFromArduino);
/*************************************/
AllReceivedData+=StrReceived;
msg=AllReceivedData;
Synchronize(TabbedForm->WriteMemo);
if(AllReceivedData.Length()>12)
{
sensors=AllReceivedData;
Synchronize(TabbedForm->UpdateValueSensors);
AllReceivedData="";
Sleep(100);
}
#ifndef __ANDROID__
else
AllReceivedData="";
#endif
/*****************************************/
/*msg=StrReceived;
Synchronize(TabbedForm->WriteMemo);
if(msg.Length()>3)
{
sensors=StrReceived;
Synchronize(TabbedForm->UpdateValueSensors);
} */
}
Sleep(100);
}
.................................