Operácie

MEMS displej LED: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
 
(14 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
Sem pride navod ako rozchodit displej


== 7-segmentový displej s radičom TM1637 ==
== 7-segmentový displej s radičom TM1637 ==


Obvod TM1637 umožňuje pripojiť až 48 LED (napr. 6x 7-segmentový displej aj s desatinnou bodkou) a 4x4 tlačítkovú klávesnicu.


<center>
<center>
[[Súbor:displayTM1637.jpg]]<BR>
[[Súbor:displayTM1637.jpg]]<BR>
<I>Obrazok displeja s cislom a teplotou 28St.C.</I>
<I>Rozličné informácie zobrazené na displeji.</I>
</center>
 
 
<center>
[[Súbor:displayTM1637schematic.png|750px]]<BR>
<I>Pravdepodobná [http://senzor.robotika.sk/mips/TM1637schematic.pdf schéma zapojenia modulu].</I>
</center>
</center>




* [https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/digi_clock/TM1637.pdf Datasheet obvodu] ([http://senzor.robotika.sk/mips/TM1637.pdf local copy])
* [https://www.snapeda.com/parts/TM1637/Titan%20Micro%20Electronics/view-part/ CAD súbory na SnapEDA]
* Podobný projekt aj s tlačítkami https://www.pcbway.com/project/sponsor/TM1637_display_with_buttons_and_leds_for_Arduino.html (spraviť v SMD verzii pre Acrob dosku)
* Mbed projekt aj s tlačíťkami https://os.mbed.com/components/TM1637-LED-controller-48-LEDs-max-Keyboa/




== Zapojenie vývodov a pripojenie k mikroprocesoru ==
== Zapojenie vývodov a pripojenie k mikroprocesoru ==
Zem a napájanie pripojíme na rovnomenné piny na experimentálnej doske. Signály DIO a CLK môžeme pripojiť na ľubovoľné GPIO piny procesora, ale ak chcete aby fuhgoval vzorový program bezo zmeny, musíte pripojiť CLK na D4 a DIO na D5.




<center>
<center>
[[Súbor:displayTM1637pinout.png]]<BR>
{| class="wikitable"
<I>Obrazok pripojenia a oznacenia vyvodov.</I>
|- style="background-color:#ffffc7;"
! TM1637
! Názov
! Arduino pin
|-
| CLK
| Clock
| D4
|-
| DIO
| Data
| D5
|-
| VCC
| Napájanie
| +5V
|-
| GND
| Zem
| GND
|}
[[Súbor:displayTM1637pinout.png|500px]]<BR>
<I>Opis pripojenia a označenie vývodov.</I>
</center>
</center>


== Nainštalujeme knižnicu pre TM1637 ==


V prostredí Arduino zvolíme v menu položku Tools -> Library Manager  a keď sa otvorí nové okno so zoznamom použiteľných knižníc, odfiltrujeme všetky, ktoré neobsahujú text TM1637.


Z ponúkaných knižníc vyberieme SevenSegmentTM1637 library (pozri aj obr.). Ak už je nainštalovaná, netreba robiť nič. Ak nie je, tlačidlom INSTALL si ju nahráte.


== Nainštalujeme knižnicu pre TM1637 ==
Ak chcete preskúmať všetky možnosti tejto knižnice, skúste si spustiť príklady, ktoré nájdete v menu File -> Examples -> SevenSegmentTM1637 -> ...
 
V prostredí Arduino zvolíme v menu položku Tools -> Library Manager  a keď sa otvorí nové okno so zoznamom použiteľných knižníc, odfiltrujeme všetky, ktoré neobsahujú text TM1637. Z ponúkaných knižníc vyberieme SevenSegmentTM1637 library (pozri aj obr.). Ak chcete preskúmať všetky možnosti tejto knižnice, skúste si spustiť príklady, ktoré nájdete v menu File -> Examples -> SevenSegmentTM1637 ->  


Dokumentáciu a zdrojáky knižnice nájdete na GitHube [https://github.com/bremme/arduino-tm1637 SevenSegmentTM1637]
Dokumentáciu a zdrojáky knižnice nájdete na GitHube [https://github.com/bremme/arduino-tm1637 SevenSegmentTM1637]
Riadok 37: Riadok 72:
<I>Inštalácia knižnice pre displej v prostredí Arduino.</I>
<I>Inštalácia knižnice pre displej v prostredí Arduino.</I>
</center>
</center>
{{wbox | text =  V knižnici, ktorú inštaluje Arduino je chybička, ktorá sa v najnovšej verzii na GitHube nenachádza. Preto si zaktualizujte súbory odtiaľto: https://github.com/bremme/arduino-tm1637
Druhá možnosť je opraviť chybu ručne: knižnica sa nachádza <code>Moje dokumenty / Arduino / libraries / SevenSegmentTM1637</code>.
V nej opravíte nesprávny názov funkcie <code>bouncingBall</code>  v subore <code>SevenSegmentFun.cpp</code> na riadku '''187''' na názov <code>bouchingBall</code>
tak, aby to súhlasilo s názvom v hlavičkovom súbore. Prípadne stačí vymazať oba súbory <code>SevenSegmentFun.cpp</code> and <code>SevenSegmentFun.h</code> ak nebudete používať demonštračné príklady.
}}


== Ukážkový program ==
== Ukážkový program ==

Aktuálna revízia z 12:22, 23. február 2023

7-segmentový displej s radičom TM1637

Obvod TM1637 umožňuje pripojiť až 48 LED (napr. 6x 7-segmentový displej aj s desatinnou bodkou) a 4x4 tlačítkovú klávesnicu.


Rozličné informácie zobrazené na displeji.



Pravdepodobná schéma zapojenia modulu.



Zapojenie vývodov a pripojenie k mikroprocesoru

Zem a napájanie pripojíme na rovnomenné piny na experimentálnej doske. Signály DIO a CLK môžeme pripojiť na ľubovoľné GPIO piny procesora, ale ak chcete aby fuhgoval vzorový program bezo zmeny, musíte pripojiť CLK na D4 a DIO na D5.


TM1637 Názov Arduino pin
CLK Clock D4
DIO Data D5
VCC Napájanie +5V
GND Zem GND


Opis pripojenia a označenie vývodov.

Nainštalujeme knižnicu pre TM1637

V prostredí Arduino zvolíme v menu položku Tools -> Library Manager a keď sa otvorí nové okno so zoznamom použiteľných knižníc, odfiltrujeme všetky, ktoré neobsahujú text TM1637.

Z ponúkaných knižníc vyberieme SevenSegmentTM1637 library (pozri aj obr.). Ak už je nainštalovaná, netreba robiť nič. Ak nie je, tlačidlom INSTALL si ju nahráte.

Ak chcete preskúmať všetky možnosti tejto knižnice, skúste si spustiť príklady, ktoré nájdete v menu File -> Examples -> SevenSegmentTM1637 -> ...

Dokumentáciu a zdrojáky knižnice nájdete na GitHube SevenSegmentTM1637

Podobná knižnica pre kompilátor avr-gcc je tu: https://github.com/AlexAlexFr/TM1637-Driver



Inštalácia knižnice pre displej v prostredí Arduino.


Poznámka
V knižnici, ktorú inštaluje Arduino je chybička, ktorá sa v najnovšej verzii na GitHube nenachádza. Preto si zaktualizujte súbory odtiaľto: https://github.com/bremme/arduino-tm1637

Druhá možnosť je opraviť chybu ručne: knižnica sa nachádza Moje dokumenty / Arduino / libraries / SevenSegmentTM1637.

V nej opravíte nesprávny názov funkcie bouncingBall v subore SevenSegmentFun.cpp na riadku 187 na názov bouchingBall tak, aby to súhlasilo s názvom v hlavičkovom súbore. Prípadne stačí vymazať oba súbory SevenSegmentFun.cpp and SevenSegmentFun.h ak nebudete používať demonštračné príklady.

Ukážkový program

Nasledovný program zobrazí na displeji hodnotu zmeranú A/D prevodníkom.

/*
	Basic usage example
	The circuit:
  * connect TM1637 pin CLK to Arduino pin D4
  * connect TM1637 pin DIO to Arduino pin D5
  * connect TM1637 pin Vcc to Arduino pin 5V
  * connect TM1637 pin GND to Arduino pin GND

*/

#include "SevenSegmentTM1637.h"  // include the SevenSegmentTM1637 library

/* initialize global TM1637 Display object
*  The constructor takes two arguments, the number of the clock pin and the digital output pin:
*  SevenSegmentTM1637(byte pinCLK, byte pinDIO);
*/
const byte PIN_CLK = 4;   // define CLK pin (any digital pin)
const byte PIN_DIO = 5;   // define DIO pin (any digital pin)
SevenSegmentTM1637    display(PIN_CLK, PIN_DIO);

char buffer[5];
int adcVal;
  
// run setup code
void setup() {
  Serial.begin(9600);         // initializes the Serial connection @ 9600 baud
  display.begin();            // initializes the display
  display.setBacklight(50);  // set the brightness to 100 %
  display.print("INIT");      // display INIT on the display
  delay(1000);                // wait 1000 ms
}


void loop()
{
  
  display.clear();   
  adcVal = analogRead(4);
  sprintf(buffer, "%4d", adcVal);
  display.print(buffer);                   // display loop counter
  Serial.println(buffer);
  delay(250);                          // wait 1000 ms
}