Uživatelské nástroje

Nástroje pro tento web


arduino-lcdxpl

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
arduino-lcdxpl [2016/03/06 14:34] – [Zapojení LCD] djbuldogarduino-lcdxpl [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 21: Řádek 21:
   * rozdíl mezi 4 bit (D4-D7) a 8 bit (D0-D7) režimem by měl být v rychlosti   * rozdíl mezi 4 bit (D4-D7) a 8 bit (D0-D7) režimem by měl být v rychlosti
   * pokud se ale předávají celé znaky (ne custom symboly), tak je to [[http://forum.arduino.cc/index.php?topic=125347.msg942556#msg942556|prý]] zanedbatelné   * pokud se ale předávají celé znaky (ne custom symboly), tak je to [[http://forum.arduino.cc/index.php?topic=125347.msg942556#msg942556|prý]] zanedbatelné
-  * prováděné instrukce (kurzívou jsou kroky navíc v 4 bit režimu)+  * prováděné instrukce (kurzívou jsou označeny instrukce navíc v 4 bit režimu):
     * put the data in a register     * put the data in a register
     * //output the upper four bits of datadata//     * //output the upper four bits of datadata//
Řádek 55: Řádek 55:
 </code> </code>
  
 +==== problémy ====
 +  * občas se mi stává, že z LCD zmizí všechny znaky
 +  * udělá to při překreslení obrazovky (po stisku tlačítka nebo otočení enkodéru)
 +  * většinou tomu předchází delší neaktivita
 +  * nepřišel jsem na příčinu, ale opravuji to pomocí zavolání ''lcd.begin(20,4)'' (po stisku dvou tlačítek současně)
 ===== Sériová linka ===== ===== Sériová linka =====
  
Řádek 84: Řádek 89:
   * pro zápis existuje i funkce ''print'' nebo ''println''. Podporuje více datových typů než obyčejný ''write''.   * pro zápis existuje i funkce ''print'' nebo ''println''. Podporuje více datových typů než obyčejný ''write''.
  
 +==== problémy ====
 +
 +  * pokud se k arduinu připojím přes sériovou linku a zase odpojím, tak se něco změní
 +  * zápis na linku přes arduino začne blokovat další kód (čekat)
 +  * zjistil jsem, že wirte buffer sériové linky je 64 znaků
 +  * jakmile jej vyčerpám, zápis čeká na nějaký timeout
 +  * situaci lze detekovat pomocí ''!Serial.availableForWrite())''
  
 ===== Rotační enkodéry ===== ===== Rotační enkodéry =====
Řádek 105: Řádek 117:
  
  
 +===== Více tlačítek =====
  
 +  * připojit na analog (ADC)
 +    * na analog pin lze připojit reálně až 20 tlačítek
 +    * stačí každé připojit přes jiný odpor (na zem) - stisk generuje jiné napětí
 +    * nelze detekovat stisk více tlačítek - detekuje se to s nejnižším odporem
 +    * je třeba počítat s tím, že napětí kolísá - například podle množství odebíraného proudu, takže se musí stanovit určitý rozsah napětí
 +    * průběh stisku nebývá dokonalý (odpor při nedomáčknutí), nejvhodnější jsou tlačítka s mikrospínačem
 +    * zdroje
 +      * http://www.instructables.com/id/How-to-access-5-buttons-through-1-Arduino-input/
 +      * http://electronics.stackexchange.com/questions/101409/how-to-debouce-six-buttons-on-one-analog-pin-with-arduino
 +      * http://tronixstuff.com/2011/01/11/tutorial-using-analog-input-for-multiple-buttons/
 +      * http://forum.arduino.cc/index.php?topic=8558.0
 +      * https://blog.adafruit.com/2009/10/20/example-code-for-multi-button-checker-with-debouncing/
arduino-lcdxpl.1457271286.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki