Наливатор - автоматизированная машина, которая будет разливать алкоголь по стопкам.

alania_07
Offline
Зарегистрирован: 04.10.2019

Попробую, спасибо

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

stpavel, да мне пох, хотите пользоваться дерьмом и ловить глюки - вы свободные люди - пользуйтесь и ловите. Только не надо рекламировать гивера на этом форуме - у него свой есть, адрес я дал. Гивер - это коммерческий проект, и что здесь делает его реклама ... в общем, ты понял меня.

stpavel
Offline
Зарегистрирован: 09.10.2018

Ворота пишет:

stpavel, да мне пох, хотите пользоваться дерьмом и ловить глюки - вы свободные люди - пользуйтесь и ловите. Только не надо рекламировать гивера на этом форуме - у него свой есть, адрес я дал. Гивер - это коммерческий проект, и что здесь делает его реклама ... в общем, ты понял меня.

Прикинь, не понял.  Я попробовал, библиотека рабочая. Енкодер работает четко, мне нравиться. Мне похрену как она называется. Называлась бы ВоротаEncoder или даже LogikEncoder, и была бы рабочая, юзал бы ее. Но чето поискал, таких не нашлось , поэтому пришлось использовать гуверскую...

И это, я не поклонник Гувера если что, и видео его не смотрю. Вот теперь наверное у нас обоих будет понимание. Да ?  

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Боюсь, что нет. Понимание у тебя наступит, когда тебя потрут за рекламу посторонних ресурсов. 

stpavel
Offline
Зарегистрирован: 09.10.2018

Ворота пишет:

Боюсь, что нет. Понимание у тебя наступит, когда тебя потрут за рекламу посторонних ресурсов. 

Да товарищ... Это диагноз... Ладно, разговор на этом закончен, проходите мимо. 

 

vuster
Offline
Зарегистрирован: 11.11.2019

stpavel пишет:

vuster пишет:

Привет всем! Я глядя на этот ажиотаж изготовления наливаторов, тоже не удержался и сконструировал сие чудо. В качестве перемещения фигуры использовал шаговый двигатель. https://www.youtube.com/watch?v=AXv9otG1ycM

Идея прикольная. Не понравились две вещи, тупящие датчики рюмок и дергающийся стол при вращении. 

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Переключить драйвер в микрошаг. Но тогда момент упадет. 

А у вас там скорость налива регулируется? Можно соревнования устраивать - скоростное выпивание. Пять минут и конкурсы закончены.

vuster
Offline
Зарегистрирован: 11.11.2019

sadman41 пишет:

Переключить драйвер в микрошаг. Но тогда момент упадет. 

А у вас там скорость налива регулируется? Можно соревнования устраивать - скоростное выпивание. Пять минут и конкурсы закончены.

С этим наливатором была выпита не одна бутылка, все довольны. Скорость налива не регулируется.

sadman41
Offline
Зарегистрирован: 19.10.2016

Что за движок/драйвер на девайсе? По скорости на NemaXX похож.

stpavel
Offline
Зарегистрирован: 09.10.2018

sadman41 пишет:

Переключить драйвер в микрошаг. Но тогда момент упадет. 

А у вас там скорость налива регулируется? Можно соревнования устраивать - скоростное выпивание. Пять минут и конкурсы закончены.

Там дело не в микрошаге. Стол не рывкам едет, а его покачивает, именно из за тяжелой конструкции сверху. 

vuster
Offline
Зарегистрирован: 11.11.2019

sadman41 пишет:

Что за движок/драйвер на девайсе? По скорости на NemaXX похож.

драйвер L298N и шаговик NEMA 17HS4401

 

stpavel
Offline
Зарегистрирован: 09.10.2018

sadman41 пишет:

Что за движок/драйвер на девайсе? По скорости на NemaXX похож.

Nema  и есть. В конце видео есть вскрытие наливатора. 

sadman41
Offline
Зарегистрирован: 19.10.2016

Меняйте драйвер на A4988 (или подобный step/dir) и будет нормальный микрошаг.

vuster
Offline
Зарегистрирован: 11.11.2019

sadman41 пишет:

Меняйте драйвер на A4988 (или подобный step/dir) и будет нормальный микрошаг.

я думаю надо скорость при старте делать меньше, а затем прибавлять (программно)

sadman41
Offline
Зарегистрирован: 19.10.2016

Кстати 298-й - это вообще не самый подходящий для немы драйвер. Ибо он Constant Voltage, а не Constant Current. Да и микрошаг энивэй не помешает - будет дергать меньше на старте. Хотя, конечно, на 1,8-градусном моторе рывок не сильно заметен... Но все равно - лучше поменять, будет больше возможностей для маневра. А заюзаете AccelStepper - будет и разгон и торможение по параболе.

vuster
Offline
Зарегистрирован: 11.11.2019

sadman41 пишет:

Кстати 298-й - это вообще не самый подходящий для немы драйвер. Ибо он Constant Voltage, а не Constant Current. Да и микрошаг энивэй не помешает - будет дергать меньше на старте. Хотя, конечно, на 1,8-градусном моторе рывок не сильно заметен... Но все равно - лучше поменять, будет больше возможностей для маневра. А заюзаете AccelStepper - будет и разгон и торможение по параболе.

спасибо, будет время попробую заменить драйвер

vovan47
Offline
Зарегистрирован: 16.09.2019
#include <dfplayer_mini_mp3.h>

#include <adafruit_neopixel.h>

#include <OLED_I2C.h>
#include <Servo.h>
#include "Adafruit_NeoPixel.h"
#include <SoftwareSerial.h>//добавляем библиотеки
#include <DFPlayer_Mini_Mp3.h>//добавляем библиотеку МП3 плейера

OLED myOLED(SDA, SCL, 8); //Подключение экрана А4-SDA-зеленый, А5-SCL-желтый
extern uint8_t MegaNumbers[];
extern uint8_t RusFont[];
extern uint8_t SmallFont[];
unsigned long currentTime;
unsigned long loopTime;
unsigned long ledTime;
// Переменные для энкодера -----------
const int pin_A = 2;       // Подключение вывода A (CLK) энкодера
const int pin_B = 3;       // Подключение вывода B (DT) энкодера
const int pin_SW = 4;       // Подключение вывода кнопки (SW) энкодера
unsigned char encoder_A;
unsigned char encoder_B;
unsigned char encoder_A_prev = 0;
unsigned char encoder_sw_prew = 1;
//Массив , обозначаем подключенные оптопары по выводам . Оптопары подключены, A0,A1,A2,A3,A6
const byte  Optics[] = {0, 1, 2, 3, 6};
// Значения порога срабатывания датчика для каждой рюмки
const unsigned int Optics_porog[] = {50,50,100,100,50};
//Серво
const int PIN_SERVO = 9;
Servo servo;
//Позиция каждой рюмки 
const byte Rumka_pos[] = {0,50,98,145,179}; //12 - 48 - 90 - 135 - 174 (7,6-48,8-90,0-132,0-173,00 или 165/4=41)
const byte servo_speed=15; // Скорость поворота серво,  10 - норм, 20 медленно, 30 очень медленно
byte  Menu = 0;
byte MenuFlag = 0; // Здесь храниться уровень меню. 0 находимся в  Главном меню. 1 Вошли в меню Авто, 2 вошли в  Ручное управление
byte  Drink = 25; // По умолчанию в рюмку наливаем  20 мл.
//----- Минимальные и максимальные значения наполняемой жидкости и задержки для наполнения. 
const byte  min_Drink = 2; // Минимум в рюмку - 2 мл.
const byte  max_Drink = 50; // Максимум в рюмку - 50 мл.
// Калибровка работы насосика. Значения для налива min_Drink и max_Drink соотвественно 
const unsigned int min_Drink_delay = 222; 
const unsigned int max_Drink_delay = 6000;
//--------
byte  DrinkCount = 1; //По умолчанию, для ручного режима - 1 рюмка
const byte  max_DrinkCount = 5; //Максимальное кол-во рюмок - 5
// Насосик
const byte PIN_PUMP = 12;
// Светодиоды
const int PIN_LED = 5;// Сюда подключаются светодиоды
const int LED_COUNT = max_DrinkCount;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN_LED, NEO_GRB + NEO_KHZ800);
//-------



void pump_enable() {
  digitalWrite(PIN_PUMP, 1); //вкл реле
}

void pump_disable() {
  digitalWrite(PIN_PUMP, 0); //выкл реле
}

