Känna av temperaturen i rummet och visas i LCD med hjälp av Simulink och Arduino UNO (4 / 4 steg)
Steg 4: Skapa simulink modell
Figur 8 visar komplett Simulink modellen för projektet. Det är med 3 delar
- Hårdvara input - där data från sensorer kommer att läsas
- Databehandling - det är ett glidande medelvärde filter.
- Hårdvara-utgång - bearbetade data skrivs till displayen använder detta block.
Andra viktiga komponenter i modellen är
- Takt övergången block (ges av RT) - används de som det finns signaler av olika priser.
- Funktionen samtal generator block (ges av f()) - det används för att skriva i LCD endast efter en angiven tidsperiod. Denna gång bör vara ett heltal multipel av loop programtid.
Nu ska hårdvara Input blocket vi läser den temperatur sensor ingångsstift (det är den analoga stift var temperaturgivaren är ansluten) och LDR pin data. Vi måste också konvertera temperaturdata till grader Celsius. Jag använder LM 35 temperaturgivare och dess kalibrering diagrammet är lätt tillgängliga på internet (bara google det). Vi måste använda följande formel för att konvertera,
Temp_DegC = SensorReading/((SensorIPVoltage_mV/ADCResolution)/SensorSlope)
SensorReading = detta värde kommer att erhållas från sensorn
SensorIPVoltage = 5000
ADCResolution = 1023
SensorSlope = 10
(Se fig 9)
Nästa är filtret. Här har jag använt en 10 punkt flytta genomsnittliga filter. Du kan använda alla andra filter också. (Se fig 10)
Slutligen måste vi göra en del arbete för att skicka data till LCD. Som Simulink inte kan skicka sträng och röding typ data måste vi använda några alternativ metod. Jag skickar här ASCII-värdet av vad som ska skrivas ut i LCD. För detta behöver vi skapa en lista variabler består av möjligt tecken som ska skrivas ut med deras ASCII-värden. (Gillar A, a, B, b,..., Z, z, 0,1, 2..., 9 och naturligtvis det decimala tecknet (.) och blanksteg ()).
Temperaturdata är i dubbel typ data och vi har att konvertera den till en sträng. Om du se figur 11 kommer att förfarandet vara klart.
Buss används för att konvertera 1 * 1 data till en matris.
Slutligen ansluter vi bussen till S-funktionen skapade i föregående steg. (Se figur 12).
Nu kan vi köra modell för att se utdata i LCD.