![]() |
![]() |
#1 |
Senior Member
Регистрация: 11.07.2015
Адрес: Ставрополь
Сообщений: 142
Вес репутации: 0 ![]() |
![]()
Приветствую.
Прошу прощения, если тема была, но пока не нашёл. Если что удалите/перенесите. Вопрос в том, что я, как полный ноль в программировании, никак не могу найти простенькие скетчи и слить воедино, чтобы управляя оборотами ШД эти данные вывести на LCD 1602 дисплей. Не сказать, что это жизненно необходимо, но неумение этого как-то слегка огорчает. Регулировку оборотов посредством фоторезистора я с горем/пополам сделал (связал скетч по ШД с регулировкой из стандартного набора с простым фоторезистором вместо переменника). Дальше никак. Может подскажете/поможете? Просьба не посылать учить матчасть. Мне это в жизни понадобилось скорее пока интерес победить не пропал, я этим не зарабатываю и не основное хобби. Однако интерес к ардуино очень большой из-за её возможностей. Прикрепил скетч, может кто всё же направит в нужное русло ![]() Код:
#include <Stepper_28BYJ.h> #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins #define lcd_RS_pin 7 #define lcd_RW_pin 8 #define lcd_E_pin 9 #define lcd_DB4_pin 10 #define lcd_DB5_pin 11 #define lcd_DB6_pin 12 #define lcd_DB7_pin 13 LiquidCrystal lcd(lcd_RS_pin, lcd_RW_pin, lcd_E_pin, lcd_DB4_pin, lcd_DB5_pin, lcd_DB6_pin, lcd_DB7_pin); // изменить количество шагов для вашего мотора const int stepsPerRevolution = 4076; Stepper_28BYJ myStepper_28BYJ(stepsPerRevolution, 2,3,4,5); int stepCount = 0; // number of steps the motor has taken //Specify your input pin here // int sensePin = 0; const int sensorPin = 0; const int ledPin = 6; // пин для светодиода // Также зададим 3 глобальные переменные - lightLevel, high и low int lightLevel, high = 0, low = 1023; void setup() { //включение ноги светодиода pinMode(ledPin, OUTPUT); /* lcd.begin(16,2); //Инициализируем экран //Запускает последовательный порт Serial.begin(9600); //Сообщение о запуске программы lcd.setCursor(0, 0); //устанавливаем курсор lcd.print("Stepper control"); //выводим на него строку lcd.setCursor(0, 1); //устанавливаем курсор lcd.print(" "); //выводим на него строку lcd.setCursor(0, 1); //устанавливаем курсор lcd.cursor(); //Включим курсор lcd.blink(); //Пусть мигает delay(100); */ } void loop() { // read the sensor value: // читаем значение датчика на аналоговом входе 0 int sensorReading = analogRead(A0); //lightLevel = analogRead(sensorPin); // map it to a range from 0 to 100: // масштабируем значение с аналогового входа // из диапазона 0..1023 в диапазон 0..100 int motorSpeed = map(sensorReading, 0, 4076, 0, 100); // set the motor speed: // установить скорость вращения if (motorSpeed > 0) { myStepper_28BYJ.setSpeed(motorSpeed); // step 1/100 of a revolution: // прощагать 1/100 оборота myStepper_28BYJ.step(stepsPerRevolution/100); } //включаем светодиод analogWrite(ledPin,3);//светодиод горит на 10 )) } Последний раз редактировалось Revenger; 17.11.2015 в 14:11. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|