void pump_timer(byte Drink) {
  digitalWrite(PIN_PUMP, 1); //вкл реле
  delay(map(Drink, min_Drink,  max_Drink, min_Drink_delay, max_Drink_delay));
  digitalWrite(PIN_PUMP, 0); //выкл реле
}

void oled_menu(int Menu) {
  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print(F("Y F K B D F N J H"), CENTER, 0);//Н А Л И В А Т О Р
  myOLED.print(F("F D N J"), CENTER, 15);//А В Т О
  myOLED.print(F("H E X Y J Q "), CENTER, 30);//Р У Ч Н О Й 
  myOLED.print(F("G H J V S D R F"), CENTER, 45);//П Р О М Ы В К А
  myOLED.setFont(SmallFont);
  myOLED.print(F(">"), LEFT, (Menu * 15) + 15);
  myOLED.print(F("<"), RIGHT, (Menu * 15) + 15);
  myOLED.update();

}
//  выводит строчку по чуть чуть, в самый раз и тд. Передается номер строки, на которой выводить сообщение
void DrinkInfo(byte pos) {
  if (Drink < 15) {
    myOLED.print(F("YB J XTV"), CENTER, pos);//НИ О ЧЕМ
  } else if (Drink < 28) {
    myOLED.print(F("GJ XENM - XENM"), CENTER, pos);//ПО ЧУТЬ - ЧУТЬ
  } else if (Drink < 38) {
    myOLED.print(F("D CFVSQ HFP"), CENTER, pos);//В САМЫЙ РАЗ
  } else if (Drink < 48) {
    myOLED.print(F("GJ GJKYJQ"), CENTER, pos);//ПО ПОЛНОЙ
  } else {
    myOLED.print(F("LJ RHFTD"), CENTER, pos);//ДО КРАЕВ
  }

}

/*
void Tost() {
  randomSeed(currentTime);
  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print(F("DSGMTV"), CENTER, 20); //Выпьем
  // Рандом - 1
  switch (random(11)) {
    case 0:
      myOLED.print(F("PF LHEPTQ!"), CENTER, 40); //За друзей
      break;
    case 1:
      myOLED.print(F("PF VBKS{ LFV!"), CENTER, 40); //За милых дам
      break;
    case 2:
      myOLED.print(F("PF PLJHJDMT!"), CENTER, 40); //За здоровье
      break;
    case 3:
      myOLED.print(F("PF ELFXE!"), CENTER, 40); //За удачу
      break;
    case 4:
      myOLED.print(F("PF VBH DJ DCTV VBHT!"), CENTER, 40); //За мир во всем мире
      break;
    case 5:
      myOLED.print(F("PF NT{ RNJ D VJHT!"), CENTER, 40); //За тех кто в море
      break;
    case 6:
      myOLED.print(F("PF K><JDM !"), CENTER, 40); //За любовь !
      break;
    case 7:
      myOLED.print(F("PF RHFCJNE !"), CENTER, 40); //За красоту !
      break;
    case 8:
      myOLED.print(F("PF DTPTYBT !"), CENTER, 40); //За везение !
      break;
    case 9:
      myOLED.print(F("PF HJLBYE !"), CENTER, 40); //За родину !
      break;
    case 10:
      myOLED.print(F("PF YFC C DFVB"), CENTER, 38); //За нас с вами
      myOLED.print(F("B {HTY C YBVB !"), CENTER, 55); //И хрен с ними
      break;

  }
  myOLED.update();

}
*/
  void Tost() {
  randomSeed(currentTime);
  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print(F("YE?"), CENTER, 20); //НУ,
  // Рандом - 1
  switch (random(17)) {
    case 0:
      myOLED.print(F("PF DCNHTXE!"), CENTER, 40); //ЗА ВСТРЕЧУ!
      mp3_play (2);  // Проигрываем "mp3/0002.mp3"
    delay(100);
    mp3_stop();
    break;
    case 1:
      myOLED.print(F("PF RHFCJNE!"), CENTER, 40); //ЗА КРАСОТУ!
      mp3_play (3);  // Проигрываем "mp3/0003.mp3"
    delay(100);
    mp3_stop();
    break;
  case 2:
      myOLED.print(F("PF LHE;,E!"), CENTER, 40); //ЗА ДРУЖБУ!
      mp3_play (4);  // Проигрываем "mp3/0004.mp3"
    delay(100);
    mp3_stop();
    break;
  case 4:
      myOLED.print(F("PF ,HFNCNDJ!"), CENTER, 40); //ЗА БРАТСТВО!
      mp3_play (5);  // Проигрываем "mp3/0005.mp3"
    delay(100);
    mp3_stop();
    break;
  case 5:
      myOLED.print(F("PF"), CENTER, 38); //за
    myOLED.print(F("CGHFDTLKBDJCNM!"), CENTER, 55); //СПРАВЕДЛИВОСТЬ!
      mp3_play (6);  // Проигрываем "mp3/0006.mp3"
    delay(100);
    mp3_stop();
    break;
    case 6:
      myOLED.print(F("PF HS,FKRE!"), CENTER, 40); //ЗА РЫБАЛКУ!
      mp3_play (7);  // Проигрываем "mp3/0007.mp3"
    delay(100);
    mp3_stop();
    break;
  case 7:
      myOLED.print(F("PF BCRECCNDJ!"), CENTER, 40); //ЗА ИСКУССТВО!
      mp3_play (8);  // Проигрываем "mp3/0008.mp3"
    delay(100);
    mp3_stop();
    break;
  case 8:
      myOLED.print(F("PF HFPEV!"), CENTER, 40); //ЗА РАЗУМ!
      mp3_play (9);  // Проигрываем "mp3/0009.mp3"
    delay(100);
    mp3_stop();
    break; 
  case 9:
      myOLED.print(F("PF BCNBYYS["), CENTER, 38); //ЗА ИСТИННЫХ
    myOLED.print(F(";tyoby!"), CENTER, 55); //ЖЕНЩИН!
      mp3_play (10);  // Проигрываем "mp3/0010.mp3"
    delay(100);
    mp3_stop();
    break;
  case 10:
      myOLED.print(F("PF GJYBVFYBT!"), CENTER, 40); //ЗА ПОНИМАНИЕ!
      mp3_play (11);  // Проигрываем "mp3/0011.mp3"
    delay(100);
    mp3_stop();
    break;
  case 11:
      myOLED.print(F("PF TLBYTYBT!"), CENTER, 40); //ЗА ЕДИНЕНИЕ!
      mp3_play (13);  // Проигрываем "mp3/0013.mp3"
    delay(100);
    mp3_stop();
    break;
  case 12:
      myOLED.print(F("PF GJ,TLE!"), CENTER, 40); //ЗА ПОБЕДУ!
      mp3_play (16);  // Проигрываем "mp3/0016.mp3"
    delay(100);
    mp3_stop();
    break;
  case 13:
      myOLED.print(F("PF HJLBYE!"), CENTER, 40); //ЗА РОДИНУ!
      mp3_play (21);  // Проигрываем "mp3/0021.mp3"
    delay(100);
    mp3_stop();
    break;
  case 14:
      myOLED.print(F("XNJ, UJKJDF"), CENTER, 38); //ЧТОБ ГОЛОВА
    myOLED.print(F("YT NHTOFKF!"), CENTER, 55); //НЕ ТРЕЩАЛА!
      mp3_play (17);  // Проигрываем "mp3/0017.mp3"
    delay(100);
    mp3_stop();
    break;
  case 15:
      myOLED.print(F("PF CJKBLYJT"), CENTER, 38); //ЗА СОЛИДНОЕ
    myOLED.print(F("VE;CRJT VJKXFYBT"), CENTER, 55); //МУЖСКОЕ МОЛЧАНИЕ
      mp3_play (12);  // Проигрываем "mp3/0012.mp3"
    delay(100);
    mp3_stop();
    break;
  case 16:
      myOLED.print(F("XNJ, VJHOBKJ"), CENTER, 38); //ЧТОБ МОРЩИЛО
    myOLED.print(F("YFC VTYMIT!"), CENTER, 55); //НАС МЕНЬШЕ!
      mp3_play (18);  // Проигрываем "mp3/0018.mp3"
    delay(100);
    mp3_stop();
    break;
  case 17:
      myOLED.print(F("XNJ, D CNJHJYE"), CENTER, 38); //ЧТОБ В СТОРОНУ
    myOLED.print(F("YT DBKMYEKJ!"), CENTER, 55); //НЕ ВИЛЬНУЛО!
      mp3_play (19);  // Проигрываем "mp3/0019.mp3"
    delay(100);
    mp3_stop();
    break;      
  }
  myOLED.update();

}

