Functie na opstelling
In deze les gaan we met een thermistor werken en een LCD schermpje. Een thermistor is een temperatuur gevoelige weerstand, we sluiten deze als spanningsdeler op.
Voor LCD display moet je, net als bij de servo, een bibliotheek gebruiken. Deze zit standaard in de software opgenomen. Je roept hem op door te klikken op Sketch → Blibliotheek, Importeren → LiquidCrystal. Verder is in deze sketch gebruik gemaakt van een zelfgemaakt teken (CustomCharacter). Wil je meer weten over LCD display’s kijk dan in de voorbeelden.
Opstelling
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
/* Autheur: Fun met Electronica Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-13-temperature-lcd/ Beschrijving: De temperatuur meten met een LCD scherm */ #include <LiquidCrystal.h> //bibliotheek van LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //hier is de LCD aangesloten /* functie voor het berekenen van de temperatuur. De waarde die we krijgen van de A0 pin zetten we om naar een temperatuur. Deze functies kunnen vaak terug gevonden worden op een datasheet. */ double Thermister(int RawADC) { double Temp; Temp = log(((10240000 / RawADC) - 10000)); Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); Temp = Temp - 273.15; // Omrekenen Kelvin naar Celcius return Temp; } /* Variabelen voor een zelfgemaakte teken. Het teken is een graden teken */ byte graden[8] = { 0b00111, 0b00101, 0b00111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; /* Het programmablok void setup wordt eenmaal beschreven */ void setup() { lcd.createChar(1, graden); // maak het nieuwe character aan lcd.begin(16, 2); // zet het LCD scherm aan lcd.clear(); // maak het LCD scherm leeg Serial.begin(115200); // begin de seriele poort } /* Het programmablok void loop herhaalt zich keer op keer */ void loop() { Serial.println(int(Thermister(analogRead(0)))); // lees en print thermometer op seriele monitor lcd.print(int(Thermister(analogRead(0)))); // lees en print thermometer op LCD scherm lcd.setCursor(4, 0); // verander de positie waar geprint wordt op de LCD lcd.write(1); // print een waarde op LCD scherm lcd.print("C"); // print C op het LCD scherm delay(100); // wacht 100 miliseconden lcd.clear(); // leeg het LCD scherm } /* Opdracht 1: Zoek op het internet wat LiquidCrystal precies is. Zijn er nog meer functies die je kan gebruiken? Kan je een tekst van links naar rechts laten zweven? */ |
Opdrachten
Opdracht 13.1:
Zoek op het internet wat LiquidCrystal precies is. Zijn er nog meer functies die je kan gebruiken? Kan je een tekst van links naar rechts laten zweven?