Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 160 из 223 ПерваяПервая ... 60110150157158159160161162163170210 ... ПоследняяПоследняя
Показано с 1,591 по 1,600 из 2227

Тема: ARDUINO

  1. #1591
    Цитата Сообщение от Tolya Посмотреть сообщение
    пока и не понял..
    Разобрался..помеху даёт модуль часов..


  2. #1592
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Цитата Сообщение от RK9AMX Посмотреть сообщение
    Подключил библиотеку OneWire для работы с датчиками DS18x20. Ничего не выбрасывал из скетча. Добавил: пару переменных, функцию измерения температуры. Включил порты D4 и D5 и поместил в майнлуп пару строк с if'ами. Датчик подключил к порту A2. При достижении температуры 40°С на порту D4 появится единица, при 50°С на D5 появится единица.
    Компилировал для версии 2.29.2
    Версия 2.29.2 экспериментальная, я там пытался сделать компактнее код, сделать часы без модуля DS3231, ну и другие эксперименты. Ее лучше не использовать, там только заготовки подпрограмм.
    Цитата Сообщение от UD6AEN Посмотреть сообщение
    А возможно применить экран 3.5 ILI9486 для измерителя мощности?
    осталась свободная МЕГА от контролера УМ. И размер очень привлекательный.
    Экран просто так не заменишь, это заново писать программу, т.к. для этого индикатора своя библиотека. Как по мне 3.5" ILI9486 избыточен для простого измерителя мощности.

    Добавлено через 8 минут(ы):

    Цитата Сообщение от Tolya Посмотреть сообщение
    Разобрался..помеху даёт модуль часов.
    Скорее всего помеху дает шина I2C, постоянный обмен информации с модуля часов дает такой результат. Видимо к модулю надо обращаться исключительно для синхронизации времени, а основной ход часов сделать без опроса. Тогда при включении время синхронизируется и например каждый час делать синхронизацию. Я так понимаю это проблема на УКВ, в КВ диапазоне пока никто не жаловался.
    Последний раз редактировалось Integral; 01.09.2019 в 13:00.
    Интеграл от человеческих заблуждений - истина, производная - безумие.

  3. Спасибо от RK9AMX

  4. #1593

    Регистрация
    19.01.2010
    Адрес
    Орел
    Сообщений
    307
    Позывной
    R3EZ
    Цитата Сообщение от Integral Посмотреть сообщение
    Я так понимаю это проблема на УКВ, в КВ диапазоне пока никто не жаловался.
    Да как то и на УКВ не жаловались. Измеритель из постов #1569 и 1589 на 144 МГц помех не замечено. При этом использовался YAESU FTDX3000 + трансвертер 28/144 от UR3LMZ с модулем RA60.
    73! Владимир R3EZ ex UA3ECZ

  5. #1594
    Аватар для Integral
    Регистрация
    08.02.2007
    Адрес
    г. Снежное
    Сообщений
    2,926
    Записей в дневнике
    1
    Позывной
    UT0IS/D0ISM
    Цитата Сообщение от Jan Посмотреть сообщение
    Интересная конструкция, хотел бы использовать его 70Mhz PA. Я думаю, что было бы более полезно иметь термометр вместо часов. Это выполнимо?
    Сделал версию с регулировкой температуры. Для этого пришлось выкинуть кусок программы, которая отвечала за автоматический сброс EEPROM памяти при первом включении. Иначе не влазило. Выход регулятора вентилятора порт D4. Задать пределы температуры включения и выключения можно в #define:
    Код:
    #define TFanOn 40.0                                                               //температура включения вентилятора
    #define TFanOff 35.0                                                              //температура выключения вентилятора
    Между параметрами должен быть обязательно гистерезис хотя бы один градус. Выглядит сейчас вот так:

    Нажмите на изображение для увеличения. 

Название:	IMG_20190903_145921.jpg 
Просмотров:	360 
Размер:	558.0 Кб 
ID:	319705 Нажмите на изображение для увеличения. 

