🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

💿 Проект: логгер температуры на обычную USB-флешку через CH376S

Датчик DS18B20 и модуль CH376S

CH376S — готовый USB Host с файловой системой, пишет файлы на обычную флешку без компьютера.

Как это работает

Arduino не содержит USB Host контроллера и не знает файловую систему FAT. CH376S — отдельная микросхема-посредник: берёт на себя весь USB-протокол и операции с файлами, Arduino общается с ней по UART или SPI простыми командами.

Идея проекта — datalogger: раз в минуту снимается температура и дозаписывается строкой в CSV-файл на флешке, который потом открывается на компьютере.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите CH376S в UART-режиме: RX/TX → D2/D3, VCC → 5V, GND → GND; замкните перемычку UART-режима на плате.
  2. Вставьте флешку (желательно FAT32) в USB-разъём модуля.
  3. Подключите DS18B20: сигнал → D4, резистор 4.7 кОм, VCC → 5V, GND → GND.
  4. Используйте библиотеку CH376S для открытия/записи файла — прямая отправка текста по UART файл не создаст, это демонстрация идеи.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
//
// ВАЖНО: упрощённая демонстрация идеи. Реальная запись через CH376S требует
// команд конкретной библиотеки модуля (открыть/дозаписать/закрыть файл).

#include <SoftwareSerial.h>
#include <OneWire.h>
#include <DallasTemperature.h>

SoftwareSerial ch376(2, 3);
#define ONE_WIRE_BUS 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  ch376.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float t = sensors.getTempCByIndex(0);

  Serial.print("Запись: ");
  Serial.print(millis());
  Serial.print(",");
  Serial.println(t);

  // Здесь должен быть вызов функции библиотеки CH376S, а не сырой UART.
  ch376.print(millis());
  ch376.print(",");
  ch376.println(t);

  delay(60000);
}
                

CH376S поддерживает SPI и упрощённый UART-режим — для UART нужно замкнуть перемычку на плате модуля.

Частые проблемы

Как улучшить проект

Товары по теме


Модуль чтения USB CH376S
Модуль чтения USB CH376S

281 руб.

Ещё модули для Arduino: Электронные модули.

← 💾 логгер температуры на SD-карту…🔆 автономная солнечная зарядная … →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 363 ₽ 327 ₽ (экономия 36 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA