Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:arduino:sensorss:project3 [2016/12/27 10:12] kaupo.raidet: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 5 Graafiline LCD ekraan (näidet) ====== 
 +\\ 
 +===== Näide #5.1 Teksti kuvamine ekraanil =====
  
  
 <code c> <code c>
  
-/* +//Lisame vajalikud teegid 
-Nimetus: Näide #4.1 Temperatuuri andur koos matemaatika teegiga+#include "U8glib.h"
  
 +//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 (LCD plaadist sõltuv
-          temperatuur kelvinites = 1 / {A + B[ln(R)] + C[ln(R)]^3} +  u8g.setRot180();// pööra ekraani 180 kraadi (LCD plaadist sõltuv) 
-          kus A = 0.001129148, B = 0.000234125 ja C = 8.76741E-08 +  u8g.setFont(u8g_font_gdr14); //sea teksti font 
-Autor: Milan Malesevic and Zoran Stupic  +}
-Modifikatsioon: Raivo Sell +
-Kuupäev: 15.01.2013/4.06.2014 +
-Versioon: 1.+
-*/+
  
-// Kaasame vajalikud teegid +void loop(void) {
-#include <math.h> +
-#include <LiquidCrystal.h>+
  
-// Initsialiseerime LCD koos vastavate viikude ühendamisega +  u8g.firstPage(); //Clear screen and start from zero point 
-LiquidCrystal lcd(8, 94, 5, 6, 7); +  while ( u8g.nextPage() == 1 )u8g.drawStr( 8, 35"Hello World"); 
-int andur = A1; // määrame temperatuurianduri (termistori) sisendviigu+}
  
-void setup() { + 
-  lcd.begin(16, 2); //Määrame LCD read ja veerud + 
-  lcd.print("Temperatuur"); // Trükime tervitusteksti +</code> 
-  delay (1000);+ 
 +===== Näide #5.2 Logo kuvamine ekraanil ===== 
 + 
 +{{:et:arduino:sensorss:logo_example.jpg?300|}} 
 + 
 +Näide demonstreerib logo kuvamist graafilisel ekraanil. Selleks on vaja kõigepealt tekitada //bitmap// massiiv, mis määrab ära millised pikslid kuvatakse ekraanil. 
 +[[http://en.radzio.dxp.pl/bitmap_converter/|Bitmap konverter]] 
 + 
 +<code c> 
 + 
 +//Lisame vajalikud teegid 
 +#include "U8glib.h" 
 + 
 +//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) { 
 +  u8g.setContrast(0); // seadsita ekraani kontrastsus (LCD plaadist sõltuv) 
 +  u8g.setRot180();// pööra ekraani 180 kraadi (LCD plaadist sõltuv) 
 +  u8g.setFont(u8g_font_gdr14); //sea teksti font
 } }
  
-void loop() { +void loop(void) { 
- Termistor(analogRead(andur)); // Käivitame funktsooni +  u8g.firstPage(); //puhasta ekraan 
- delay(1000); // Ootame sek. +  while ( u8g.nextPage() == ){ 
- lcd.clear(); // Puhastame ekraani vanadest andmetest+    u8g.drawBitmapP0, 0, 16, 64, logo); //joonista ekraanile pilt 
 +    //(x-koordinaat, y-koordinaat, horisontaalsete baitide arv, vertikaalsete ridade arv, joonistatava pildi massiiv) 
 +  }
 } }
