Ребят. Помогите. Готов оплатить

Тема в разделе "Закажу проект", создана пользователем Devil40rus, 1 апр 2014.

  1. Devil40rus

    Devil40rus Нуб

    1)Включился, считал из EEPROM положения конденсаторов и частоту сигнала, номер антенны(1)

    2)Получили сигнал "старт тюнер":

    1.определяем частоту

    2.номер антенны

    3.ищем в памяти

    4.ставим если нашли из памяти

    4.1.проверяем, если плохо, то дальше.

    5.Ищем минимум КСВ

    6.Записываем в память частоту, положения, номер антенны

    Не могу дописать
    Код (Text):
      // Подключаем библиотеку дисплея:
    #include <LiquidCrystal.h>
      // Подключаем библиотеку шагового двигателя:
    #include <AccelStepper.h>
    // Создает класс шагового двигателя и объявляет какими ножками:
    AccelStepper stepper(AccelStepper::FULL4WIRE, 8, 9, 10, 11);
    AccelStepper stepper2(AccelStepper::FULL4WIRE, 2, 3, 4, 5);
      // Подключаем EEPROM - запоминать лучшее положение:
    #include <EEPROM.h>
      // Подключаем математические функции:
    #include "math.h"
      // Объявляем переменные и приводим их в порядок:
    float f = 0;
    float SWRpad = 0;
    float SWRotr = 0;
    float SWR = 0;
      // Прописываем пины индикатора:
    LiquidCrystal lcd(10, 11, 12, 13, 14, 15);

    void setup ()
    {
    analogReference(DEFAULT); // Стандартное опорное напряжение 5 В.
    lcd.begin(16, 2); // Задаем размерность экрана, 2 строки по 16 символов.
      // Установление скорости оборотов двигателя в оборотах в минуту (RPM).
    stepper.setMaxSpeed(300.0);
    stepper.setAcceleration(100.0);
    stepper.moveTo(1000000);
       
    stepper2.setMaxSpeed(300.0);
    stepper2.setAcceleration(100.0);
    stepper2.moveTo(1000000);
      // Указываем скорость работы с портом:
    Serial.begin(9600);
    }
    void loop ()
    {
    value = EEPROM.read(a);
    f = analogRead(A0); // Читаем частоту сигнала.
    SWRpad = analogRead(A2);  // Читаем напряжение падающей волны.
    SWRotr = analogRead(A1);  // Читаем напряжение отраженной волны.
      // Расчет и вывод КСВ:
    SWR = (SWRpad + SWRotr)/(SWRpad - SWRotr);
      // Определяем номер шага и значение SWR - сравниваем, что запомнили вначале, если новое значение лучше, то запоминаем новое и номер шага.
      // После полного оборота выбираем лучшее.
    lcd.setCursor(0, 0);
    lcd.print("SWR");
    if (SWR < 1.3) {
    lcd.setCursor(4, 0);
    lcd.print("<1.3");
    }
    else if (SWR > 3) {
    // Read new position
    int f = analogRead(A0);
    stepper.moveTo(f);
    stepper.setSpeed(100);
    stepper.runSpeedToPosition();
    if (SWR < 1.3) {
    lcd.setCursor(4, 0);
    lcd.print(SWR) {

    delay(1000);


      // Задержка и очистка экрана:
    delay (100);
    lcd.clear();
    }
     
  2. r0c

    r0c Гик

    надо еще полную прокрутку двигателя сделать до замыкания кнопки в крайнем положении.
    при включении контроллер не знает, в каком положении стоит двигатель.
    тюнер на шаговиках?
     
  3. Devil40rus

    Devil40rus Нуб

    Да-да, помогите сделать пожалуйста?