// Меню Авто режим
void oled_auto(int Drink) {

  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print(F("F D N J"), CENTER, 0);
  myOLED.print(F("VK   "), RIGHT, 27);
  DrinkInfo(57);
  //  myOLED.print(DrinkInfo[map(Drink, 2, max_Drink, 0, 4)], CENTER, 57);
  myOLED.setFont(MegaNumbers);
  myOLED.print(String(Drink), CENTER, 13);
  myOLED.update();
}

// Меню Ручной режим
void oled_manual(int DrinkCount, int Drink) {

  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print(F("H E X Y J Q"), CENTER, 0); //Р У Ч Н О Й 
  DrinkInfo(57);
  // myOLED.print(DrinkInfo[map(Drink, 2, max_Drink, 0, 4)], CENTER, 57);
  myOLED.print(F("H>V"), 24, 27);
  myOLED.print(F("VK "), RIGHT, 27);
  myOLED.setFont(MegaNumbers);
  myOLED.print(String(DrinkCount), LEFT, 13);
  myOLED.print(String(Drink), (Drink < 10) ? 80 : 57, 13);
  myOLED.update();
}


void oled_naliv(int MenuFlag) {
  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print((MenuFlag == 1) ? F("F D N J") : F("H E X Y J Q") , CENTER, 0); // А В Т О    Р У Ч Н О Й 

  myOLED.print(F("Y F K B D F > "), CENTER, 27); //Н А Л И В А Ю
  DrinkInfo(47);
  myOLED.update();
}

void oled_nalito(int MenuFlag, int Nalito) {
  myOLED.clrScr();
  myOLED.setFont(RusFont);
  myOLED.print((MenuFlag == 1) ? F("F D N J") : F("H E X Y J Q") , CENTER, 0);
  myOLED.print(F("Y F K B N J"), CENTER, 20); //Н А Л И Т О
  if (Nalito == 1) {
    myOLED.print(F("H > V R F"), CENTER, 55); //РЮМКА
  } else if (Nalito <= 4 ) {
    myOLED.print(F("H > V R B"), CENTER, 55); //РЮМКИ
  } else {
    myOLED.print(F("H > V J R"), CENTER, 55); //РЮМОК
  }

  myOLED.setFont(SmallFont);
  myOLED.print(String(Nalito), CENTER, 36);
  myOLED.update();
}

void ServoNaliv(byte rumka) {
  servo.attach(PIN_SERVO);
  for (int pos = servo.read(); pos <= Rumka_pos[rumka]; pos += 1) { 
    // с шагом в 1 градус
    servo.write(pos); // даем серве команду повернуться в положение, которое задается в переменной 'pos'
    delay(servo_speed); // ждем , пока ротор сервы выйдет в заданную позицию
  }
  servo.detach();


}

void ServoParking () {
  //Serial.println(servo.read());
  servo.attach(PIN_SERVO);
  for (int pos = servo.read();  pos >= 0; pos -= 1) {
    // с шагом в 1 градус
    servo.write(pos); // даем серве команду повернуться в положение, которое задается в переменной 'pos'
    delay(servo_speed); // ждем , пока ротор сервы выйдет в заданную позицию
  }
  servo.detach();
}

void CvetoMuzik() {
  for (int i = 0; i <= 7; i++) {
    for (int y = 0; y < max_DrinkCount; y++) {
      strip.setPixelColor(y, strip.Color(255, 0, 0));
      strip.show();
      delay(30);
    }
    for (int y = 0; y < max_DrinkCount; y++) {
      strip.setPixelColor(y, strip.Color(0, 255, 0));
      strip.show();
      delay(30);
    }
    for (int y = 0; y < max_DrinkCount; y++) {
      strip.setPixelColor(y, strip.Color(0, 0, 255));
      strip.show();
      delay(30);
    }
  }
}

void setup()  {
  Serial.begin(9600);//
  //устанавливаем Serial порт МП3 плейера если вывод в монитор TX(D0) и RX(D1)не нужен 
  mp3_set_serial (Serial);//инициализируем Serial порт МП3 плейера
  /*  
  при необходимости создаем програмный порт для управдения МП3 плейером, если вывод в монитор TX(D0) RX(D1) необходим
  SoftwareSerial mySoftwareSerial(10, 11); // RX, TX  обозначаем програмный порт как mySoftwareSerial
  //плейер подключаем D10 D11
  mySoftwareSerial.begin(9600);//инициализируем програмный Serial порт 
  mp3_set_serial (mySoftwareSerial);// указываем програмный порт для МП3 плейера
  //инициализируем Serial с скоростью 115200, если вывод в монитор  TX(D0) RX(D1) необходим 
  Serial.begin(115200);
  */  
  delay (100);//Между двумя командами необходимо делать задержку 100 миллисекунд, в противном случае некоторые команды могут работать не стабильно.
  mp3_set_volume (25);// устанвливаем громкость 25
  delay (100);
  mp3_play (1); // Проигрываем "mp3/0001.mp3"(0001_get started!.mp3)
  delay (100);
  //   Volume=EEPROM.read(0);
  myOLED.begin(); // Инициализация дисплея
  // выводим привествие после включения перед наливом
  myOLED.clrScr();  
  myOLED.setFont(RusFont);
  myOLED.print(F("Ye? yfxfkb!"), CENTER, 50);// Ну, начали!
  myOLED.update(); 
  pinMode(pin_SW, INPUT); // устанавливаем pin pin_SW как вход
  digitalWrite(pin_SW, HIGH); // Поддяжка вывода к 1
  pinMode(pin_A, INPUT);
  pinMode(pin_B, INPUT);
  pinMode(PIN_PUMP, OUTPUT);
  digitalWrite(PIN_PUMP, 0);
  currentTime = millis();
  loopTime = currentTime;
  //---------------

  oled_menu(0);
  strip.begin();
  for (int i = 0; i < 5; i++) {
    pinMode(Optics[i], INPUT);
  }
  ServoParking();

}

