Вопрос, Вы можете пересмотреть и исправить строки в готовом скетче для ардуино нано? Дисплей LCD2004 надо переключить по i2c, надо подключить клавиатуру из 5 кнопок. Сам скетч состоит из несколько вложенных файлов, в том числе и файл “config.h”, где и надобно исправить несколько строк. Вот схема электроники (рабочая) за исключением клавиатуры.
Тут содержимое файла config.
01#pragma once
02// сохраняйте этот файл при обновлении прошивки, чтобы не потерялись все ваши настройки. Старый файл конфигурации будет подходить ко всем новым версиям
03
04#define ENCODER_CLK 2
05#define ENCODER_DT 5
06#define ENCODER_SW 3
07
08#define STEPPER_STEP_Z 4
09#define STEPPER_DIR_Z 7
10#define STEPPER_STEP_A 12
11#define STEPPER_DIR_A 13
12#define STEPPER_EN 8
13
14#define BUZZER 10
15#define BUTTON_STOP 11
16
17#define DISPLAY_RS A0
18#define DISPLAY_EN A1
19#define DISPLAY_D4 A2
20#define DISPLAY_D5 A3
21#define DISPLAY_D6 A4
22#define DISPLAY_D7 A5
23
24#define KEYBOARD_PIN A6 // для подключения аналоговой клавиатуры на A0 необходимо перенести вывод дисплея DISPLAY_RS на другой пин, например, на 6
25
26
27#define THREAD_PITCH 1000 // шаг резьбы вала укладчика в мкм
28
29#define DISPLAY_NCOL 20 // размер дисплея: ширина
30#define DISPLAY_NROW 4 // размер дисплея: высота
31#define DISPLAY_I2C 0 // использовать I2C подключение дисплея (1 - да, 0 - нет)
32#define DISPLAY_ADDRESS 0x27 // I2C адрес дисплея (0x27 для PCF8574T, 0x3F для PCF8574AT)
33
34#define STEPPER_Z_STEPS 200 // число шагов двигателя катушки на 1 оборот
35#define STEPPER_Z_MICROSTEPS 16 // делитель на плате драйвера двигателя катушки
36#define STEPPER_Z_REVERSE 1 // обратить направление вращения для двигателя катушки (1 - да, 0 - нет)
37#define STEPPER_A_STEPS 200 // число шагов двигателя укладчика на 1 оборот
38#define STEPPER_A_MICROSTEPS 16 // делитель на плате драйвера двигателя укладчика
39#define STEPPER_A_REVERSE 0 // обратить направление вращения для двигателя укладчика (1 - да, 0 - нет)
40
41#define ENCODER_TYPE EB_HALFSTEP // тип энкодера: EB_FULLSTEP или EB_HALFSTEP. если энкодер делает один шаг за два щелчка, нужно изменить настройку
42#define ENCODER_INPUT INPUT // если есть подтягивающие резисторы - ставьте INPUT, если нет - INPUT_PULLUP
43
44#define KEYBOARD_LEFT 0 // 0
45#define KEYBOARD_UP 33 // k33
46#define KEYBOARD_DOWN 93 // 1k0
47#define KEYBOARD_RIGHT 171 // 2k0
48#define KEYBOARD_SELECT 350 // 5k2
49
50#define LANGUAGE RU // EN, RU
51//#define DEBUG
52#define TRANSFORMER_COUNT 3 // 36 max
53