![]()  | 
	
| 
			
			 | 
		#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) | |
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  | 
	
		
  |