void loop()  {
  currentTime = millis();
  if (currentTime >= (loopTime + 5)) { // проверяем каждые 5мс

    //     int  val = analogRead(0);     // считываем значение
    //  Serial.println(val);
    encoder_A = digitalRead(pin_A);     // считываем состояние выхода А энкодера
    encoder_B = digitalRead(pin_B);     // считываем состояние выхода B энкодера
    if ((!encoder_A) && (encoder_A_prev)) {  // если состояние изменилось с положительного к нулю

      //Вращение влево
      if (encoder_B) {
        if (MenuFlag == 0) {
          (Menu <= 0 ) ? Menu = 2 : Menu--; // Перемещение курсора по главному меню назад
          oled_menu(Menu);
        } else if (MenuFlag == 1) {
          (Drink <= min_Drink ) ? Drink = max_Drink : Drink--; // Уменьшаем кол-во милилитров в рюмку
          oled_auto(Drink);
        } else if (MenuFlag == 2) {
          (DrinkCount >= max_DrinkCount ) ? DrinkCount = 1 : DrinkCount++; // Влево увечичиваем рюмки для ручного режима
          oled_manual(DrinkCount, Drink);
        }
        //Вращение вправо
      } else {
        if (MenuFlag == 0) {
          (Menu >= 2 ) ? Menu = 0 : Menu++; // Перемещение курсора по главному меню вперед.
          oled_menu(Menu);
        } else if (MenuFlag == 1) {
          (Drink >= max_Drink ) ? Drink = min_Drink : Drink++;
          oled_auto(Drink);
        } else if (MenuFlag == 2) {
          (Drink >= max_Drink ) ? Drink = min_Drink : Drink++;
          oled_manual(DrinkCount, Drink);
        }
      }

    }

    encoder_A_prev = encoder_A;     // сохраняем значение А для следующего цикла

    int encoder_sw = digitalRead(pin_SW);
    if  (encoder_sw == 0 && encoder_sw != encoder_sw_prew)  { // Нажата кнопка

      int pause_sw = 0;
      boolean promivka = false;
      while (digitalRead(pin_SW) == 0) { // Держим кнопку. Считаем сколько времени прошло...
        delay(100);
        pause_sw++;
        if (pause_sw > 20 && Menu != 2 ) break;

        if (pause_sw > 20 && Menu == 2 && promivka == false) { // Если пункт меню промывка и держим кнопку больше 2 секунд.
          promivka = true;
          pump_enable(); // Включаем насос
          myOLED.clrScr();
          myOLED.setFont(RusFont);
          myOLED.print(F("G H J V S D R F"), CENTER, 15); // П Р О М Ы В К А
          myOLED.print(F(". . ."), CENTER, 45);
          myOLED.update();
        }
      }

      //После отпускания кнопки , обрабатываем
      if (promivka == true) { //Отпустили кнопку. Если включена промывка, выключаем насос и возвращаемся в главное меню
        promivka = false;
        pump_disable() ; //Выключаем насос
        oled_menu(2);

      } else {
        //Обработка всех нажатий кнопки
        if (Menu == 0 && MenuFlag == 0 &&  pause_sw < 10) { //Нажатие кнопки меню авто
          MenuFlag = 1;
          oled_auto(Drink);
        } else if (MenuFlag == 1 && pause_sw > 20) { //Выход из меню авто в главное
          MenuFlag = 0;
          oled_menu(0);
        } else if (MenuFlag == 1 ) { //Начинается автоматический разлив
          Serial.println("Начало автоматического разлива");
          oled_naliv(MenuFlag); // Выводим на экран наливаем ...
          byte drink_count = 0;
          for (int y = 0; y < max_DrinkCount; y++) {
            if (analogRead(Optics[y]) > Optics_porog[y] ) {
              strip.setPixelColor(y, strip.Color(255, 0, 0)); // Подствечиваем красным цветом
              strip.show();
              ServoNaliv(y); // Перемещяемся к рюмке
              pump_timer(Drink); // Налив.
              strip.setPixelColor(y, strip.Color(0, 255, 0)); // Подствечиваем зеленым , налито.
              strip.show();
              drink_count++;
            }
          }
          if (drink_count > 0) {
            oled_nalito(MenuFlag, drink_count );
            ServoParking();
            delay(1000);
            Tost();
            CvetoMuzik();
            oled_auto(Drink);
          } else {
            myOLED.clrScr();
            myOLED.setFont(RusFont);
            myOLED.print(F("YTN H>VJR !"), CENTER, 25); //НЕТ РЮМОК !
            myOLED.update();
            delay(2000);
            oled_auto(Drink);

          }
        } else if (Menu == 1 && MenuFlag == 0 &&  pause_sw < 10) { // Нажатие меню ручное
          MenuFlag = 2;
          oled_manual(DrinkCount, Drink);
        } else if (MenuFlag == 2 && pause_sw > 20) { //Выход из меню ручное в главное
          MenuFlag = 0;
          oled_menu(1);
        } else if (MenuFlag == 2 ) { //Начинается ручной разлив
          //  Serial.println("Начало ручного разлива " + String(DrinkCount));
          oled_naliv(MenuFlag); // Выводим на экран наливаем ...
          for (int y = 0; y < DrinkCount; y++) {
            strip.setPixelColor(y, strip.Color(255, 0, 0)); // Подствечиваем красным цветом
            strip.show();
            ServoNaliv(y); // Перемещяемся к рюмке
            pump_timer(Drink); // Налив.
            strip.setPixelColor(y, strip.Color(0, 255, 0)); // Подствечиваем зеленым , налито.
            strip.show();
          }
          oled_nalito(MenuFlag, DrinkCount );
          ServoParking();
          Tost();
          CvetoMuzik();
          oled_manual(DrinkCount, Drink);
        }
      }
    }

    if (currentTime >= (ledTime + 300)) {
      //Опрашиваем оптопары ... Если рюмка поставлена , светодиод светится синим, нет ничего - не светится
      for (int i = 0; i < max_DrinkCount; i++) {
        
        int val = analogRead(Optics[i]);     // считываем значение
        Serial.println(val);
        if (val > Optics_porog[i]) {
          strip.setPixelColor(i, strip.Color(0, 0, 255));
        } else {
          strip.setPixelColor(i, strip.Color(0, 0, 0));
        }
    //    delay(20);

      }
      strip.show();
      ledTime = currentTime;
    }
    encoder_sw_prew = encoder_sw;
    loopTime = currentTime;

  }
}
 
 
помогите загрузить!что я делаю не так?
Ошибка компиляции для платы Arduino Nano.
raven78
Offline
Зарегистрирован: 03.11.2019

vovan47 пишет:

Ошибка компиляции для платы Arduino Nano.

 

А где ошибка, которую выдаёт IDE? Скопируйте её сюда

vuster
Offline
Зарегистрирован: 11.11.2019

vovan47 пишет:


 
помогите загрузить!что я делаю не так?
Ошибка компиляции для платы Arduino Nano.

удали первую и третью строку они лишние, так как написаны не правильно, они с маленькой буквой начинается название библиотеки-это не правильно

vuster
Offline
Зарегистрирован: 11.11.2019

эти библиотеки ниже дублируются

vovan47
Offline
Зарегистрирован: 16.09.2019
Arduino: 1.8.10 (Windows 10), Плата:"Arduino Nano, ATmega328P (Old Bootloader)"

C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\Вован\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10810 -build-path C:\Users\D7C8~1\AppData\Local\Temp\arduino_build_564788 -warnings=none -build-cache C:\Users\D7C8~1\AppData\Local\Temp\arduino_cache_224209 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino
C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\Вован\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10810 -build-path C:\Users\D7C8~1\AppData\Local\Temp\arduino_build_564788 -warnings=none -build-cache C:\Users\D7C8~1\AppData\Local\Temp\arduino_cache_224209 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino
Using board 'nano' from platform in folder: C:\Program
Using core 'arduino' from platform in folder: C:\Program
Detecting libraries used...
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for dfplayer_mini_mp3.h: [DFPlayer_Mini_Mp3]
ResolveLibrary(dfplayer_mini_mp3.h)
  -> candidates: [DFPlayer_Mini_Mp3]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for SoftwareSerial.h: [SoftwareSerial@1.0]
ResolveLibrary(SoftwareSerial.h)
  -> candidates: [SoftwareSerial@1.0]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for adafruit_neopixel.h: [Adafruit_NeoPixel@1.2.4]
ResolveLibrary(adafruit_neopixel.h)
  -> candidates: [Adafruit_NeoPixel@1.2.4]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for OLED_I2C.h: [OLED_I2C]
ResolveLibrary(OLED_I2C.h)
  -> candidates: [OLED_I2C]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for Servo.h: [Servo@1.1.5]
