Operácie

Zbernica i2c: PCF8574: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
Riadok 25: Riadok 25:
* Prepojovacie vodiče a nepájivé pole (breadboard)
* Prepojovacie vodiče a nepájivé pole (breadboard)


[[Súbor:GeminiAI-image3.jpg|400px|thumb|center|Celkový pohľad na zariadenie.]]
[[Súbor:IMG_0141.jpeg|400px|thumb|center|Konfigurácia pinov PCF8574P.]]
 
Naše pripojenie podľa
 
* A0 - Adresovací pin - pripojený na GND (nastavenie i2c adresy)    * P4 - Nevyužitý
* A1 - Adresovací pin - pripojený na GND                            * P5 - Nevyužitý
* A2 - Adresovací pin - pripojený na GND                            * P6 - Nevyužitý
* P0 - Výstup pre LED 1                                            * P7 - Nevyužitý
* P1 - Výstup pre LED 2                                            * INT - Nepripojené (nepoužili sme prerušenie)
* P2 - Výstup pre LED 3                                            * SCL(clock) - pripojené na Arduino A5 + pull-up rezistor na VCC
* P3 - Výstup pre LED 4                                            * SDA(data) - pripojené na Arduino A4 + pull-up rezistor na VCC
* VSS - GND                                                        * 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.
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.

Verzia z 16:19, 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)
Súbor:IMG 0141.jpeg
Konfigurácia pinov PCF8574P.

Naše pripojenie podľa

  • A0 - Adresovací pin - pripojený na GND (nastavenie i2c adresy) * P4 - Nevyužitý
  • A1 - Adresovací pin - pripojený na GND * P5 - Nevyužitý
  • A2 - Adresovací pin - pripojený na GND * P6 - Nevyužitý
  • P0 - Výstup pre LED 1 * P7 - Nevyužitý
  • P1 - Výstup pre LED 2 * INT - Nepripojené (nepoužili sme prerušenie)
  • P2 - Výstup pre LED 3 * SCL(clock) - pripojené na Arduino A5 + pull-up rezistor na VCC
  • P3 - Výstup pre LED 4 * SDA(data) - pripojené na Arduino A4 + pull-up rezistor na VCC
  • VSS - GND * 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

Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...


#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.