C/C++

Помогите исправить ошибку Arduino

взято отсюда
Датчик давления SKU237545 в паре с Arduino - YouTube
Вот такая вот ошибка Как я могу исправить Заранее спасибо всем
pressureSensor:10:1: error: ‘TM1637’ does not name a type
TM1637 tm1637(CLK,DIO);
^~~~~~
C:\Users\User\Downloads\pressureSensor\pressureSensor.ino: In function ‘void setup()’:
pressureSensor:15:3: error: ‘tm1637’ was not declared in this scope
tm1637.init();
^~~~~~
pressureSensor:16:14: error: ‘BRIGHT_TYPICAL’ was not declared in this scope
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
^~~~~~~~~~~~~~
pressureSensor:17:16: error: ‘POINT_ON’ was not declared in this scope
tm1637.point(POINT_ON);
^~~~~~~~
C:\Users\User\Downloads\pressureSensor\pressureSensor.ino:17:16: note: suggested alternative: ‘PCINT0’
tm1637.point(POINT_ON);
^~~~~~~~
PCINT0
C:\Users\User\Downloads\pressureSensor\pressureSensor.ino: In function ‘void displayBar(float)’:
pressureSensor:45:5: error: ‘tm1637’ was not declared in this scope
tm1637.display(3-i,digit);
^~~~~~
exit status 1
‘TM1637’ does not name a type




вот код

#define pressureSensor A0
#include “TM1637.h”
#define CLK 5//pins definitions for TM1637 and can be changed to other ports
#define DIO 4
#define NASOS 6
float const pressureMin = 2.00;
float const pressureMax = 4.00;
bool nasosIsRunning = false;

TM1637 tm1637(CLK,DIO);
void setup() {
nasosIsRunning = false;
pinMode(NASOS, OUTPUT);
Serial.begin(9600);
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
tm1637.point(POINT_ON);
}

void loop(){
int sensorVal=analogRead(pressureSensor);
Serial.print("Sensor Value: ");
Serial.print(sensorVal);

float voltage = (sensorVal*5.0)/1024.0;
Serial.print("; Volts: ");
Serial.print(voltage);

float pressure_pascal = (3.0*((float)voltage-0.47))*1000000.0;
float pressure_bar = pressure_pascal/10e5;
Serial.print(“; Pressure = “);
Serial.print(pressure_bar);
Serial.println(” bars;”);
displayBar(pressure_bar);
switchPump(pressure_bar);

delay(1000);
}

void displayBar(float pressure) {
int x = pressure *100; // get rid of decimal point, x is now temp in 1/100 degrees

for(uint8_t i = 0; i<3;i++){
int digit = x%10; // strip off lowest digit
tm1637.display(3-i,digit);
x=x/10;
}
}

void switchPump(float pressure){
if(pressure > pressureMax){
nasosIsRunning = false;
digitalWrite(NASOS, LOW);
}
else if(pressure <= pressureMin && nasosIsRunning == false){
nasosIsRunning = true;
digitalWrite(NASOS, HIGH);
}
//if(pressure > pressureMax || pressure < pressureMin){
// digitalWrite(NASOS, LOW);
//}
//else if(pressure >= pressureMin && pressure <= pressureMax){
// digitalWrite(NASOS, HIGH);
//}
Инструкция по установке библиотеки тут
https://alexgyver.ru/tm1637_display/
Анатолий Копытин
Анатолий Копытин
51 416
Лучший ответ
#include "TM1637.h"
#include <Arduino.h>

// pins definitions for TM1637 and can be changed to other ports
const int CLK = 5;
const int DIO = 4;
const int NASOS = 6;

const int pressureSensor = A0;
const float pressureMin = 2.00;
const float pressureMax = 4.00;

bool nasosIsRunning = false;
TM1637 tm1637(CLK, DIO);

void setup()
{
nasosIsRunning = false;
pinMode(NASOS, OUTPUT);
Serial.begin(9600);
tm1637.init();
tm1637.set(BRIGHT_TYPICAL); // BRIGHT_TYPICAL = 2, BRIGHT_DARKEST = 0, BRIGHTEST = 7;
tm1637.point(POINT_ON);
}

void loop()
{
int sensorVal = analogRead(pressureSensor);
Serial.print("Sensor Value: ");
Serial.print(sensorVal);

float voltage = (sensorVal * 5.0) / 1024.0;
Serial.print("; Volts: ");
Serial.print(voltage);

float pressure_pascal = (3.0 * ((float)voltage - 0.47)) * 1000000.0;
float pressure_bar = pressure_pascal / 10e5;
Serial.print("; Pressure = ");
Serial.print(pressure_bar);
Serial.println(" bars;");
displayBar(pressure_bar);
switchPump(pressure_bar);

delay(1000);
}

void displayBar(float pressure)
{
int x = pressure * 100; // get rid of decimal point, x is now temp in 1/100 degrees

for (uint8_t i = 0; i < 3; i++)
{
int digit = x % 10; // strip off lowest digit
tm1637.display(3 - i, digit);
x = x / 10;
}
}

void switchPump(float pressure)
{
if (pressure > pressureMax)
{
nasosIsRunning = false;
digitalWrite(NASOS, LOW);
}
else if (pressure <= pressureMin && nasosIsRunning == false)
{
nasosIsRunning = true;
digitalWrite(NASOS, HIGH);
}
}
Андрей 1989
Андрей 1989
1 043