ResolveLibrary(Servo.h)
  -> candidates: [Servo@1.1.5]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3\\dfplayer_mini_mp3.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src\\SoftwareSerial.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel\\adafruit_neopixel.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel\\esp8266.c" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C\\DefaultFonts.c" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C\\OLED_I2C.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\avr\\Servo.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\megaavr\\Servo.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\nrf52\\Servo.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\sam\\Servo.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\samd\\Servo.cpp" -o nul
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Program Files\\Arduino\\libraries\\Servo\\src\\stm32f4\\Servo.cpp" -o nul
Generating function prototypes...
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Компиляция скетча...
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Program Files\\Arduino\\libraries\\DFPlayer_Mini_Mp3" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "-IC:\\Program Files\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp.o"
In file included from C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino:9:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/DFPlayer_Mini_Mp3.h:45:20: error: redefinition of 'uint8_t send_buf [10]'

 uint8_t send_buf[10] = {

                    ^

In file included from C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino:1:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/dfplayer_mini_mp3.h:45:9: note: 'uint8_t send_buf [10]' previously defined here

 uint8_t send_buf[10] = {

         ^~~~~~~~

In file included from C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino:9:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/DFPlayer_Mini_Mp3.h:47:20: error: redefinition of 'uint8_t recv_buf [10]'

 uint8_t recv_buf[10];

                    ^

In file included from C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino:1:0:

C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3/dfplayer_mini_mp3.h:47:9: note: 'uint8_t recv_buf [10]' previously declared here

 uint8_t recv_buf[10];

         ^~~~~~~~

Несколько библиотек найдено для "dfplayer_mini_mp3.h"
 Используется: C:\Program
Несколько библиотек найдено для "SoftwareSerial.h"
 Используется: C:\Program
Несколько библиотек найдено для "adafruit_neopixel.h"
 Используется: C:\Program
Несколько библиотек найдено для "OLED_I2C.h"
 Используется: C:\Users\Вован\Documents\Arduino\libraries\OLED_I2C
Несколько библиотек найдено для "Servo.h"
 Используется: C:\Program
Используем библиотеку DFPlayer_Mini_Mp3 в папке: C:\Program Files\Arduino\libraries\DFPlayer_Mini_Mp3
Используем библиотеку SoftwareSerial версии 1.0 из папки: C:\Program Files\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
Используем библиотеку Adafruit_NeoPixel версии 1.2.4 из папки: C:\Program Files\Arduino\libraries\Adafruit_NeoPixel
Используем библиотеку OLED_I2C в папке: C:\Users\Вован\Documents\Arduino\libraries\OLED_I2C (legacy)
Используем библиотеку Servo версии 1.1.5 из папки: C:\Program Files\Arduino\libraries\Servo
exit status 1
Ошибка компиляции для платы Arduino Nano.

 

vovan47
Offline
Зарегистрирован: 16.09.2019
Arduino: 1.8.10 (Windows 10), Плата:"Arduino Nano, ATmega328P (Old Bootloader)"

C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\Вован\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10810 -build-path C:\Users\D7C8~1\AppData\Local\Temp\arduino_build_564788 -warnings=none -build-cache C:\Users\D7C8~1\AppData\Local\Temp\arduino_cache_224209 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino
C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\Вован\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10810 -build-path C:\Users\D7C8~1\AppData\Local\Temp\arduino_build_564788 -warnings=none -build-cache C:\Users\D7C8~1\AppData\Local\Temp\arduino_cache_224209 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\Вован\Downloads\sketch_nalivator_s_mp3\sketch_nalivator_s_mp3.ino
Using board 'nano' from platform in folder: C:\Program
Using core 'arduino' from platform in folder: C:\Program
Detecting libraries used...
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for OLED_I2C.h: [OLED_I2C]
ResolveLibrary(OLED_I2C.h)
  -> candidates: [OLED_I2C]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for Servo.h: [Servo@1.1.5]
ResolveLibrary(Servo.h)
  -> candidates: [Servo@1.1.5]
"C:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Вован\\Documents\\Arduino\\libraries\\OLED_I2C" "-IC:\\Program Files\\Arduino\\libraries\\Servo\\src" "C:\\Users\\D7C8~1\\AppData\\Local\\Temp\\arduino_build_564788\\sketch\\sketch_nalivator_s_mp3.ino.cpp" -o nul
Alternatives for Adafruit_NeoPixel.h: []
sketch_nalivator_s_mp3:5:10: error: Adafruit_NeoPixel.h: No such file or directory
ResolveLibrary(Adafruit_NeoPixel.h)

  -> candidates: []compilation terminated.


Несколько библиотек найдено для "OLED_I2C.h"
 Используется: C:\Users\Вован\Documents\Arduino\libraries\OLED_I2C
Несколько библиотек найдено для "Servo.h"
 Используется: C:\Program
Используем библиотеку OLED_I2C в папке: C:\Users\Вован\Documents\Arduino\libraries\OLED_I2C (legacy)
Используем библиотеку Servo версии 1.1.5 из папки: C:\Program Files\Arduino\libraries\Servo
exit status 1
Adafruit_NeoPixel.h: No such file or directory

удалил теперь вот так пишет!

vuster
Offline
Зарегистрирован: 11.11.2019

vovan47, я удалил первые две библиотеки, и без проблем скомпилировал и записал на ардуинку нано. Если у тебя выдаёт ошибку значит проблема не в скетче

vovan47
Offline
Зарегистрирован: 16.09.2019

vuster пишет:

vovan47, я удалил первые две библиотеки, и без проблем скомпилировал и записал на ардуинку нано. Если у тебя выдаёт ошибку значит проблема не в скетче

а в чем может быть дело?

raven78
Offline
Зарегистрирован: 03.11.2019

vovan47 пишет:


Adafruit_NeoPixel.h: No such file or directory

удалил теперь вот так пишет!

Библиотека Adafruit NeoPixel не установлена

vovan47
Offline
Зарегистрирован: 16.09.2019

raven78 пишет:

vovan47 пишет:


Adafruit_NeoPixel.h: No such file or directory

удалил теперь вот так пишет!

Библиотека Adafruit NeoPixel не установлена

добавляю все библиотеки что просит!и опять пишет что компиляция невозможна

vovan47
Offline
Зарегистрирован: 16.09.2019

vovan47 пишет:

raven78 пишет:

vovan47 пишет:


Adafruit_NeoPixel.h: No such file or directory

удалил теперь вот так пишет!

Библиотека Adafruit NeoPixel не установлена

добавляю все библиотеки что просит!и опять пишет что компиляция невозможна

может не правильна установил библиотеки?

vuster
Offline
Зарегистрирован: 11.11.2019

скинь еще раз последний код с ошибкой компиляции

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

vovan47 пишет:

vovan47 пишет:

raven78 пишет:

vovan47 пишет:


Adafruit_NeoPixel.h: No such file or directory

удалил теперь вот так пишет!

Библиотека Adafruit NeoPixel не установлена

добавляю все библиотеки что просит!и опять пишет что компиляция невозможна

может не правильна установил библиотеки?

Уже писалось что компилятор не переваривает кирилицу -юзер (Вован), перенесите директорию ИДЕ в область где кирилица не встречается, библиотеку простым копированием туда же перенесите и путь к скетчу должен быть без кирилицы. Если не поможет пробуйте другую версию ИДЕ

AlexMik
Offline
Зарегистрирован: 15.09.2019

Ворота пишет:

Боюсь, что нет. Понимание у тебя наступит, когда тебя потрут за рекламу посторонних ресурсов. 


Какая глупость.
Во-первых, это я упомянул гаверовскую библиотеку для энкодера.
Во-вторых, я (или кто-нибудь другой) имею право упомянуть любую библиотеку, использование которой мне понравилось. Использовать её или нет "неокрепшим мозгам", - решать самим "мозгам".
Никто ссылки не давал. И ничего не навязывал.
А присваивать себе права модератора не стоит. Вот за это я бы точно выкосил.
И лезть со своими заключениями о компетенции тоже не надо. Как и брызгать слюной там, где тебя никто не просил и не уполномачивал.

Зы: бесят такие умники.

vuster
Offline
Зарегистрирован: 11.11.2019

stpavel пишет:

sadman41 пишет:

Переключить драйвер в микрошаг. Но тогда момент упадет. 

А у вас там скорость налива регулируется? Можно соревнования устраивать - скоростное выпивание. Пять минут и конкурсы закончены.

Там дело не в микрошаге. Стол не рывкам едет, а его покачивает, именно из за тяжелой конструкции сверху. 

Да, дело в том, что фигура на подиуме сильно не закреплена, она просто вставляется в отверстие 1/2, а покачивание-это из-за люфта подшипника

stpavel
Offline
Зарегистрирован: 09.10.2018

vuster пишет:

Да, дело в том, что фигура на подиуме сильно не закреплена, она просто вставляется в отверстие 1/2, а покачивание-это из-за люфта подшипника

Да ,  это я и имел ввиду. Такие мебельные подшипники имеют люфт, и замена драйвера проблему не исправит. Нужно как то переделывать конструкцию в целом, что бы избавиться от покачивания , может быть заменой на более серьезный конический подшипник. 

AlexMik
Offline
Зарегистрирован: 15.09.2019

stpavel пишет:
Реализовал спящий режим наливатора. Для питания от аккумов будет самое то..

Как у тебя с ложными "просыпаниями"?

У меня иногда на одном из энкодеров, например, бывает не может уйти в спящий режим. Т.е. уходит и просыпается тут-же. Снова пытается уйти. И так пока не крутану ручку энкодера.

Все - нормально засыпает и не просыпается до действий с экодером.

Дребезг?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

AlexMik пишет:

У меня иногда на одном из энкодеров, например, бывает не может уйти в спящий режим. Т.е. уходит и просыпается тут-же. Снова пытается уйти. И так пока не крутану ручку энкодера.

Удивительно, правда? 

AlexMik пишет:

Дребезг?

гайвер. 

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

 

Как у тебя с ложными "просыпаниями"?

У меня иногда на одном из энкодеров, например, бывает не может уйти в спящий режим. Т.е. уходит и просыпается тут-же. Снова пытается уйти. И так пока не крутану ручку энкодера.

Все - нормально засыпает и не просыпается до действий с экодером.

Дребезг?

не наблюдал такой проблемы.

AlexMik
Offline
Зарегистрирован: 15.09.2019

DetSimen пишет:
AlexMik пишет:
Дребезг?
гайвер.

Ну не будем так поспешны с выводами )

Тем более, что проблема решена и спим сладко.. С библиотекой.. ))

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

