Digitálna komunikácia – experimenty

7-segmentový displej

Cieľom je zistiť, aký typ displeja máte a rozsvietiť jednotlivé segmenty.

  1. KROK: Vyskúšajte nasledovné zapojenie:
  • pripojte pin 3 (alebo 8) na 7-segmentovom displeji na GND Arduina.
  • pripojte niektorý z ostatných pinov na 7-segmentovom displeji (napr. pin 1) na rezistor (niektorú z menšich hodnôt napr. medzi 100Ω a 470Ω)
  • rezistor pripojte následne na 5V na Arduine

Ak svieti, máte 7-segmentový displej so spoločnou katódou.

Ak nesvieti, je potrebné zameniť 5V a GND (zapojíme Arduino 5V na displej pin 3,  pin 1 na displeji s rezistorom a rezistor prepojíme s GND na Arduine).

Ak nesvieti ani v jednom prípade, buď to je zlé zapojené alebo máte nefungujúci displej.

2. KROK: Prepojte kábel, ktorý je zapojený na pin 1 na displeji na ostatné piny. (UPOZORNENIE: nezapájajte ho na piny 3 a 8). Zapíšte si, ktorému pinu prislúcha ktorý segment displeja.


I2C expander

Cieľom je napojiť expander a nastaviť adresu. K dispozícii máte buď jednoduchšiu čiernu verziu (PCF8574P alebo PCF8574AP) alebo červenú verziu, ktorá obsahuje expander (PCF8574T). V čiernej verzii si identifikujte hornú stranu (na obrázku aj na samotnej súčiastke je taký výrez). Môžete si prelistovať dokumentáciu.

KROK 1:

Podľa schémy alebo nasledovných krokov zapojte:

  • VDD (na súčiastke) <–> 5V (na Arduine)
  • VSS <–> GND
  • SDA <–> A4 pin
  • SCL <–> A5 pin
  • Adresný pin A0 <–> 5V alebo GND (podľa toho, či ho chcete zapnúť alebo vypnúť)
  • Adresný pin A1 <–> 5V alebo GND (podľa toho, či ho chcete zapnúť alebo vypnúť)
  • Adresný pin A2 <–> 5V alebo GND (podľa toho, či ho chcete zapnúť alebo vypnúť)
https://i.pinimg.com/originals/53/fa/a1/53faa1f2e38b668b65fa50911512f264.jpg

V prípade červenej súčiastky zapájate VCC na 5V, GND na GND, SDA na A4, SCL na A5 a tri adresné piny si nastavíte mechanicky na 0 alebo 1.

KROK 2:

Stiahnite si ARDUINO kód na skenovanie pripojených zariadení. Spustite na svojom Arduine a s pomocou Serial Monitor sledujte na akej adrese sa nájde vaše zariadenie. V prípade čiernej súčiastky je to adresa 0-1-0-0-A3-A2-A1. Teda v prípade, že všetky tri adresné bity sú nastavené na logickú 1, tak adresa je 0b0100111 alebo v hexadecimálnom zápise 0x27. Adresu si zapíšte.

KROK 3:

Pripojte k I2C expanderu 7-segmentový displej. Môžete napojiť všetky piny naraz alebo to vyskúšať osobitne po jednom pine. Zapája sa príslušný pin na expanderi (P0-P7), ktorý pripojíme cez rezistor na 7-segmentový displej. Spolu urobíme 8 prepojení. Pre úsporu káblov porozmýšľajte ako to elegantne zapojiť – napr. priamo napojte rezistor na displej bez použitia káblu medzi nimi a pod.

KROK 4:

Stiahnite si ARDUINO kód na ovládanie displeja. V kóde sa v cykle zobrazujú rôzne číslice na displeji. Skúste nastaviť správne binárne čísla, ktoré rozsvietia displej. Odporúčam začať s jedným číslom, nastavte príslušné segmenty – pravdepodobne využijete pero a papier (prípadne nejakú excel tabuľku) na prepočty. Samozrejme nezabudnite si v kóde nastaviť správnu adresu I2C expandera. Na Wikipedii si viete pozrieť, ktoré písmená a číslice sa dajú na takomto displeji zobraziť.


Buzzer

Cieľom je prehrať nejakú melódiu.

  1. Zapojte si buzzer – kladný pól na niektorý z PWM pinov (napr. D8). Záporný pól prepojte s GND na Arduine. Odporúčam zapojiť aj nejaký rezistor medzi buzzer a GND (rezistory s menšou hodnotou medzi 100Ω a 470Ω zaručia príjemnejšiu hlasitosť). Ak chcete, môžete vyskúšať ovládanie hlasitosti s použitím potenciometra.
  2. Stiahnite si kód s pripravenou melódiou. K dispozícii máte aj zoznam tónov s ich frekvenciami (pitches.h). Melódia sa zahrá iba jedenkrát. Pre opakovanie presuňte časť kódu do loop alebo stlačte RESET button na Arduine. Súbor s tónmi a ich frekvenciami si môžete pridať napríklad tak, že pod ikonou serial monitor vpravo si vyberiete New Tab a vložíte to tam. Prípadne si jednotlivé tóny môžete vložiť priamo do samotného kódu.
  3. Voliteľne si môžete upraviť kód a vyskúšať inú melódiu. Budúci týždeň si môžete melódiu generovať na základe dát z nejakého senzora.