-  
-void Termistor(int RawADC) { 
-   double Temp; 
-   long Takistus; 
-  // Valem: Takistus = (1024 * JaguriTakisti/ADC) - JaguriTakisti  
-  Takistus=((10240000/RawADC) - 10000);     
  
-  //Esimene rida +</code>
-  lcd.setCursor(0, 0); +
-  lcd.print("AD="); +
-  lcd.print(RawADC); //Trükime analoogsisendi väärtuse+
  
-  lcd.setCursor(8, 0); +===== Näide #5.3 Kujunduse tekitamine ja andurite kuvamine ekraanil =====
-  lcd.print("U="); +
-  lcd.print(((RawADC*5.0)/1024.0),3);  //Trükime pinge väärtuse+
  
 +{{:et:arduino:sensorss:menu_example2.jpg?400|}}
  
-  //Teine rida +<code c> 
-  lcd.setCursor(0, 1); + 
-  lcd.print("R="); +/* 
-  lcd.print(Takistus); //Trükime takistuse väärtuse+ # This sample codes is for testing the LCD12864 shield. 
 + # Editor : Mickey 
 + # Date   : 2013.11.27 
 + # Ver    : 0.1 
 + # Product: LCD12864 shield 
 + # SKU    : DFR0287 
 +*/ 
 + 
 + 
 +#include "U8glib.h" 
 + 
 +// 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/p/u8glib/wiki/device 
 + 
 +U8GLIB_NHD_C12864 u8g(1311, 10, 9, 8);  // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 
 + 
 +#define KEY_NONE 0 
 +#define KEY_PREV 1 
 +#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 < 300return 1
 +    else  if (input < 500return 2; 
 +    else  if (input < 700) return 3; 
 +    else  if (input < 900) return 4;     
 +    else  return -1; 
 +}
  
-  Temp = log(((10240000/RawADC) - 10000)); +void uiStep(void{
-  Temp = 1/(0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp))* Temp)+
-  Temp = Temp - 273.15; // Konverteeri Kelvinid Celciustesse+
      
-  lcd.setCursor(8, 8); +  adc_key_in = analogRead(0);    // read the value from the sensor   
-  lcd.print("T="); +  key = get_key(adc_key_in);   // convert into key press   
-  lcd.print(Temp); //Trükime temperatuuri väärtuse+  if (key !oldkey)    // if keypress is detected 
 +   { 
 +    delay(50);    // wait for debounce time 
 +    adc_key_in = analogRead(0);    // read the value from the sensor   
 +    key = get_key(adc_key_in);     // convert into key press 
 +    if (key != oldkey)         
 +    {      
 +      oldkey = key; 
 +      if (key >=0){ 
 +             //Serial.println(key); 
 +             if ( key == 0 ) 
 +               uiKeyCodeFirst = KEY_BACK; 
 +             else if ( key == 1 ) 
 +               uiKeyCodeFirst = KEY_SELECT; 
 +             else if ( key == 2 ) 
 +               uiKeyCodeFirst = KEY_NEXT; 
 +             else if ( key == 4 ) 
 +               uiKeyCodeFirst = KEY_PREV; 
 +             else  
 +               uiKeyCodeFirst = KEY_NONE;
      
 +             uiKeyCode = uiKeyCodeFirst;           
 +      }
 +    }
 +  }
 + delay(100);
 } }
-</code> 
  
  
-===== Näide #4.2 Kaugusandurid =====+#define MENU_ITEMS 6 
 +char *menu_strings[MENU_ITEMS] { "ITT Group OU", "www.ittgroup.ee", "Akadeemia tee 21", "B-127" ,"Tallinn 12618","Tel. 6566614"};
  
-<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; 
-{  + 
-  // For visualization we can use serial monitor + 
-  Serial.begin(9600)+void drawMenu(void) { 
- +  uint8_t i, h; 
-  +  u8g_uint_t w, d
-void loop()  + 
-{  +  u8g.setFont(u8g_font_6x12);//4x6 5x7 5x8 6x10 6x12 6x13 
-  // Read the input on analog pin 2 and 3: +  u8g.setFontRefHeightText(); 
-  int AnalogSensorValue = analogRead(A2); //Sharp analoog kaugusandur +  u8g.setFontPosTop();
-  int DigitalSensorValue = digitalRead(A3); //Digtaalne lähedusandur+
      
-  Serial.println(AnalogSensorValue); // Print out the analog value +  h = u8g.getFontAscent()-u8g.getFontDescent(); 
-  Serial.println(DigitalSensorValue); // Print out the digital value+  w = u8g.getWidth(); 
 +  for( i = 0; i < MENU_ITEMS; i++ ) { 
 +    d = (w-u8g.getStrWidth(menu_strings[i]))/2; 
 +    u8g.setDefaultForegroundColor(); 
 +    if ( i == menu_current ) {   
 +      u8g.drawBox(0, i*h+1, w, h); 
 +      u8g.setDefaultBackgroundColor(); 
 +    } 
 +    u8g.drawStr(d, i*h+1, menu_strings[i]); 
 +  } 
 +
 + 
 +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() {
      
-  delay(500); // Delay in between readings for readability +  u8g.setRot180();// rotate screen, if required 
-+  u8g.setContrast(0); // seadsita ekraani kontrastsus (LCD plaadist sõltuv) 
 +  menu_redraw_required = 1;     // force initial redraw 
 +  //Serial.begin(9600); 
 +
 + 
 +void loop() {   
 + 
 +  uiStep();                                // check for key press 
 +  updateMenu();                            // update menu bar     
 +   
 +  if (  menu_redraw_required != 0 ) { 
 +    u8g.firstPage(); 
 +    do  { 
 +      drawMenu(); 
 +    } while( u8g.nextPage() ); 
 +    menu_redraw_required = 0; 
 +  } 
 +   
 +}
  
 </code> </code>
 +\\
 +
 +=== 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: [[http://en.radzio.dxp.pl/bitmap_converter/|Bitmap konverter]]
  
-===== Harjutus #4.1 ===== +=== Harjutus #5.1 === 
-Modifitseerida programmi nii, et potentsiomeetriga määratakse temperatuuri nivoo, mis salvestatakse nupuga programmi mällu ja selle nivoo ületamisel käivitatakse täiturmehhanism (milleks on LED).\\ +Muuta näiteprogrammi nii, et nupu vajutamisel muutub aktiivse menüüelemendi kuvamise viis.
-**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. 
et/arduino/sensorss/project3.1482833537.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0