DetSimen пишет:
AlexMik пишет:
Дребезг?
гайвер.

Ну не будем так поспешны с выводами )

Тем более, что проблема решена и спим сладко.. С библиотекой.. ))

Так все таки с библиотекой проблема была ?

AlexMik
Offline
Зарегистрирован: 15.09.2019

stpavel пишет:

AlexMik пишет:

DetSimen пишет:
AlexMik пишет:
Дребезг?
гайвер.

Ну не будем так поспешны с выводами ) Тем более, что проблема решена и спим сладко.. С библиотекой.. ))

Так все таки с библиотекой проблема была ?

Конечно нет ) Забыл отладочную строку удалить. Библиотека как часы работает. И это не реклама (для мегатестировщиков). 

stpavel
Offline
Зарегистрирован: 09.10.2018

AlexMik пишет:

Конечно нет ) Забыл отладочную строку удалить. Библиотека как часы работает. И это не реклама (для мегатестировщиков). 

Угу ) Тоже нравится эта библиотечка. Я так понимаю здесь для некоторых слово гувер как красная тряпка для быка.
 

sadman41
Offline
Зарегистрирован: 19.10.2016

stpavel пишет:

Такие мебельные подшипники имеют люфт, и замена драйвера проблему не исправит. 

Проблему люфта - нет, но другие - да. 

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Gridzilla пишет:
Местный глюк ардуинки. У братца взял про мини, с ней все нормально. С другой нано тоже работает. Просто не было в наличии других. Странно, но остальные скетчи работают с ней. Только этот на этой ардуине нано... Мистика.. Без 0.5 не разобраться... П С. При прошивке все отключал.

Приобрел Нано с шидлдом под Уно, для макетирования. Нано видать сильно глючная, глючная в монитор порта выдаёт всякие кракозябры, ни с одним скетчем кроме самых простеньких работать не хочет, все порты цифровые и аналоговые рабочие, каждый по отдельности проверял. Коллеги подскажите сразу в печку или что то сделать можно кроме значка?

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Есть предложение. Добавить в скетч с ОЛЕД отображение батарейки, емкость акума. При этом запитывать саму ардуинку от акума 3,7В, а всю периферию от повышающего модуля +5В. Замеры напряжения и отображение символов на ОЛЕД  есть в этом скетче

//FM Radio OLED Copyright by GhostLion v1.6 GOLD

#include <EEPROM.h>
#include <radio.h>
#include <RDA5807M.h>

#include "U8glib.h"
#include "rus6x10.h"
#include "MyDigitsHelveticaBold24.h"

#define Pin_DOWN 4   // левая кнопка 
#define Pin_UP 2     // правая кнопка 
#define Pin_SET 3    // центральная кнопка
#define FIX_BAND 1

const uint8_t Radio [] U8G_PROGMEM = {0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0x40, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xC0, 0x01, 0x80,0x00, 0x00, 0xC0, 0x01, 0x8E, 0x88, 0x00, 0xC0, 0x01, 0x88, 0xD8, 0x00, 
0xC0, 0x01, 0x88, 0xA8,0x00, 0xC0, 0x01, 0x8C, 0xA8, 0x00, 0xC0, 0x01, 0x88, 0xA8, 0x00, 0xC0, 0x01, 0x80, 0x00, 0x00,0xC0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x81, 0x04, 0x10, 0x41, 0x05, 0x81, 0x04, 0x10, 
0x41,0x05, 0x95, 0x55, 0x55, 0x55, 0x55, 0x95, 0x55, 0x55, 0x55, 0x55, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80,0x00, 0x00, 
0xF8, 0x01, 0x80, 0x00, 0x03, 0xFE, 0x01, 0x80, 0x00, 0x07, 0x03, 0x01, 0x80, 0x00,0x0C, 0x01, 0x81, 0x80, 0x60, 0x18, 0x00, 0xC1, 0x81, 0xF8, 0x18, 0x00, 0x41, 0x83, 0x9C, 0x10,0x00, 0x61, 0x83, 0x0C, 0x30, 
0x00, 0x61, 0x83, 0x0C, 0x30, 0x00, 0x61, 0x83, 0x0C, 0x30, 0x00,0x61, 0x83, 0x9C, 0x10, 0x00, 0x61, 0x81, 0xF8, 0x18, 0x00, 0x41, 0x80, 0x60, 0x18, 0x00, 0xC1,0x80, 0x00, 0x0C, 0x01, 0x81, 0x80, 0x00, 0x07, 
0x03, 0x01, 0x80, 0x00, 0x03, 0xFE, 0x01, 0x80,0x00, 0x00, 0xF8, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00,0x00, 0x00, 0x02, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC};

const uint8_t Volume[] U8G_PROGMEM = {0x7E, 0x42, 0x81, 0x81, 0x81, 0x81, 0xE7, 0xE7, 0x66, 0x66};
const uint8_t Bass[] U8G_PROGMEM = {0x7F, 0xFE, 0x80, 0x01, 0x9B, 0x8D, 0xA2, 0x51, 0xA3, 0x91, 0x9A, 0x4D, 0x8A, 0x45, 0xB3, 0x99,0x80, 0x01, 0x7F, 0xFE};
const uint8_t FM[] U8G_PROGMEM = {0x7F, 0xFE, 0x80, 0x01, 0x8C, 0x51, 0x90, 0xA9, 0x90, 0xA9, 0x98, 0xA9, 0x90, 0xA9, 0x90, 0x89,0x80, 0x01, 0x7F, 0xFE};
const uint8_t Stereo[] U8G_PROGMEM = {0x7F, 0xFE, 0x80, 0x01, 0x9B, 0xB9, 0xA1, 0x25, 0xA1, 0x39, 0x99, 0x31, 0x89, 0x29, 0xB1, 0x25,0x80, 0x01, 0x7F, 0xFE};
const uint8_t SM[] U8G_PROGMEM = {0x7F, 0xFE, 0x80, 0x01, 0x8C, 0x51, 0x90, 0xA9, 0x90, 0xA9, 0x8C, 0xA9, 0x84, 0xA9, 0x98, 0x89,0x80, 0x01, 0x7F, 0xFE};

const uint8_t Bat1[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat2[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xA0, 0x01, 0xA0, 0x01, 0xA0, 0x01, 0xA0, 0x01, 0xA0, 0x01, 0xA0, 0x01,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat3[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xA8, 0x01, 0xA8, 0x01, 0xA8, 0x01, 0xA8, 0x01, 0xA8, 0x01, 0xA8, 0x01,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat4[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xAA, 0x01, 0xAA, 0x01, 0xAA, 0x01, 0xAA, 0x01, 0xAA, 0x01, 0xAA, 0x01,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat5[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xAA, 0x81, 0xAA, 0x81, 0xAA, 0x81, 0xAA, 0x81, 0xAA, 0x81, 0xAA, 0x81,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat6[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xAA, 0xA1, 0xAA, 0xA1, 0xAA, 0xA1, 0xAA, 0xA1, 0xAA, 0xA1, 0xAA, 0xA1,0x80, 0x02, 0x7F, 0xFC};
const uint8_t Bat7[] U8G_PROGMEM = {0x7F, 0xFC, 0x80, 0x02, 0xAA, 0xA9, 0xAA, 0xAD, 0xAA, 0xAD, 0xAA, 0xAD, 0xAA, 0xAD, 0xAA, 0xA9,0x80, 0x02, 0x7F, 0xFC};

const uint8_t Vol1[] U8G_PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x60, 0x00, 0x60, 0x00};
const uint8_t Vol2[] U8G_PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00,0x6C, 0x00, 0x6C, 0x00};
const uint8_t Vol3[] U8G_PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x0D, 0x80, 0x0D, 0x80,0x6D, 0x80, 0x6D, 0x80};
const uint8_t Vol4[] U8G_PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x01, 0xB0, 0x01, 0xB0, 0x0D, 0xB0, 0x0D, 0xB0,0x6D, 0xB0, 0x6D, 0xB0};
const uint8_t Vol5[] U8G_PROGMEM = {0x00, 0x06, 0x00, 0x06, 0x00, 0x36, 0x00, 0x36, 0x01, 0xB6, 0x01, 0xB6, 0x0D, 0xB6, 0x0D, 0xB6,0x6D, 0xB6, 0x6D, 0xB6};

byte v,k,m,rs, flag1=1,flag2=0,flag3=0;
int Voltage;
unsigned int s,s2;
boolean b,ms,sm,flag=1,MODE=1;
long TimeOut;

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);
RDA5807M radio; 

