M5Stack 4IN8OUT Multi-channel DC Drive Module (STM32F030)
The Pi Hut
RSS
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
Sugerowane produkty dla 4in8out
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 The Pi Hut