Bieži vien ir nepieciešamība izmērīt temperatūru un spiedienu vienlaikus, tāpēc šoreiz autors ir izveidojis vienkāršu elektrisko principiālo shēmu, ar kuras palīdzību, izmantojot temperatūras un spiediena sensorus kopā ar mikrokontrolleri (ATmega328P), ir iespējams izmērīt šos parametrus.
1.1.att. Elektriskā principiālā shēma temperatūras un spiediena mērīšanai
Shēmas darbības princips ir balstīts uz mikrokontrollera, kurš veic sensoru datu nolasīšanu, izmantojot ACP (analogo-ciparu pārveidotāju), kur tālāk programmas kodā notiek to apstrāde, lai noteiktu temperatūras un spiediena vērtības.
Apstrādātie dati tiek attēloti, izmantojot 16x2 LCD, kurš darbojas 4 bitu režīmā (tiek izmantoti tikai vecākie biti (D4, D5, D6 un D7)).
Spiediena mērīšanai tiek izmantots MPXA6115A sērijas spiediena sensors, kurš spēj noteikt spiedienu robežās no 15 līdz 115 kPa.
Temperatūras mērīšanai tiek izmantots LM35 sērijas termosensors, kurš spēj noteikt temperatūru robežās no −55 līdz 150 °C.
int main(){
DDRD=0xFF; // LCD
DDRB=0x0F; // Takts avots un citām vajadzībām
DDRC=0x00; // Sensori
_delay_ms(50); // Inicializācijas daļa
InitLCD(0);
_delay_ms(50);
Init_ADC();
float temperature=0, pressure=0;
char spiediens[6], temperatura[6];
while(1){ // Cikls, kurā tiek nolasīti un apstrādāti sensoru dati
// Temperatūras un spiediena aprēķināšana, pārveidošana
temperature = Read_ADC(0)/2.05;
pressure = (((Read_ADC(1)*5.0/1024.0)-0.475)/0.045)+21.1;
float_to_string(pressure,spiediens,2);
float_to_string(temperature,temperatura,2);
_delay_ms(500); // Datu attēlošana uz LCD
LCDClear();
LCDWriteStringXY(3,0,temperatura);
LCDWriteStringXY(10,0," oC");
LCDWriteStringXY(3,1,spiediens);
LCDWriteStringXY(10,1," kPa");
}
return 0;
};