void setup()
{
pinMode(Pin_DOWN,INPUT_PULLUP);
pinMode(Pin_UP,INPUT_PULLUP);
pinMode(Pin_SET,INPUT_PULLUP); 

Inicial();
}

void loop()
{
Parsing();
Menu();
Energy();  
}
//==============================================
void Inicial()
{
 u8g.firstPage();  
do {
  u8g.drawBitmapP (5, 16, 5, 40, Radio);
  u8g.setFont(rus6x10);
  u8g.setPrintPos(40,11);u8g.print(F("FM РАДИО"));
  u8g.setPrintPos(55,45);u8g.print(F("v 1.6 GOLD"));
  u8g.setPrintPos(55,55);u8g.print(F("By GhostLion"));  
   }
while( u8g.nextPage() );

delay(1500);
if (EEPROM[0]!=1)
    {
     EEPROM[0]=1;
     EEPROM[1]=5;
     EEPROM[2]=9; // здесь установить номер текущего канала (моя частота 91.20 "Эхо Москвы") (или 0)
     EEPROM[3]=1;
     EEPROM[4]=1;
     EEPROM[5]=0;
     EEPROM[6]=91;  // частота текущей радиостанции
     EEPROM[7]=20;  // "Эхо Москвы"
     EEPROM[8]=1;
    }
v  = EEPROM[1];               // громкость
k  = EEPROM[2];               // текущий канал
m  = EEPROM[3];               // текущее меню
b  = EEPROM[4];               // супербасс
ms = EEPROM[5];               // моно/стерео
s  = EEPROM[6]*100+EEPROM[7]; // текущая частота
sm = EEPROM[8];               // softmute
s2=s;
radio.init();
radio.setVolume(v);
radio.setMono(ms);
radio.setMute(false);
radio.setBassBoost(b);
radio.setSoftMute(sm);  
radio.setBandFrequency(FIX_BAND, s);
readVcc();
}
//================================================
void Parsing()
{
boolean SET=digitalRead(Pin_SET);
boolean UP=digitalRead(Pin_UP);
boolean DOWN=digitalRead(Pin_DOWN);

if(SET==HIGH && flag1==0)
  {
    flag1=1;
  }
if(SET==LOW && flag1==1)
  {
    flag1=0;
    TimeOut=millis();
    if(MODE==1) {m++; flag=1; if(m>7) m=1;}
  }
  
 if(UP==LOW && flag2==1)
  {
    flag2=0;
  }
   if(UP==HIGH && flag2==0)
   {
    if(MODE==1)
    {
    switch(m)
      {
        case 1:{ (v==15?0:v++); radio.setVolume(v); break; }
        case 2:{ b = 1; radio.setBassBoost(b); radio.setBandFrequency(FIX_BAND,s); break; }
        case 3:{ ms = 0; radio.setMono(ms); radio.setBandFrequency(FIX_BAND,s); break; }
        case 4:{sm = 1; radio.setSoftMute(true);radio.setBandFrequency(FIX_BAND,s); break;}
        case 5:{ radio.seekUp(true); delay(3000); s = radio.getFrequency(); Kanal(); break; }
        case 6:{ s=s+10; if (s > 10800) s = 8700; delay(100); radio.setBandFrequency(FIX_BAND,s);Kanal(); break; }
        case 7:{ k++; if (k>51) k=1; Frequency(); radio.setBandFrequency(FIX_BAND,s); break;}
      }
   flag=1;
   TimeOut=millis();
    }
   else {(v==15?0:v++);radio.setVolume(v);}
   flag2=1;
   }
   if(DOWN==LOW && flag3==1)
  {
    flag3=0;
  }
   if(DOWN==HIGH && flag3==0)
   {
    if(MODE==1)
    {
    switch(m)
      {
        case 1:{ (v==0?15:v--); radio.setVolume(v); break; }
        case 2:{ b = 0; radio.setBassBoost(b); radio.setBandFrequency(FIX_BAND,s); break; }
        case 3:{ ms = 1; radio.setMono(ms); radio.setBandFrequency(FIX_BAND,s); break; }
        case 4:{sm = 0; radio.setSoftMute(false);radio.setBandFrequency(FIX_BAND,s); break;}
        case 5:{ radio.seekDown(true); delay(3000); s=radio.getFrequency(); Kanal(); break; }
        case 6:{ s=s-10; if (s<8700) s=10800; delay(100); radio.setBandFrequency(FIX_BAND,s); Kanal(); break; }
        case 7:{ k--; if (k<1) k=51; Frequency(); radio.setBandFrequency(FIX_BAND,s); break;}
      }
   flag=1;
   TimeOut=millis();
   }
   else {(v==0?15:v--);radio.setVolume(v);}
   flag3=1;
  }
}
//================================================
void Menu()
{
float ch;
if(flag==1 && MODE==1)
{
rs = radio.getRSSI();   
ch=float(s)/100; 
u8g.firstPage();  
do {
u8g.setDefaultForegroundColor();
if(Voltage>85) u8g.drawBitmapP (110, 0, 2, 10, Bat7);
  else if(Voltage>70) u8g.drawBitmapP (110, 0, 2, 10, Bat6);
  else if(Voltage>55) u8g.drawBitmapP (110, 0, 2, 10, Bat5);
  else if(Voltage>40) u8g.drawBitmapP (110, 0, 2, 10, Bat4);
  else if(Voltage>25) u8g.drawBitmapP (110, 0, 2, 10, Bat3);
  else if(Voltage>10) u8g.drawBitmapP (110, 0, 2, 10, Bat2);
  else u8g.drawBitmapP (110, 0, 2, 10, Bat1);
u8g.drawBitmapP (0, 0, 1, 10, Volume);
if(v<3) u8g.drawBitmapP (13, 0, 2, 10, Vol1);
  else if(v<7) u8g.drawBitmapP (13, 0, 2, 10, Vol2);
  else if(v<10) u8g.drawBitmapP (13, 0, 2, 10, Vol3);
  else if(v<13) u8g.drawBitmapP (13, 0, 2, 10, Vol4);
  else u8g.drawBitmapP (13, 0, 2, 10, Vol5);
if(ms==0) u8g.drawBitmapP (55, 0, 2, 10, Stereo);
if(b==1) u8g.drawBitmapP (75, 0, 2, 10, Bass);
if(sm==1) u8g.drawBitmapP (35, 0, 2, 10, SM);

u8g.setFont(MyDigitsHelveticaBold24);
if(ch<100) u8g.setPrintPos(30,43); else u8g.setPrintPos(23,43);
u8g.print(ch,1);
u8g.setFont(rus6x10);
u8g.print(" MHz");
if (rs>43) u8g.drawBitmapP (0, 16, 2, 10, FM); 
if(k!=0){
    u8g.drawRFrame (0,32,18,13,2);
    u8g.setPrintPos(3,42);
    if(k<10) u8g.print("0");
    u8g.print(k);
        }
u8g.drawRFrame (0,51,127,12,3);
u8g.setPrintPos(13,61);
 switch(m)
 {
  case 1: {u8g.print(F("- < ГРОМКОСТЬ > +"));break;}
  case 2: {u8g.print(F(" НЕТ < БАСС > ДА"));break;}
  case 3: {u8g.print(F("НЕТ < СТЕРЕО > ДА"));break;}
  case 4: {u8g.print(F("НЕТ < S.MUTE > ДА"));break;}
  case 5: {u8g.print(F(" <  АВТОПОИСК  >"));break;}
  case 6: {u8g.print(F("<  РУЧ. ПОИСК  >"));break;}
  case 7: {u8g.print(F("  <  КАНАЛЫ  >"));break;}
 
 }


}
while( u8g.nextPage() );     
  flag=0;    
}
}
//================================================
void Energy()
{
 if(MODE==1 && millis()-TimeOut>2000) flag=1;
 if(MODE==1 && millis()-TimeOut>8000)
  {
    u8g.sleepOn(); 
    MODE=0;
    if(v!= EEPROM[1]) EEPROM[1] = v;
    if(k!= EEPROM[2]) EEPROM[2] = k;
    if(m!= EEPROM[3]) EEPROM[3] = m;
    if(b!= EEPROM[4]) EEPROM[4] = b;
    if(ms!=EEPROM[5]) EEPROM[5] = ms;
    if(s2!=s){s2=s;   EEPROM[6] = int(s/100); 
                      EEPROM[7] = s%100;
             }
    if(sm!=EEPROM[8]) EEPROM[8] = sm;         
  }
  if(MODE==0 && millis()-TimeOut<500)
  {
    u8g.sleepOff(); 
    readVcc();
    MODE = 1; 
    flag = 1; 
    m = 7;
  }
}
//===================================================
void readVcc() 
{
#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#else
  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#endif
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Start conversion
  while (bit_is_set(ADCSRA, ADSC)); // measuring
  uint8_t low  = ADCL; // must read ADCL first - it then locks ADCH
  uint8_t high = ADCH; // unlocks both
  long result = (high << 8) | low;

  result = 1.080 * 1023 * 1000 / result; // расчёт реального VCC
  Voltage = int(result);
  Voltage = map(Voltage, 3200, 4200, 0, 100);
  Voltage = constrain(Voltage, 0, 100);
}
//=======================================================
void Kanal()
{
  switch (s)
  {
    case 8750 : k=1;break; //Бизнес ФМ
    case 8790 : k=2;break; //Лайк ФМ
    case 8830 : k=3;break; //Ретро ФМ
    case 8870 : k=4;break; //Юмор ФМ
    case 8910 : k=5;break; //Радио Джаз
    case 8950 : k=6;break; //Мегаполис ФМ
    case 8990 : k=7;break; //Страна ФМ
    case 9030 : k=8;break; //Авторадио
    case 9080 : k=9;break; //Релакс ФМ
    case 9120 : k=10;break; //Эхо Москвы
    case 9160 : k=11;break; //Радио Культура
    case 9200 : k=12;break; //Москва ФМ
    case 9240 : k=13;break; //Радио Дача
    case 9280 : k=14;break; //Радио Карнавал
    case 9320 : k=15;break; //Радио Спорт
    case 9360 : k=16;break; //Коммерсант ФМ
    case 9400 : k=17;break; //Восток ФМ
    case 9440 : k=18;break; //Весна ФМ
    case 9480 : k=19;break; //Говорит Москва ФМ
    case 9520 : k=20;break; //Рок ФМ
    case 9560 : k=21;break; //Радио Звезда
    case 9600 : k=22;break; //Дорожное радио
    case 9640 : k=23;break; //Такси ФМ
    case 9680 : k=24;break; //Детское радио
    case 9720 : k=25;break; //Радио КП
    case 9760 : k=26;break; //Радио Вести ФМ
    case 9800 : k=27;break; //Радио Шоколад
    case 9840 : k=28;break; //Новое Радио
    case 9880 : k=29;break; //Радио Романтика
    case 9920 : k=30;break; //Радио Орфей
    case 9960 : k=31;break; //Радио Русский Хит
    case 10010 : k=32;break; //0Серебряный дождь
    case 10050 : k=33;break; //Бест ФМ
    case 10090 : k=34;break; //Радио Вера
    case 10120 : k=35;break; //Радио ДФМ
    case 10170 : k=36;break; //Наше радио
    case 10210 : k=37;break; //Радио Монте Карло
    case 10250 : k=38;break; //Камеди Радио
    case 10300 : k=39;break; //Радио Шансон
    case 10340 : k=40;break; //Маяк
    case 10370 : k=41;break; //Радио Максимум
    case 10420 : k=42;break; //Радио ЭнЭрДжи
    case 10470 : k=43;break; //Радио Семь
    case 10500 : k=44;break; //Радио Книга
    case 10530 : k=45;break; //Радио Капитал
    case 10570 : k=46;break; //Русское радио
    case 10620 : k=47;break; //Европа Плюс
    case 10660 : k=48;break; //Лав радио
    case 10700 : k=49;break; //Радио РСН
    case 10740 : k=50;break; //Хит ФМ
    case 10780 : k=51;break; //Милицейская волна
    default: k=0;
    
  }
}
//==========================================================
void Frequency()
{
 switch(k)
  {
    case 1 :{s=8750;break;}
    case 2 :{s=8790;break;}
    case 3 :{s=8830;break;}
    case 4 :{s=8870;break;}
    case 5 :{s=8910;break;}
    case 6 :{s=8950;break;}
    case 7 :{s=8990;break;}
    case 8 :{s=9030;break;}
    case 9 :{s=9080;break;}
    case 10 :{s=9120;break;}
    case 11 :{s=9160;break;}
    case 12 :{s=9200;break;}
    case 13 :{s=9240;break;}
    case 14 :{s=9280;break;}
    case 15 :{s=9320;break;}
    case 16 :{s=9360;break;}
    case 17 :{s=9400;break;}
    case 18 :{s=9440;break;}
    case 19 :{s=9480;break;}
    case 20 :{s=9520;break;}
    case 21 :{s=9560;break;}
    case 22 :{s=9600;break;}
    case 23 :{s=9640;break;}
    case 24 :{s=9680;break;}
    case 25 :{s=9720;break;}
    case 26 :{s=9760;break;}
    case 27 :{s=9800;break;}
    case 28 :{s=9840;break;}
    case 29 :{s=9880;break;}
    case 30 :{s=9920;break;}
    case 31 :{s=9960;break;}
    case 32 :{s=10010;break;}
    case 33 :{s=10050;break;}
    case 34 :{s=10090;break;}
    case 35 :{s=10120;break;}
    case 36 :{s=10170;break;}
    case 37 :{s=10210;break;}
    case 38 :{s=10250;break;}
    case 39 :{s=10300;break;}
    case 40 :{s=10340;break;}
    case 41 :{s=10370;break;}
    case 42 :{s=10420;break;}
    case 43 :{s=10470;break;}
    case 44 :{s=10500;break;}
    case 45 :{s=10530;break;}
    case 46 :{s=10570;break;}
    case 47 :{s=10620;break;}
    case 48 :{s=10660;break;}
    case 49 :{s=10700;break;}
    case 50 :{s=10740;break;}
    case 51 :{s=10780;break;}
  } 
}

