Pro M5stack jednotky lze zakoupit různé rozšiřovací moduly, kdy jedním z nich je rozšíření EXT.IO. Tento modul obsahuje I2C extender PCA9554, který nám přidá 8 digitálních vstupně-výstupních pinů.
Pro jeho spojení s M5stack deskou stačí propojit 4 vodiče nebo použít Grove konektor PortA. Propojíme GND s GND, VCC s pinem 5V, SDA s pinem D21 a SCL s pinem D22. Piny pro I2C sběrnici SDA a SCL můžete připojit i na jiné volné GPIO piny, jen je nutné provést změnu taky na začátku programu.
Ukázkový program najdete níže, přičemž jeho popis můžete najít na videu, které je připojeno na konci návodu:
// M5 stack a jednotka EXT IO
// Jednotka rozšiřující sběrnicí 8 pinů
// navody.dratek.cz
// připojení potřebných knihoven
#include <M5Stack.h>
#include "PCA9554.h"
// vytvoření objektu z knihovny
PCA9554 extIO(0x20); // Create an object at this address
// proměnná pro uložení čteného výsledku
byte vysledek;
void setup() {
// zahájení komunikace s M5 stack
M5.begin();
// zahájení komunikace s napájecím čipem
M5.Power.begin();
// vypnutí reproduktoru
dacWrite(25, 0);
// zahájení komunikace po I2C sběrnici
Wire.begin();
// vyčištění obrazovky a vypsání informací
M5.Lcd.clear(BLACK);
M5.Lcd.setTextSize(2);
M5.Lcd.setTextColor(YELLOW);
M5.Lcd.setCursor(70, 0);
M5.Lcd.print("EXT_IO ukazkan");
M5.Lcd.setCursor(5, 20);
M5.Lcd.print("Pripojte jednotku do PortA");
M5.Lcd.setTextColor(WHITE);
// nastavení komunikačních I2C pinů
extIO.twiWrite(21, 22);
delay(10);
// nastavení funkce pinů
//extIO.portMode0(ALLOUTPUT); //Set the port as all output
extIO.pinMode0(0, OUTPUT);
extIO.pinMode0(1, INPUT);
}
void loop() {
// ukázka zápisu na jednotlivé piny
extIO.digitalWrite0(0, HIGH);
delay(1000);
extIO.digitalWrite0(0, LOW);
delay(1000);
// ukázka čtení stavu celého portu
// a výpis v binárním kódu
extIO.digitalReadPort0(vysledek);
Serial.print("Vysledek: ");
Serial.println(vysledek, BIN);
// vymazání předchozího textu pomocí černého obdélníka
M5.Lcd.fillRect(160, 25 + 40, 100, 25, BLACK);
M5.Lcd.setCursor(160, 25 + 40);
M5.Lcd.print(vysledek, BIN);
}
Motorizovaný kulový ventil. Má široké uplatnění v různých průmyslových a obytných instalacích. Může být integrován do automatických systémů řízení, kde je možné ovládat průtok dálkově nebo automatizovaně podle předem nastavených podmínek.
Motorizované kulové vently s obvodem CR01, CR02, CR03 nebo CR04 je poměrně jednoduché po elektrické stránce správně zapojit. U ventilu s obvodem CR05 je tomu ale trochu jinak - ventil si sám nehlídá krajní polohy otevření, nebo zavření. Z toho důvodu vznikl tento článek, ukazující některé výhody, použití a především správné zapojení ventilu s obvodem CR05.