This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:arduino:sensorss:project3 [2016/12/27 10:12] – kaupo.raid | et:arduino:sensorss:project3 [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Projekt 3 Näited 4 ====== | + | ====== Projekt |
| + | \\ | ||
| + | ===== Näide #5.1 Teksti kuvamine ekraanil | ||
| <code c> | <code c> | ||
| - | /* | + | //Lisame vajalikud teegid |
| - | Nimetus: Näide | + | #include " |
| + | //lcd objekti tekitamine | ||
| + | U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 | ||
| - | Kirjeldus: | + | void setup(void) |
| - | Kasutab Steinhart-Hart termistori valemit: | + | u8g.setContrast(0); // seadsita ekraani kontrastsus |
| - | temperatuur kelvinites = 1 / {A + B[ln(R)] + C[ln(R)]^3} | + | u8g.setRot180(); |
| - | kus A = 0.001129148, B = 0.000234125 ja C = 8.76741E-08 | + | u8g.setFont(u8g_font_gdr14); |
| - | Autor: Milan Malesevic and Zoran Stupic | + | } |
| - | Modifikatsioon: | + | |
| - | Kuupäev: 15.01.2013/4.06.2014 | + | |
| - | Versioon: 1.1 | + | |
| - | */ | + | |
| - | // Kaasame vajalikud teegid | + | void loop(void) { |
| - | #include < | + | |
| - | #include < | + | |
| - | // Initsialiseerime LCD koos vastavate viikude ühendamisega | + | u8g.firstPage(); |
| - | LiquidCrystal lcd(8, 9, 4, 5, 6, 7); | + | while ( u8g.nextPage() == 1 )u8g.drawStr( 8, 35, "Hello World"); |
| - | int andur = A1; // määrame temperatuurianduri (termistori) sisendviigu | + | } |
| - | void setup() { | + | |
| - | | + | |
| - | | + | </ |
| - | | + | |
| + | ===== Näide #5.2 Logo kuvamine ekraanil ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Näide demonstreerib logo kuvamist graafilisel ekraanil. Selleks on vaja kõigepealt tekitada //bitmap// massiiv, mis määrab ära millised pikslid kuvatakse ekraanil. | ||
| + | [[http:// | ||
| + | |||
| + | <code c> | ||
| + | |||
| + | //Lisame vajalikud teegid | ||
| + | #include " | ||
| + | |||
| + | //lcd objekti tekitamine | ||
| + | U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 | ||
| + | |||
| + | const uint8_t logo [] PROGMEM = { | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x63, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x63, 0xFC, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x63, 0xFC, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x63, 0xFC, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x5F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x7F, 0x8F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x7F, 0x8F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x7B, 0xFF, 0xFF, 0xE0, 0x0F, 0xE3, 0xFC, 0x07, 0xE0, 0xF1, 0xE7, 0xF8, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x7B, 0xFF, 0xFF, 0xE0, 0x3F, 0xF3, 0xFE, 0x1F, 0xF8, 0xF1, 0xE7, 0xFC, | ||
| + | 0x62, 0x0C, 0x43, 0x88, 0x7B, 0xFF, 0xFF, 0xE0, 0x3F, 0xE3, 0xFF, 0x3F, 0xF8, 0xF1, 0xE7, 0xFE, | ||
| + | 0x7E, 0x0C, 0x43, 0x88, 0x7D, 0xFF, 0xFF, 0xE0, 0x7E, 0x63, 0xDF, 0x3E, 0x7C, 0xF1, 0xE7, 0xFE, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x78, 0x03, 0xCF, 0x3C, 0x3C, 0xF1, 0xE7, 0x9E, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0xFB, 0xF3, 0xFF, 0x7C, 0x3C, 0xF1, 0xE7, 0xBE, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0xFB, 0xF3, 0xFE, 0x7C, 0x3C, 0xF1, 0xE7, 0xFE, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0xFB, 0xF3, 0xFC, 0x7C, 0x3C, 0xF1, 0xE7, 0xFC, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x7B, 0xF3, 0xFE, 0x3C, 0x3C, 0xF1, 0xE7, 0xF8, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x7C, 0xF3, 0xDE, 0x3E, 0x7C, 0xF9, 0xE7, 0x80, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x7F, 0xF3, 0xDF, 0x3F, 0xFC, 0xFF, 0xE7, 0x80, | ||
| + | 0x00, 0x0C, 0x43, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x3F, 0xF3, 0xCF, 0x9F, 0xF8, 0x7F, 0xC7, 0x80, | ||
| + | 0x00, 0x0F, 0xC3, 0x88, 0x7C, 0x3C, 0x0F, 0x00, 0x1F, 0xF3, 0xC7, 0x8F, 0xF0, 0x3F, 0x87, 0x80, | ||
| + | 0x00, 0x03, 0xC3, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x7B, 0xAF, 0x3F, 0xFB, 0xBA, 0xC3, 0xFA, 0xEA, 0xE1, 0xFE, 0xAE, 0xA8, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x7B, 0xAB, 0xFB, 0xCE, 0xAB, 0xC0, 0xA6, 0xAB, 0x80, 0xD2, 0xBE, 0xD8, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x7B, 0xFB, 0xFB, 0x4E, 0xEF, 0xC1, 0xB6, 0xBA, 0x80, 0xDB, 0xBE, 0xD8, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x7F, 0xFA, 0xDF, 0x6E, 0xEF, 0xDD, 0xB7, 0xBB, 0x6C, 0xDB, 0xBE, 0xDC, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x77, 0xFA, 0xF7, 0x3E, 0xAA, 0xD9, 0xA5, 0xBB, 0x2C, 0xD2, 0xAE, 0xD4, | ||
| + | 0x00, 0x00, 0x03, 0x88, 0x77, 0xAE, 0xF7, 0xFB, 0xBA, 0xC1, 0xBD, 0xEE, 0xE0, 0xDE, 0xAE, 0xB4, | ||
| + | 0x00, 0x00, 0x03, 0xF8, 0x00, 0x04, 0x00, 0x41, 0x10, 0x00, 0x18, 0x44, 0xC0, 0x18, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
| + | }; | ||
| + | |||
| + | void setup(void) { | ||
| + | | ||
| + | | ||
| + | | ||
| } | } | ||
| - | void loop() { | + | void loop(void) { |
| - | Termistor(analogRead(andur)); // Käivitame funktsooni | + | |
| - | delay(1000); // Ootame | + | while ( u8g.nextPage() == 1 ){ |
| - | lcd.clear(); // Puhastame ekraani vanadest andmetest | + | u8g.drawBitmapP( 0, 0, 16, 64, logo); //joonista ekraanile pilt |
| + | // | ||
| + | } | ||
| } | } | ||
| - | |||
| - | void Termistor(int RawADC) { | ||
| - | | ||
| - | long Takistus; | ||
| - | // Valem: Takistus = (1024 * JaguriTakisti/ | ||
| - | Takistus=((10240000/ | ||
| - | | + | </code> |
| - | lcd.setCursor(0, | + | |
| - | lcd.print(" | + | |
| - | lcd.print(RawADC); | + | |
| - | lcd.setCursor(8, | + | ===== Näide #5.3 Kujunduse tekitamine ja andurite kuvamine ekraanil ===== |
| - | lcd.print(" | + | |
| - | lcd.print(((RawADC*5.0)/1024.0),3); //Trükime pinge väärtuse | + | |
| + | {{: | ||
| - | //Teine rida | + | <code c> |
| - | lcd.setCursor(0, 1); | + | |
| - | | + | /* |
| - | | + | # This sample codes is for testing the LCD12864 shield. |
| + | # Editor : Mickey | ||
| + | # Date | ||
| + | # Ver : 0.1 | ||
| + | # Product: LCD12864 shield | ||
| + | # SKU : DFR0287 | ||
| + | */ | ||
| + | |||
| + | |||
| + | #include " | ||
| + | |||
| + | // setup u8g object, please remove comment from one of the following constructor calls | ||
| + | // IMPORTANT NOTE: The complete list of supported devices is here: http://code.google.com/ | ||
| + | |||
| + | U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 | ||
| + | |||
| + | #define KEY_NONE 0 | ||
| + | #define KEY_PREV | ||
| + | #define KEY_NEXT 2 | ||
| + | #define KEY_SELECT 3 | ||
| + | #define KEY_BACK 4 | ||
| + | |||
| + | |||
| + | uint8_t uiKeyCodeFirst = KEY_NONE; | ||
| + | uint8_t uiKeyCodeSecond = KEY_NONE; | ||
| + | uint8_t uiKeyCode = KEY_NONE; | ||
| + | |||
| + | int adc_key_in; | ||
| + | int key=-1; | ||
| + | int oldkey=-1; | ||
| + | |||
| + | |||
| + | // Convert ADC value to key number | ||
| + | // 4 | ||
| + | // | | ||
| + | // 0 -- 1 -- 3 | ||
| + | // | | ||
| + | // 2 | ||
| + | int get_key(unsigned int input) | ||
| + | { | ||
| + | if (input < 100) return 0; | ||
| + | | ||
| + | | ||
| + | else if (input < 700) return 3; | ||
| + | else if (input < 900) return 4; | ||
| + | else return -1; | ||
| + | } | ||
| - | Temp = log(((10240000/ | + | void uiStep(void) { |
| - | Temp = 1/ | + | |
| - | Temp = Temp - 273.15; // Konverteeri Kelvinid Celciustesse | + | |
| | | ||
| - | | + | |
| - | | + | |
| - | | + | if (key != oldkey) |
| + | { | ||
| + | delay(50); // wait for debounce time | ||
| + | | ||
| + | key = get_key(adc_key_in); | ||
| + | if (key != oldkey) | ||
| + | { | ||
| + | oldkey = key; | ||
| + | if (key >=0){ | ||
| + | // | ||
| + | if ( key == 0 ) | ||
| + | | ||
| + | else if ( key == 1 ) | ||
| + | | ||
| + | else if ( key == 2 ) | ||
| + | | ||
| + | else if ( key == 4 ) | ||
| + | | ||
| + | else | ||
| + | | ||
| | | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | | ||
| } | } | ||
| - | </ | ||
| - | ===== Näide #4.2 Kaugusandurid ===== | + | #define MENU_ITEMS 6 |
| + | char *menu_strings[MENU_ITEMS] | ||
| - | <code c> | + | uint8_t menu_current = 0; |
| - | // Reading analog and digital sensors | + | uint8_t menu_redraw_required = 0; |
| - | void setup() | + | uint8_t last_key_code = KEY_NONE; |
| - | { | + | |
| - | | + | |
| - | | + | void drawMenu(void) { |
| - | } | + | |
| - | + | | |
| - | void loop() | + | |
| - | { | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| | | ||
| - | | + | |
| - | | + | |
| + | for( i = 0; i < MENU_ITEMS; i++ ) { | ||
| + | d = (w-u8g.getStrWidth(menu_strings[i]))/2; | ||
| + | u8g.setDefaultForegroundColor(); | ||
| + | if ( i == menu_current ) { | ||
| + | u8g.drawBox(0, | ||
| + | u8g.setDefaultBackgroundColor(); | ||
| + | } | ||
| + | u8g.drawStr(d, | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void updateMenu(void) | ||
| + | { | ||
| + | switch ( uiKeyCode ) { | ||
| + | case KEY_NEXT: | ||
| + | menu_current++; | ||
| + | if ( menu_current >= MENU_ITEMS )menu_current = 0; | ||
| + | menu_redraw_required = 1; | ||
| + | break; | ||
| + | case KEY_PREV: | ||
| + | if ( menu_current == 0 )menu_current = MENU_ITEMS; | ||
| + | menu_current--; | ||
| + | menu_redraw_required = 1; | ||
| + | break; | ||
| + | } | ||
| + | uiKeyCode = KEY_NONE; | ||
| + | } | ||
| + | |||
| + | |||
| + | void setup() { | ||
| | | ||
| - | | + | |
| - | } | + | u8g.setContrast(0); |
| + | menu_redraw_required = 1; // force initial redraw | ||
| + | // | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | |||
| + | uiStep(); | ||
| + | updateMenu(); | ||
| + | |||
| + | if ( menu_redraw_required != 0 ) { | ||
| + | u8g.firstPage(); | ||
| + | do { | ||
| + | drawMenu(); | ||
| + | } while( u8g.nextPage() ); | ||
| + | menu_redraw_required = 0; | ||
| + | } | ||
| + | | ||
| + | } | ||
| </ | </ | ||
| + | \\ | ||
| + | |||
| + | === Harjutus #5.1 === | ||
| + | Muuta näiteprogrammi nii, et ekraanil kuvatakse kolmes erinevas stiilis (font) ühte teksti. | ||
| + | |||
| + | === Harjutus #5.1 === | ||
| + | Konverteerida vabal valitud pilt ekraanile sobilikuks massiiviks ja kuvada see ekraanile. Kasutada konverterit: | ||
| - | ===== Harjutus #4.1 ===== | + | === Harjutus #5.1 === |
| - | Modifitseerida programmi | + | Muuta näiteprogrammi |
| - | **Lisaülesanne: | + | |
| - | Kombineerida LED-i heleduse programm ja eelnev temperatuuri juhtimise programm, kus LED-i heledus sõltub sellest, kui palju nivootemperatuuri ületati (1 kraad: heledus 25 %, 2 kraadi: heledus 50 %, 3 kraadi: heledus 75 % ja 5 kraadi: heledus 10 | + | |
| - | ===== Harjutus #4.2 ===== | ||
| - | Modifitseerida kaugusandurite lugemise programmi nii, et andurite info kuvatakse LCD ekraanile ja ühikuteks on sentimeetrid (+-5cm täpsus). Kui pole võimalust mõõtevahendit kasutada, siis kasutada anduri andmelehe graafikut. | ||