elecena.pl

M5Stack 4IN8OUT Multi-channel DC Drive Module (STM32F030)

The Pi Hut

M5Stack 4IN8OUT Multi-channel DC Drive Module (STM32F030) RSS 16.40 16.40 GBP84.82 PLN
  • Sklep zagraniczny
Kod:
M122
Producent:
m5stack
Waluta:
funt szterling
Dodany do bazy:
Ostatnio widziany:
Zmiana ceny:
+0.61% (06.08.2025)
Poprzednia cena:
16.30 GBP

The 4IN8OUT Multi-channel DC Drive Module from M5Stack is a 4-Channel Passive Input/Switch + 8-Channel MOS Drive Output drive module. The module adopts STM32F030 as the I2C IO chip and supports 9-24V DC input, with internal DC-DC circuitry to 5V. Features

* Compatible with Basic/Fire/Core2

* Adopt STM32F030 as the IO chip, I2C communication, I2C address is changeable by modifying the register

* 8-channel MOS Drive circuitry shares the same VCC, channel load <1A

* 4-channel Passive Input share the same GND, no active signal or >5V signal allowed

* With internal MP1584, 9~24V -> 5V DC-DC converter

Package Contents

* 1x 4IN8OUT Multi-channel DC Drive Module

* 13x 2-pin Terminals

Specifications

Input Voltage 9~24V

Output Channel 8

Input Channel 4

Output Load <1A each Channel

Communication Interface I2C

I2C Address Default 0x45, change by modifying register 0xF0

Net Weight 21.9g

Gross Weight 52.5g

Product Size 54*54*13mm

Package Size 125*68*23mm

Resources

* Product Documentation

* Schematic

Pinout

M5Core GPIO22 GPIO21 5V GND

4IN8OUT MODULE 13.2 SCL SDA 5V GND

Arduino Example #include #include "MODULE4IN8OUT.h"

MODULE4IN8OUT module;

int I2Cdevscan();

void setup() {

M5.begin(1,1,1,1); // Init M5Stack. 初始化M5Stack

// while (1) {

// I2Cdevscan();

// delay(1000);

// }

while (!module.begin(&Wire, 21, 22, MODULE4IN8OUTADDR)) {

Serial.println("4IN8OUT INIT ERROR");

M5.Lcd.println("4IN8OUT INIT ERROR");

I2Cdevscan();

delay(1000);

};

Serial.println("4IN8OUT INIT SUCCESS"); }

// void loop() {

// }

long interval = 0; bool level = false;

void loop() {

for (uint8t i = 0; i < 4; i++) {

if (module.getInput(i) != 1) {

// M5.Lcd.fillRect(60 + 60 * i, 0, 25, 25, TFTBLACK);

M5.Lcd.fillRect(60 + 60 * i, 0, 25, 25, TFTGREEN);

} else {

// M5.Lcd.fillRect(60 + 60 * i, 0, 25, 25, TFTBLACK);

// M5.Lcd.drawRect(60 + 60 * i, 0, 25, 25, TFTGREEN);

M5.Lcd.fillRect(60 + 60 * i, 0, 25, 25, TFTRED);

}

M5.Lcd.drawString("IN" + String(i), 40 + 60 * i, 5);

}

M5.Lcd.drawString("4IN8OUT MODULE", 60, 80, 4);

// M5.Lcd.drawString("FW VERSION:" + String(module.getVersion()), 70, 120, 4);

if (millis() - interval > 1000) {

interval = millis();

level = !level;

for (uint8t i = 0; i < 8; i++) {

module.setOutput(i, level);

if (level) {

M5.Lcd.fillRect(20 + 35 * i, 200, 25, 25, TFTBLACK);

M5.Lcd.fillRect(20 + 35 * i, 200, 25, 25, TFTBLUE);

} else {

M5.Lcd.fillRect(20 + 35 * i, 200, 25, 25, TFTBLACK);

M5.Lcd.drawRect(20 + 35 * i, 200, 25, 25, TFTBLUE);

}

M5.Lcd.drawString("OUT" + String(i), 18 + 35 * i, 180);

// delay(50);

}

}

// if (M5.BtnB.wasPressed()) {

// if (module.setDeviceAddr(0x66)) {

// Serial.println("Update Addr: 0x66");

// }

// }

// M5.update();

delay(500); }

int I2Cdevscan() {

uint8t error, address;

int nDevices;

Serial.println("[I2CSCAN] device scanning...");

nDevices = 0;

for (address = 1; address < 127; address++ ) {

// The i2cscanner uses the return value of

// the Write.endTransmisstion to see if

// a device did acknowledge to the address.

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0) {

Serial.print("[I2CSCAN]: device found at address 0x");

if (address < 16)

Serial.print("0");

Serial.print(address, HEX);

Serial.println(" !");

nDevices++;

}

else if (error == 4) {

Serial.print("[I2CSCAN]: unknow error at address 0x");

if (address < 16)

Serial.print("0");

Serial.println(address, HEX);

}

}

Serial.print("[I2CSCAN]:");

Serial.printf(" %d devices was found\r\n", nDevices);

return nDevices; }

Elecena nie prowadzi sprzedaży elementów elektronicznych, ani w niej nie pośredniczy.

Produkt pochodzi z oferty sklepu