Название:	IMG_20190903_152654.jpg 
Просмотров:	286 
Размер:	357.1 Кб 
ID:	319706

    Поскольку автоматический сброс памяти мне пришлось убрать, чтобы впихнуть регулятор температуры, я сделал ручной сброс. После прошивки нужно выполнить очистку памяти EEPROM. Для этого необходимо зажать кнопку на порту D1 и перегрузить устройство. Как только появится надпись "Memory Reset..." кнопку можно отпустить.

    Нажмите на изображение для увеличения. 

Название:	IMG_20190903_153453.jpg 
Просмотров:	283 
Размер:	336.1 Кб 
ID:	319707

    Скетч в приложении.
    Вложения Вложения
    Интеграл от человеческих заблуждений - истина, производная - безумие.

  6. Спасибо от RK9AMX

  7. #1595
    Спасибо попробую новый скетч
    Удачи!

  8. #1596
    Аватар для Alex-31
    Регистрация
    23.08.2014
    Адрес
    Белгородская обл.
    Сообщений
    3,534
    Новинка!

    Новый шилд для Arduino - DABDUINO:
    https://hackaday.io/project/20759-da...arduino-shield
    https://www.tindie.com/products/turb...rduino-shield/
    https://www.arduinolibraries.info/libraries/dabduino

    Если в двух словах:
    - цифровой приёмник диапазонов FM (87.5 - 108MHz) и DAB/DAB+: BAND III (174 - 240 MHz), CHINA BAND, L-BAND (1.452 - 1.492 GHz)
    - аналоговый (RCA stereo) и цифровой (TOSLINK) выход звука
    - рекомендуется плата контроллера на камне STM32 (Nucleo) https://github.com/rogerclarkmelbourne/Arduino_STM32

    Нажмите на изображение для увеличения. 

