Добрый день!
Начал пользоваться Wokwi.
Для ознакомления выбрал подключение к Arduino Nano lcd 16/2, потенциометра и led ленты (чёрная такая, с 10-ю светодиодами).
Выдаёт ошибку
Код вот такой
Скрин схемы во вложении.
Прошу подсказать знающих, в чём ошибка. Сам уже час ковыряюсь и не понимаю.
Начал пользоваться Wokwi.
Для ознакомления выбрал подключение к Arduino Nano lcd 16/2, потенциометра и led ленты (чёрная такая, с 10-ю светодиодами).
Выдаёт ошибку
C++:
sketch.ino: In function 'void loop()':
sketch.ino:50:52: error: too few arguments to function 'long int map(long int, long int, long int, long int, long int)'
int ledLvl = map(sensorReading, 0, 1023, ledCount); //
^
In file included from sketch.ino.cpp:1:0:
/arduino/hardware/avr/1.8.6/cores/arduino/Arduino.h:254:6: note: declared here
long map(long, long, long, long, long);
^~~
Error during build: exit status 1
Код вот такой
C++:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// для экрана
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES); // значения для экрана 16/2 I2C
// считка с потенциометра на Led
int PotPin = A0;
int Value=0;
float Value_volt=0;
// для светодиодной ленты
const int analogPin = A0; //подключение потенциометра в этот пин
const int ledCount = 10; //кол-во светодиодов в ленте
// пины, куда подключены светодидоды в ленте
int ledPins[] = {
2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};
void setup() {
for (int etotLed = 0; etotLed < ledCount; etotLed++) {
pinMode(ledPins[etotLed], OUTPUT);
}
Serial.begin(115200);
pinMode(A0, INPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Count");
delay(1000);
}
void loop() {
int sensorReading = analogRead(analogPin); // читка потенциометра
int ledLvl = map(sensorReading, 0, 1023, ledCount);
for (int etotLed = 0; etotLed < ledCount; etotLed++) {
if (etotLed < ledLvl) {
digitalWrite(ledPins[etotLed], HIGH);
}
else {
digitalWrite(ledPins[etotLed], LOW);
}
}
// put your main code here, to run repeatedly:
int value = analogRead(A0);
Serial.println(value);
delay(100);
lcd.setCursor(6, 1);
Value = analogRead(PotPin);
lcd.print(Value);
delay(500);
}
Прошу подсказать знающих, в чём ошибка. Сам уже час ковыряюсь и не понимаю.
Вложения
-
154.2 KB Просмотры: 1