Skip to content

Модуль приливной электростанции для макета демонстрации альтернативных источников электроэнергии

Notifications You must be signed in to change notification settings

Picjavard/Maket-Module-Tidal_power_plant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

Maket-Module-Tidal_power_plant

Модуль приливной электростанции для макета демонстрации альтернативных источников электроэнергии

Список компонентов

3D-модели для печати

Thingiverse: https://www.thingiverse.com/thing:6749869

Аквариум v10

Подключение

OLED-дисплей

OLED-дисплей Arduino Nano Arduino Micro / Pro Micro
GND GND GND gnd
VCC 5V 5V
SCL A5 3
SDA A4 2

Датчик расхода воды

Датчик расхода воды Arduino Nano Arduino Micro / Pro Micro
GND(Черный) GND GND
VCC(Красный) 5V/VIN 5V/VIN
SIG(Желтый) D2 TX

Питание модуля

Питание модуля Arduino Nano / Micro / Pro Micro
GND GND
+5V VIN

Тестовый код oled-дисплея

#include <GyverOLED.h>  // подключение библиотеки oled-дисплея
GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;


void setup() {
  oled.init();              // инициализация
  oled.clear();             // очистка дисплея
  oled.autoPrintln(false);  // отключить автопереход на новую строку
  oled.setScale(4);         // масштаб текста
  oled.setCursor(0, 0);     // установка позиции курсора
  oled.print("Init");
  oled.update();  // обновить экран
  delay(1000);
}

void loop() {
  // выводим 1 раз в секунду
  static uint32_t tmr;
  if (millis() - tmr > 1000) {
    tmr = millis();
    oled.clear();
    oled.setCursor(0, 0);
    oled.print();
    oled.update();
  }
}

Код

// измеряем обороты
// пин тахометра (желательна внешняя подтяжка 4.7к к VCC)

#define TACH_PIN 2  // Nano
//#define TACH_PIN 1  // Micro

#include <Tachometer.h>  // подключение библиотеки тахометра
Tachometer tacho;

#include <GyverOLED.h>  // подключение библиотеки oled-дисплея
GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;


void setup() {
  //Serial.begin(9600);

  // пин тахометра вентилятора подтягиваем к VCC
  pinMode(TACH_PIN, INPUT_PULLUP);

  // настраиваем прерывание
  attachInterrupt(0, isr, FALLING);  // Nano
  //attachInterrupt(3, isr, FALLING); // Micro

  tacho.setTimeout(2000);  // время таймаута

  oled.init();              // инициализация
  oled.clear();             // очистка дисплея
  oled.autoPrintln(false);  // отключить автопереход на новую строку
  oled.setScale(4);         // масштаб текста
  oled.setCursor(0, 0);     // установка позиции курсора
  oled.print("Init");
  oled.update();  // обновить экран
  delay(1000);
}

// обработчик прерывания
void isr() {
  tacho.tick();  // сообщаем библиотеке о новом сигнале
}

void loop() {
  // выводим 1 раз в секунду
  static uint32_t tmr;
  if (millis() - tmr > 1000) {
    tmr = millis();

    //Serial.println(tacho.getRPM());     // вывод на ПК

    oled.clear();
    oled.setCursor(0, 0);
    oled.setScale(4);         // масштаб текста
    oled.print(tacho.getRPM());
    oled.setCursor(0, 5);
    oled.setScale(3);         // масштаб текста
    oled.print("  кВт/ч");
    oled.update();
  }
}

About

Модуль приливной электростанции для макета демонстрации альтернативных источников электроэнергии

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published