взято отсюда: http://arduino.ru/forum/proekty/karmannoe-fm-radio-na-rda5807-iic-oled-096-i-arduino-pro-mini

там библиотека правда другая, но ардуинщики я думаю разберутся.

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

взято отсюда: http://arduino.ru/forum/proekty/karmannoe-fm-radio-na-rda5807-iic-oled-096-i-arduino-pro-mini

там библиотека правда другая, но ардуинщики я думаю разберутся.

Идея с чтением напряжения прикольная. ) Вот здесь более подробно http://blog.unlimite.net/?p=25

Смущает  насколько стабильно ардуино ( nano в моем случае ) будет работать от 3.7 вольт.

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

Павел, привет! Приемник точно уже пол года работает.

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

Павел, привет! Приемник точно уже пол года работает.

Ну значит будем пробовать ) Аккумы жду....

Forthomo
Forthomo аватар
Offline
Зарегистрирован: 10.04.2019

А у меня с 18.10  посылки не отслеживаются, механикой занимаюсь

stpavel
Offline
Зарегистрирован: 09.10.2018

Forthomo пишет:

А у меня с 18.10  посылки не отслеживаются, механикой занимаюсь

Сейчас у алика новая фишка , они  объединяют посылки в одну , если их несколько. Заказал в конце октября кучу разного хлама, навыдавали различных трекномеров типа LV и прочего толком не отслеживаемого. А сегодня на самом алиэкспрессе в информации об отправках стоит что все эти посылки зарегистрированы в одно и тоже время в россии. Пробил первый попавшийся литовский трек в gdeposilka, мне этот сервис сказал что у вас объеденная посылка и дал реальный трек , который действительно сегодня появился в россии.

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

Forthomo пишет:

А у меня с 18.10  посылки не отслеживаются, механикой занимаюсь


то же самое. 18.10 посылка через ePacet исчезла. открыл спор. козлы, помпа и мп3 были

stpavel
Offline
Зарегистрирован: 09.10.2018

Ну с 18.10 это еще совсем небольшой срок ) Мне некоторые вещи по три месяца шли , а рекорд был 4.5 месяца.

RW3
RW3 аватар
Offline
Зарегистрирован: 07.08.2019

У меня уже вторую помпу возвращают продавцу.Не знаю что делать. Заказывал у разных продавцов.