Название:	dabduino_01.jpg 
Просмотров:	324 
Размер:	115.9 Кб 
ID:	320256
    "Я вообще не понимаю: как можно поручить думать?"


  9. #1597
    Добрый вечер.
    Помогите пожалуйста! Хочу повторить конструкцию ксв и измерителя мощности на Arduino,подскажите какие платы, блоки и т.д необходимо купить. Буду очень благодарен за ссылки на Али...Сильно не пинайте, это будет мой первый опыт с Arduino.
    Предохранитель не воробей - вылетит, не поймаешь.

  10. #1598

    Регистрация
    27.03.2014
    Адрес
    Lithuania
    Сообщений
    22
    Позывной
    LY2F
    Здравствуйте,
    Нужна ваша помощ.Сделал радио на Arduino и RDA5807.Всё работает.Можно ходить по заранее запрограмированным частотам
    при помощи валкодера.Но хочется , чтобы частота последней станции заносилась в память EEPROM,чтобы при следующем включении эта
    последняя станцияи запускалась.
    Я в програмировании совсем неразбираюсь,поэтому прошу вашей помощи.
    Скетч прилагаю.

    #include <EEPROM.h>
    #include <Wire.h>
    #include <radio.h>
    #include <rda5807M.h>
    //Set Station frequences
    RADIO_FREQ preset[24] = {
    8810,9030,9100,9190, 9240,9440,9620,9710, 9760,9800,9850,10040 ,10210,
    10250,10290,10350,10 410,10450,10490,1054 0,10590,10660,10710, 10760
    };
    const int pin_A = 8;
    const int pin_B = 9;
    unsigned char encoder_A;
    unsigned char encoder_B;
    unsigned char encoder_A_prev=0;
    int i_sidx;
    int i_smax=23;
    unsigned int freq;
    unsigned char a,b;
    RDA5807M radio;
    void setup() {
    Serial.begin(57600);
    Wire.begin();
    a = EEPROM.read(5); // Старший байт читаем в переменную a
    b = EEPROM.read(6); // Младший байт читаем в переменную b
    // Serial.println(a);
    // Serial.println(b);
    int freq = word(a, b); // Объединяем a и b в переменную int freq
    // Serial.println(freq) ;
    pinMode(pin_A, INPUT);
    pinMode(pin_B, INPUT);
    radio.init();
    radio.setBandFrequen cy(RADIO_BAND_FM,fre q);
    radio.setMono(false) ;
    radio.setMute(false) ;
    radio.setVolume(10);
    }
    void loop()
    {
    encoder_A = digitalRead(pin_A);
    encoder_B = digitalRead(pin_B);
    if(!encoder_A && encoder_A_prev)
    {
    if(encoder_B)
    {
    i_sidx++;
    if (i_sidx>i_smax){i_si dx=0;}
    radio.setFrequency(p reset[i_sidx]);
    delay(10);
    }
    else
    {
    i_sidx--;
    if (i_sidx<0){i_sidx=i_ smax;}
    radio.setFrequency(p reset[i_sidx]);
    delay(10);
    }
    byte hi = highByte(preset[i_sidx]);
    byte low = lowByte(preset[i_sidx]);
    EEPROM.update(5, hi);
    EEPROM.update(6, low);
    }
    encoder_A_prev = encoder_A;

    a = EEPROM.read(5); // Старший байт читаем в переменную a
    b = EEPROM.read(6); // Младший байт читаем в переменную b
    Serial.println(a);
    Serial.println(b);
    int freq = word(a, b); // Объединяем a и b в переменную int freq
    Serial.println(freq) ;
    delay(5);
    }

  11. #1599

    Регистрация
    27.03.2014
    Адрес
    Lithuania
    Сообщений
    22
    Позывной
    LY2F
    Не тот скетч отправил,извините.
    Вот этот надо доработать,чтоб работал EEPROM.

    #include <Wire.h>
    #include <radio.h>
    #include <rda5807M.h>
    //Set Station frequences
    RADIO_FREQ preset[24] = {
    8810,9030,9100,9190, 9240,9440,9620,9710, 9760,9800,9850,10040 ,10210,
    10250,10290,10350,10 410,10450,10490,1054 0,10590,10660,10710, 10760
    };
    const int pin_A = 8;
    const int pin_B = 9;
    unsigned char encoder_A;
    unsigned char encoder_B;
    unsigned char encoder_A_prev=0;
    int i_sidx=8;
    int i_smax=23;
    RDA5807M radio;

    void setup() {

    Serial.begin(57600);
    Wire.begin();
    pinMode(pin_A, INPUT);
    pinMode(pin_B, INPUT);
    radio.init();
    radio.setBandFrequen cy(RADIO_BAND_FM, preset[i_sidx]);
    radio.setMono(false) ;
    radio.setMute(false) ;
    radio.setVolume(10);
    }
    void loop()
    {
    encoder_A = digitalRead(pin_A);
    encoder_B = digitalRead(pin_B);
    if(!encoder_A && encoder_A_prev)
    {
    if(encoder_B)
    {
    i_sidx++;
    if (i_sidx>i_smax){i_si dx=0;}
    radio.setFrequency(p reset[i_sidx]);
    delay(100);
    }
    else
    {
    i_sidx--;
    if (i_sidx<0){i_sidx=i_ smax;}
    radio.setFrequency(p reset[i_sidx]);
    delay(100);
    }
    }
    encoder_A_prev = encoder_A;


  12. #1600
    Запустите программу Ардуино IDE. зайдите в меню File - Examples - EEPROM - дальше выбираете EEPROM Write или Read. Там все понятно. Но, есть одна проблема. В EEPROM Надо писать только когда выключаете девайс, иначе она (EEPROM) у Вас быстро умрет. Поэтому в схему надо ввести или кнопку, нажав которую, нужное будет записано в EEPROM, или автомат, реагирующий на падение напряжения питания. Для этого контроллер отделяется от питания диодом и запитывается от небольшого электролитического конденсатора. А на аналоговый вход Ардуино (ADC) подается питание от БП. Когда БП выключается, напряжение на входе ADC падает это является признаком того, что надо писать в EEPROM. В это время контроллер питается от конденсатора, напряжение на котором остается, так как он отключен от БП.

Страница 160 из 223 ПерваяПервая ... 60110150157158159160161162163170210 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •