Operácie

Zbernica i2c: PCF8574: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
dBez shrnutí editace
StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
 
(11 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
[https://techfun.sk/produkt/pcf8574-expander-i2c-zbernice/ PCF8574 expander I2C zbernice] - napíšte rutiny na zápis a prečítanie jednotlivých bitov obvodu. Predvedenie si vymyslite, napr. pripojte na výstupy 8 LED diód a vytvorte nejakú jednoduchú animáciu.
Záverečný projekt predmetu MIPS / LS2025 - '''Kamil Hanišák'''
 
 
Záverečný projekt predmetu MIPS / LS2025 - '''Meno Priezvisko'''




== Zadanie ==
== Zadanie ==


Sem príde text zadania, ak bolo len voľne formulované, rozpíšte ho podrobnejšie
Cieľom zadania bolo vytvoriť jednoduchý mikroprocesorový obvod, ktorý umožňuje ovládať viacero LED diód pomocou i2c expanzného obvodu PCF8574, a naprogramovať jednoduchú svetelnú animáciu.


[[Obrázok:ard.jpg|400px|thumb|center|Vývojová doska ACROB.]]
[[Obrázok:ard.jpg|400px|thumb|center|Vývojová doska ACROB.]]
Riadok 13: Riadok 10:
'''Literatúra:'''  
'''Literatúra:'''  
* [http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob_technical_description Dokumentácia k doske Acrob]
* [http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Acrob_technical_description Dokumentácia k doske Acrob]
* [http://www.humanbenchmark.com/tests/reactiontime/index.php Vyskúšajte si zmerať reakciu on-line]
* [https://www.ti.com/lit/ds/symlink/pcf8574.pdf Dokumentácia ku Zbernici i2c: PCF8574]




Riadok 20: Riadok 17:
== Analýza  a opis riešenia ==
== Analýza  a opis riešenia ==


Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami...
Na riešenie zadania sme použili zbernicu i2c PCF8574, ktorá nám umožnila ovládať viacero LED diód pomocou len dvoch vodičov – SDA a SCL. Tento čip komunikuje po i2c zbernici s mikrokontrolérom Arduino Acrob s ATmega328P, pričom každý jej výstupný pin možno samostatne nastavovať na logickú 0 alebo 1.
Podrobne opíšte použité komponenty (okrem základnej dosky s ATmega328P procesorom), pridajte linky na datasheety alebo opis obvodu.
'''Použité komponenty:'''
* PCF8574P – i2c expander s 8 výstupmi
* 4x LED dióda
* 4x rezistor 220 Ω – ochranné rezistory pred LED diódami
* 2x rezistor 4.7 kΩ – pull-up rezistory na i2c vodiče (SDA a SCL)
* Prepojovacie vodiče a nepájivé pole (breadboard)
 
[[Súbor:KonfiguraciaPinov.jpeg|250px|thumb|center|Konfigurácia pinov PCF8574P.]]
 
Naše konkrétne pripojenie pinov čipu PCF8574 k Arduinu a LED diódam:
 
{| class="wikitable"
! Pin PCF8574 !! Pripojenie
|-
| A0 || Adresovací pin – pripojený na GND
|-
| A1 || Adresovací pin – pripojený na GND
|-
| A2 || Adresovací pin – pripojený na GND
|-
| P0 || Výstup pre LED 1
|-
| P1 || Výstup pre LED 2
|-
| P2 || Výstup pre LED 3
|-
| P3 || Výstup pre LED 4
|-
| VSS || GND
|-
| P4–P7 || Nepoužité
|-
| INT || Nepripojené (nepoužili sme prerušenie)
|-
| SCL (pin 14) || Pripojené na Arduino A5 + pull-up rezistor na VCC
|-
| SDA (pin 15) || Pripojené na Arduino A4 + pull-up rezistor na VCC
|-
| VDD || Napájanie +5V
|}
 


[[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]]


Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.
Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.


[[Súbor:GeminiAI-image2.jpg|400px|thumb|center|Schéma zapojenia.]]
[[Súbor:Pcf8574.jpeg|400px|thumb|center|Schéma zapojenia.]]




=== Algoritmus a program ===
=== Algoritmus a program ===


Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto...  
Základom programu je cyklické zapínanie a vypínanie jednotlivých výstupov čipu PCF8574 tak, aby vytvorili jednoduchú svetelnú animáciu – postupné rozsvietenie, zhasínanie, bežiace svetlo a spoločné blikanie.
Výpis kódu je nižšie...
Pri písaní kódu sme využili knižnice i2cmaster.h a i2cmaster.c z cvičení
 





Aktuálna revízia z 18:29, 16. máj 2025

Záverečný projekt predmetu MIPS / LS2025 - Kamil Hanišák


Zadanie

Cieľom zadania bolo vytvoriť jednoduchý mikroprocesorový obvod, ktorý umožňuje ovládať viacero LED diód pomocou i2c expanzného obvodu PCF8574, a naprogramovať jednoduchú svetelnú animáciu.

Vývojová doska ACROB.

Literatúra:


Analýza a opis riešenia

Na riešenie zadania sme použili zbernicu i2c PCF8574, ktorá nám umožnila ovládať viacero LED diód pomocou len dvoch vodičov – SDA a SCL. Tento čip komunikuje po i2c zbernici s mikrokontrolérom Arduino Acrob s ATmega328P, pričom každý jej výstupný pin možno samostatne nastavovať na logickú 0 alebo 1. Použité komponenty:

  • PCF8574P – i2c expander s 8 výstupmi
  • 4x LED dióda
  • 4x rezistor 220 Ω – ochranné rezistory pred LED diódami
  • 2x rezistor 4.7 kΩ – pull-up rezistory na i2c vodiče (SDA a SCL)
  • Prepojovacie vodiče a nepájivé pole (breadboard)
Konfigurácia pinov PCF8574P.

Naše konkrétne pripojenie pinov čipu PCF8574 k Arduinu a LED diódam:

Pin PCF8574 Pripojenie
A0 Adresovací pin – pripojený na GND
A1 Adresovací pin – pripojený na GND
A2 Adresovací pin – pripojený na GND
P0 Výstup pre LED 1
P1 Výstup pre LED 2
P2 Výstup pre LED 3
P3 Výstup pre LED 4
VSS GND
P4–P7 Nepoužité
INT Nepripojené (nepoužili sme prerušenie)
SCL (pin 14) Pripojené na Arduino A5 + pull-up rezistor na VCC
SDA (pin 15) Pripojené na Arduino A4 + pull-up rezistor na VCC
VDD Napájanie +5V


Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.

Schéma zapojenia.


Algoritmus a program

Základom programu je cyklické zapínanie a vypínanie jednotlivých výstupov čipu PCF8574 tak, aby vytvorili jednoduchú svetelnú animáciu – postupné rozsvietenie, zhasínanie, bežiace svetlo a spoločné blikanie. Pri písaní kódu sme využili knižnice i2cmaster.h a i2cmaster.c z cvičení


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:



Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.