#1 Аппаратные вопросы » Не прошивается atmega » 2019-03-18 21:00:00

a1000
Ответов: 2

Валялись у меня несколько Атмег 8 и 328. Когда-то я с ними немного поэксперементировал (прошивал загрузчик через ардуинку, попробовал программатор USBasp)/ Всё как-бы работало. Потом я эти контроллеры забросил и они валялись без дела. Так сложились звёзды, что опять возник интерес к голым микроконтроллерам. Но, как ни странно, ни один не завёлся. Использовал программатор USBasp и такую отладочную плату

11

Пробовал через avrdudeprog33 считать fuses или калибровочные ячейки - выдаёт ошибку. Пробовал как с кварцем так и без кварца - результата нет. Выписал с алика 3 новых 328 атмеги. Если я не ошибаюсь, с завода они идут с настройками на тактирование от внутреннего генератора. Результат тот-же. И с кварцем и без - ошибка. Поставил микроконтроллер на макетку подключил по схеме

00

Результат тот-же.
В то-же время при подключении программатора к рабочей плате Arduino Uno через разъём isp - всё в avrdudeprog33 читается без проблем.
Собственно вопрос - я где-то косячу или у меня нерабочие МК?

#2 Программирование Arduino » Проблема при работе с кнопками » 2017-10-16 15:26:54

a1000
Ответов: 1

Есть у меня один вялотекущий проект. При наличии настроения и свободного времени пробую сделать часы с синхронизацией по GPS. Всё уже как-бы получилось и работает в макетном варианте, но остался один незначительный вопрос - изменение GMT для перехода на зимнее-летнее время. Всё управлении необходимо реализовать двумя кнопками (больше не осталось свободных портов). Логика управления задумана такая:
Длинное нажатие кнопки 2 - переход в режим корректировки GMT.
В режиме корректировки короткое нажатие на кнопку 1 увеличивает GMT на одну единицу, соответственно короткое нажатие на кнопку 2 уменьшает GMT на одну единицу.
Длинное нажатие кнопки 2 в режиме корректировки - возврат часов в основной режим.
Что-бы не расписывать в скетче устранение дребезга контактов и разделение на длинное и короткое нажатие, воспользовался библиотекой из этой статьи http://samopal.pro/arduino-button-2/
При запуске тестового скетча из библиотеки всё работает на ура. Попробовал применить это в часах. Привожу ту часть, в которой реализована корректировка GMT

#include "sav_button.h"
SButton button1(11,50,2000,0,0);
SButton button2(12,50,2000,0,0);
int timeoffset = 3; // Это и есть тот самый GMT

void setup(void) {
...........
...........
  // Инициация кнопок
   button1.begin();
   button2.begin();

...............,
  ..............
     
}

void loop(void)
{
..................
..................

// Установка часового пояся
  if ( button2.Loop() == SB_LONG_CLICK )  //вход в режим корректировки по длинному нажатию кнопки 2
  {
     int timeoffset_now = 100000;
     for (; button2.Loop() != SB_LONG_CLICK;)  // пока нет длинного нажатия кнопки 2
        {
          if (timeoffset_now != timeoffset)  // вывод на экран текущего значения GMT при его изменении
          {
            tft.fillScreen(BLACK);
            if (timeoffset>0) GMT = "GMT +" + String(timeoffset);
         
            else GMT = "GMT " + String(timeoffset);
    
            tft.setCursor(45, 90);
            tft.setTextColor(RED);  tft.setTextSize(6);
            tft.println(GMT);
            timeoffset_now = timeoffset;
          }
          if (button1.Loop() == SB_CLICK)  //увеличение GMT на единицу по короткому нажатию кнопки 1
          {
            if (timeoffset<12) timeoffset++;
          }

          if (button2.Loop() == SB_CLICK) //уменьшение GMT на единицу по короткому нажатию кнопки 2
          {
            if (timeoffset>-12) timeoffset--;
          }
   
          minut = -1;
        }
  }
}

}

На практике всё работает не совсем так как задумано. В корректировку по длинному нажатии кнопки 2 входит. Кнопка 1 работает как задумано. Но кнопка 2 в режиме корректировки работает через раз и то в лучшем случае. Менял кнопки, порты - не помогает. Кто подскажет в чём проблема.

#3 Re: Аппаратные вопросы » Помогите.Как организовать контроль температуры загородного дома по GSM » 2016-11-19 00:01:20

Я бы тоже применил NEOWAY M590. У китайцев готовый модуль стоит чуть меньше 4 баксов с пересылкой.
Применять Mega 2560 для одного датчика и GSM модуля как-то расточительно. На ней конечно можно поэкспериментировать, но для готового устройства больше подойдёт Arduino Pro Mini.
Саму работу по контролю температуры я бы организовал таким образом:
1. По СМС запросу Ардуина отправляет СМС с текущими значениями температуры и влажности.
2. При выходе параметров температуры и влажности за установленные вами границы, Ардуина самостоятельно отсылает вам СМС сообщение.

#5 Аппаратные вопросы » Не запускается SD Card reader » 2015-08-08 22:25:36

a1000
Ответов: 0

Приобрёл такую штуку
http://aukro.ua/show_item.php?item=5557250606
Подключаю к Arduino Uno в соответствии требованиями стандартного примера CardInfo. Данный пример выполняется на ура:

Initializing SD card...Wiring is correct and a card is present.

Card type: SD2

Volume type is FAT32

Volume size (bytes): 1014890496
Volume size (Kbytes): 991104
Volume size (Mbytes): 967

Files found on the card (name, date and size in bytes):
DATALOG.TXT 2000-01-01 01:00:00 0

А вот со следующим примером Datalogger засада

?Initializing SD card...card initialized.
350,308,293
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
error opening datalog.txt
и т.д.

Файл DATALOG.TXT на карте после выполнения Datalogger
SD карта на 1 ГБ. Форматировал и в FAT и FAT32.
Помогите решить проблему.

#6 Re: Программирование Arduino » Ошибки с библиотекой LiquidCrystalRus.h » 2015-07-18 15:46:02

Вопрос решен. автор обновил библиотеку. Кому надо - берём тут

#7 Программирование Arduino » Ошибки с библиотекой LiquidCrystalRus.h » 2015-07-18 14:43:11

a1000
Ответов: 15

Есть такая проблема. Добавил библиотеку LiquidCrystalRus.h. открываю образец из данной библиотеки. При попытке скомпилировать выдаёт такую ошибку.

Arduino: 1.6.5 (Windows XP), Плата"Arduino Uno"

In file included from AlphabetRus.pde:25:0:
C:\Program Files (x86)\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:87:16: error: conflicting return type specified for 'virtual void LiquidCrystalRus::write(uint8_t)'
   virtual void write(uint8_t);
                ^
In file included from C:\Program Files (x86)\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:5:0,
                 from AlphabetRus.pde:25:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:48:20: error:   overriding 'virtual size_t Print::write(uint8_t)'
     virtual size_t write(uint8_t) = 0;
                    ^
Ошибка компиляции.

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки


Где грабли?

Подвал раздела