Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 018 постов 13 454 подписчика

Популярные теги в сообществе:

27

ATtiny45 Arduino IDE

ATtiny45 — низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny45 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

Характеристики:

  • Высокопроизводительный, экономичный 8-разр. AVR-микроконтроллер

  • Усовершенствованная RISC-архитектура
    — Обширный набор из 120 инструкций большинство которых выполняются за один цикл
    — 32 x 8 универсальных регистров общего назначения
    — Полностью статическая работа

  • Энергонезависимые памяти программ и данных
    — Внутрисистемно программируемая флэш-память программ размером 4 кбайт с износостойкостью 10 тыс. циклов запись/стирание
    — 256 байт внутрисистемно-программируемого ЭСППЗУ с износостойкостью 100 тыс. циклов записи/стирания
    — 256 байт внутреннего статического ОЗУ
    — Программируемые биты защиты флэш-памяти и ЭСППЗУ

  • Отличительные особенности периферийных устройств
    — 8-разр. таймер-счетчик с предделителем и двумя каналами ШИМ
    — 8-разр. высокоскоростной таймер-счетчик с отдельным предварительным делителем 2 высокочастотных выхода ШИМ с отдельными регистрами задания порога сравнения

  • Программируемый генератор паузы
    — Универсальный последовательный интерфейс с отдельным детектором условия старт
    — 10-разр. АЦП

  • 4 несимметричных канала

  • 2 дифференциальных канала с программируемым усилением (1x, 20x)
    — Программируемый сторожевой таймер с отдельным встроенным генератором
    — Встроенный аналоговый компаратор

  • Специальные функции микроконтроллера
    — Встроенная отладочная система debugWIRE
    — Внутрисистемное программирование через порт SPI
    — Внешние и внутренние источники прерываний
    — Экономичные режимы: холостой ход (Idle), уменьшение шумов АЦП (ADC Noise Reduction) и пониженная мощность (Power-down)
    — Усовершенствованная схема сброса при подаче питания
    — Программируемая схема контроля напряжения питания
    — Встроенный калиброванный генератор

  • Ввод-вывод и корпуса
    — Шесть программируемых линий ввода-вывода
    — 8-выв. корпус PDIP и 8-выв. SOIC

  • Рабочее напряжение
    — 1.8 — 5.5В для ATtiny45V
    — 2.7 — 5.5В для ATtiny45

  • Градации по быстродействию
    — ATtiny45V: 0 — 4 МГц при 1.8 — 5.5В, 0 — 10 МГц при 2.7 — 5.5В
    — ATtiny45: 0 — 10 МГц при 2.7 — 5.5В, 0 — 20 МГц при 4.5 — 5.5В

  • Малый потребляемый ток
    — Активный режим: 1 МГц, 1.8В: 450 мкА
    — Режим пониженной мощности: 0.1 мкА при 1.8В

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Микроконтроллер ATtiny45 отлично подходит для маленьких и дешевых проектов, а поддержка средой программирования Arduino IDE заметно упрощает работу с микроконтроллером.

Для поддержки ATtiny45 в Arduino IDE необходимо выполнить несколько простых операций:

  • Добавление поддержки платы

Откройте в Arduino IDE вкладку Файл > Настройки и добавьте ссылку для менеджера плат

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-...

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Далее перейдите во вкладку Инструменты > Плата > Менеджер плат

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Выберите и установите пакет новых плат ATtiny45, ATtiny85, ATtiny44, ATtiny84

Далее в Инструменты > Плата выберите плату ATtiny45.

Установите параметры платы как показано на скриншоте:

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Для прошивки скетча  Вам понадобится программатор USBAsp

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Схема подключения

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Распиновка программатора USBAsp

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Для удобства использования и прошивки микроконтроллера ATtiny45 можно воспользоваться отладочной платой HW-260.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

В настройках платы нужно выбрать поддержку Attiny45 и установить частоту  8 MHz internal, остальные параметры менять не нужно. Далее необходимо выставить нужные фьюзы для микроконтроллера, чтобы он всегда работал на выбранной Вами частоте. Для этого в настройках Arduino IDE выберите программатор USBasb и нажмите Инструменты > Записать загрузчик. Эту операцию необходимо проводить всего один и снова повторить если Вы будете менять частоту работы микроконтроллера.

Для загрузки скетча в настройках Arduino IDE выберите программатор USBasb и во вкладке Скетч нажмите на Загрузить через программатор (или просто нажать кнопку — Загрузить)

Для примера, можно загрузить простой скетч мигания светодиода, к выводу 3 (PB4) контроллера подключите светодиод через резистор 200 Ом.

void setup() {

pinMode(4, OUTPUT);

void loop() {

digitalWrite(4, HIGH);

delay(1000);

digitalWrite(4, LOW);

delay(1000);

}

После загрузки скетча, светодиод начнет мигать.

Для нормальной работы микроконтроллера необходимо подать напряжение VCC через резистор 10 кОм на вход RST микроконтроллера.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Примеры использования

ЧАСЫ ATTINY45+DS3231 С КНОПКАМИ КОРРЕКЦИИ ВРЕМЕНИ

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ПРОСТОЕ РЕЛЕ ВРЕМЕНИ 0…99 МИН

Кнопками (+/-) можно задавать время от 1 до 99 минут, при установки времени таймера сразу же активируется реле, при обнулении таймера реле отключает нагрузку.

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

DHT11 ДАТЧИК ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ВОЛЬТМЕТР 0…5 В

3.3V

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

1.8 V

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

ЧАСЫ С БОЛЬШИМИ ЦИФРАМИ И ДАТЧИКОМ ТЕМПЕРАТУРЫ ATTINY45+LCD1602_I2C+DS18B20+DS3231

ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATtiny45 Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Скетчи - http://rcl-radio.ru/?p=129389

Показать полностью 24
29

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Шлифовальная машина перед работой.

Продолжение. Начало - Изучение аналогов и постановка задачи, скелетно-механическая часть. Здесь, приступаем к сборочно-электромонтажным работам.

Напомню, применил двигатель ДАСМ-2, 120/60 Вт, 2900/425 об/мин. Двухскоростной, от старинной стиральной машины-полуавтомата.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Схема включения примененного электромотора.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Общая электрическая схема станка.

Схема электрическая принципиальная станка. У мотора задействована только большая скорость. Применена возможность реверса направления вращения. Включение подсветки может быть в двух режимах – вместе с мотором или непрерывное, пока станок включен в сеть. Подача воды включена постоянно пока работает большой мотор. Переключатель задействованный для включения питания однотипный с остальными – трехпозиционный. Среднее положение – «Выключение», переключение в любую сторону – «Включение».

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Электрическая коробка, доработка.

Электрический «шкафчик» - распаечная коробка из магазина электротоваров. Пластик на боках, там, где как раз было удобно установить выключатели, довольно мягкий еще и с преогромными дырками для кабелей. Пришлось усилить пластинкой из текстолита.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Электрический шкафчик на станке, установлены крупные элементы.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Лампа подсветки рабочего места.

Для освещения рабочего места, была применена светодиодная лампа с отражателем. Разделанные концы проводов просто припаяны к Т-образным клеммам, место пайки и место разделки изолировано термотрубками и для пущей герметичности залито термоклеем. Крепится лампа на станке, жестяным хомутиком вокруг ее цилиндрической части.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Крепление рабочего стола.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Крепление мотора выполнено за нижнюю крышку, шестью винтами М5.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Шайба-стопор-гайка – все как у людей.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Испытания электрической части.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Все временное окультурил – приходи кума любоваться!

Для подачи воды к инструменту приобрел миниатюрный наружный насос-помпу для аквариума и комнатных фонтанчиков с питанием -12 вольт.

Схема установки насоса

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

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Неправильная установка насоса. При выключении насоса шланги на высоте h окажутся без воды.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Примененная установка насоса. При выключении насоса колено на высоту Н (без учета других гидравлических эффектов) будет заполнено водой.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Первая, испытательная установка нового насоса.

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

Главной проблемой работы станка с новым насосом оказалась чрезмерная его производительность – из выходного шланга била довольно сильная струя воды разбрызгиваясь и заливая все вокруг. Уменьшение напряжения питания не дало существенного эффекта – снижение напряжения до 5 вольт несколько уменьшало производительность, затем насос просто переставал работать. Эксперименты показали, что уменьшение сечения шлангов уменьшают также и ток потребляемый двигателем насоса и такая регулировка весьма удобна и эффективна. Более того, она предусмотрена штатно в некоторых аналогичных моделях насосов.

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

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Блок питания имеет незначительный  вес и довольно уютно устроился среди проводов. Более, он никак не закреплен.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Рабочее размещение насоса.

Экспериментальное размещение насоса претерпело значительную переделку – шланг и сам насос препятствовал доступу к выключателю сзади станка. Шланги удлинились, насос преотлично поместился в небольшой нише позади электрической коробки. Выходной шланг частично передавливается бельевой прищепкой. Здесь можно применить и более эстетичный краник, например, из аквариумных принадлежностей или "кран Гофмана". Следует только помнить, что вода здесь с мельчайшими частичками стекла и лучше предпочесть краны «наружные» вроде как в медицинской капельнице.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Вид на собранный станок.

Кронштейн для удерживания шланга подачи воды, сделан из полосочки нержавеющей стали, силиконовый шланг закреплен на нем капроновыми стяжками. Конструкция позволяет весьма точно направлять струю воды в нужное место. Губка удерживается в углу небольшого отбойника привинченного к рабочему столу и слегка прижата к вращающемуся инструменту. Ее функция - в предотвращении разбрызгивании воды.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Вид на омываемый водой инструмент.

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 3. Электрическая, водная, общая доводка Своими руками, Витраж, Витраж Тиффани, Стекло, Длиннопост

Отверстие в углу рабочего стола, позволяет задействовать кусок шланга диаметром 12 мм. Им можно спустить или добавить воды не разбирая конструкцию.

Что получилось.

Обзор рабочего стола, паче чаяний, оказался вполне пристойным, мотор сверху не доставляет особых неудобств, работать удобно. Единственный минус конструкции - сложновато менять рабочий инструмент, для этого приходится сливать воду и вытаскивать заполненную емкость, однако, смена инструмента очень нечаста и с этим вполне можно смириться. Сверлильный патрон для инструмента не ржавеет, хотя невредно периодически пшикнуть в него проникающей смазки. Станок при работе стоит как влитой – большая масса, никакой вибрации. Шумит тоже весьма умеренно, работать комфортно. Мощности мотора хватает с избытком, он не греется даже при длительной работе. Металлический рабочий стол из мягкой нержавейки не царапает обычное оконное и витражное стекло, но некоторые специальные сорта стекол (например, светофильтры) все же оказываются мягче и в подобных работах действовать нужно осмысленно и вдумчиво. Шлам в большом глубоком корыте хорошо оседает, воду приходится менять только после больших крупных работ. 

Babay Mazay, зима, 2018 г.

Показать полностью 19
20

ATtiny45 + TEA5767 + TM1637 (FM radio)

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

TEA5767 производимая компанией NXP применяется для конструирования низковольтных FM-радио тюнеров. В составеTEA5767 имеются внутренние цепи выделения промежуточной частоты и демодуляции принимаемого сигнала, что позволяет обходиться минимальным набором внешних компонентов.

Технические параметры TEA5767:

  • Напряжение питания от 2,5 до  5 В

  • Потребляемый ток при Uпит = 5 В 12,8 мА

  • Чувствительность 2 мкВ

  • Отношение сигнал/шум  54 дБ

  • Разделение между стереоканалами 24 дБ

  • Коэффициент гармоник 0,4 %

  • Диапазон принимаемых частот от 76 МГц до 108 МГц

  • Шины управления: I2C или 3-х проводная

Используя радио модуль, индикатор и микроконтроллер ATtiny45 можно собрать простое FM-радио.

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Радио приемник управляется всего одной кнопкой, которая позволяет по кругу переключать заранее записанные каналы. Частота канала выводится на индикаторный модуль TM1637. К выходу модуля радиоприемника необходимо подключить любой маломощный усилитель, например можно использовать модуль усилителя PAM8403 с регулятором громкости.

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Последний выбранный канал сохраняется в энергонезависимой памяти.

Перед прошивкой микроконтроллера рекомендую ознакомится со статьей — http://rcl-radio.ru/?p=129389 (общие сведения о микроконтроллере ATtiny45, прошивка при помощи Arduino IDE).

Перед загрузкой скетча необходимо записать в него выбранные для радио каналы:

float ch[]={104.4, 101.9, 102.5, 88.0, 101.5, 105.0, 103.9, 105.7};

и указать кол-во выбранных каналов:

#define CH 8

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Усилитель PAM8403

ATtiny45 + TEA5767 + TM1637 (FM radio) Arduino, Электроника, Самоделки, Длиннопост

Скетч - http://rcl-radio.ru/?p=129530

Показать полностью 4
38

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE)

Часы-будильник основаны на микроконтроллере Atmega8, содержит часы реального времени DS3231, цифровой датчик температуры DS18B20, датчик освещенности в виде фоторезистора, зуммер для сигнала будильника, четыре кнопки управления и дисплей VDF1602.

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост

Дисплей VDF1602 (16T202DA1E) выполнен на базе вакуумно-люминесцентного индикатора, который может отображать ASCII символы в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей.

Дисплей 16T202DA1E программно полностью совместим с дисплеем LCD1602 контроллере HD44780.

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост

Для правильной работы базе вакуумно-люминесцентного индикатора требуется два источника питания, это питание сеток и анодов напряжением 12-27 В и питание катода (нити накала) переменным напряжением от 1,2 до 5 В (в зависимости от типа ВЛИ). В дисплее 16T202DA1E все необходимые источники для правильной работы ВЛИ уже встроены в плату, поэтому для питания дисплея Вам понадобится только одно напряжение в 5 В. Так же в отличии от LCD1602 в дисплее 16T202DA1E нет вывода Vo (регулировка контрастности), что делает подключение дисплея к Arduino Nano еще проще.

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост

Распиновка дисплея

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост

На дисплей выводится следующая информация

  1. Текущее время

  2. День недели (рус)

  3. Время будильника

  4. Индикатор работы будильника

  5. Температура

  6. Дата и месяц

Кнопки управления:

  • SET_ALARM — коррекция времени будильника, первое нажатие коррекция часа, второе — минут

  • SET_TIME — коррекция (установка) времени часов, при нажатии на кнопку меняются параметры времени для корректировки (часы, минуты, секунды(обнуление), дата, месяц, день недели)

  • SET_UP — Плюс изменение параметра часов и будильника

  • SET_DW — Минус изменение параметра часов и будильника

В режиме вывода времени кнопки SET_UP и SET_DW позволяют отключать и включать режим будильника, а при сигнале будильника кнопки SET_UP и SET_DW отключают сигнал будильника но при этом не меняют режим работы будильника. Если не нажимать кнопки SET_UP и SET_DW то сигнал будильника будет звучать 1 минуту.

Так как дисплей VDF1602 имеет функцию программного изменения яркости свечения символов, то в схеме используется датчик освещенности (фоторезистор). Датчик освещенности меняет яркость свечения символов дисплея в зависимости от освещенности.

Датчик температуры DS18B20 рекомендуется выносить за корпус уст-ва, так как дисплей VDF1602 при работе имеет небольшой нагрев.

Время будильника и режим работы будильника сохраняются в энергонезависимой памяти.

  • Красными точками на схеме указаны пины подключения программатора, как прошить прошивку описано в — http://rcl-radio.ru/?p=82486

  • Более подробно о дисплеи VDF1602 описано в — http://rcl-radio.ru/?p=129034

Скетч - http://rcl-radio.ru/?p=129553

ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
ЧАСЫ-БУДИЛЬНИК НА VDF1602 + DS3231 + DS18B20 (Arduino IDE) Arduino, Электроника, Самоделки, Длиннопост
Показать полностью 13
23

Модуль BT201 + STM32 (Arduino)

Модуль BT201 5.0 Bluetooth представляет собой единый чип 4-в-1, который поддерживает Bluetooth, USB-флешку и TF-карту.

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Функции:

  • Поддержка Bluetooth-аудио, передача данных BLE, воспроизведение U-диска, воспроизведение TF-карты, SPIFLASH. Поддержка декодирования форматов MP3, WAV, WMA, FLAC, AAC, APE.

  • 16-битный стерео ЦАП с усилителем для наушников, отношение сигнал/шум >= 95 дБ

  • Последовательный порт управления командой AT. Поддержка изменения скорости передачи данных для изменения имени Bluetooth, указания воспроизведения устройства и передачи данных мобильного телефона.

  • Поддержка двухрежимной передачи данных BLE и SPP, в то же время может воспроизводить звук Bluetooth, без конфликтов.

  • Поддержка вызова Bluetooth, много кнопочного управления, последней музыки, следующей музыки, воспроизведения паузы, регулировки громкости и других простых функций.

  • Поддержка получения полного имени файла последовательного порта воспроизведения, указанного пути воспроизведения, цикла или одиночного воспроизведения.

  • Поддержка функции записи 128KBS. Запись на TF-карту или U-диск, запись, удаление, воспроизведение и т. д.

При тестировании модуля BT201 был выбран микроконтроллер STM32 (плата разработчика STM32F103C8T6), так он содержит несколько UART портов, один будет использован для вывода информации в монитор порта, другой (Serial3) для отправки АТ команд в модуль BT201.

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Как прошивать STM32 в среде Arduino IDE написано в — http://rcl-radio.ru/?p=68376

Так как STM32 прошивается через переходник USB to COM (RS232) YP-01 на чипе PL2303HX, в котором имеются 2 источника напряжения, то напряжение 3,3 В будут использованы для питания STM32, а напряжение 5 В для питания модуля BT201.

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Подключения STM32 к USB to COM и BT201

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Тестовый скетч

void setup(){ Serial.begin(115200); Serial3.begin(115200); Serial.println(); delay(500); }  void loop(){ if (Serial.available() > 0) { String str = Serial.readString(); Serial.println(str); Serial3.print(str+"\r\n"); }  if (Serial3.available() > 0) { String str = Serial3.readString(); Serial.println(str); } }

Команды управления отсылаете через монитор порта, и они пересылаются на модуль BT201.
Все, что приходит с модуля (ответы, сообщения и т.д.), пишется в монитор порта.

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Список АТ команд —BT201 Module _KT1025A_B_User Manual _V2.3.pdf

Список основных АТ команд:

  • AT+CB  — стоп\паузы

  • AT+CC — следующий трек

  • AT+CD — предыдущий трек

  • AT+CE — громкость +++

  • AT+CF — громкость —

  • AT+CA15 — громкость уровень 15 (0-30)

  • AT+CM01 — Bluetooth

  • AT+CM02 — USB

Ниже показан пример управления модулем BT201 при помощи STM32 и нескольких кнопок, режимы работы и другая информация отображается на дисплее 0.96′ I2C 128X64 OLED.

Дисплей 0.96′ I2C 128X64 OLED на контроллере SSD1306 имеет разрешение 128х64 пиксел и подключается к микроконтроллеру по интерфейсу I2C.

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Параметры дисплея SSD1306:

  • Технология дисплея: OLED

  • Разрешение дисплея: 128 на 64 точки

  • Диагональ дисплея: 0,96 дюйма

  • Угол обзора: 160°

  • Напряжение питания: 2.8 В ~ 5.5 В

  • Мощность: 0,08 Вт

  • Габариты: 27.3 мм х 27.8 мм х 3.7 мм

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост
Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Кнопки управления:

  • PLAY / STOP — воспроизведение \ пауза в режиме Bluetooth и USB

  • >>> — следующий трек (файл, ролик) в режиме Bluetooth и USB

  • <<< — предыдущий трек (файл, ролик) в режиме Bluetooth и USB

  • Bluetooth \ USB — кнопка выбора Bluetooth или USB

  • VOLUME UP — громкость прибавить на 1 ед.

  • VOLUME WD — громкость удавить на 1 ед.

Меню Bluetooth

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост
  1. Bluetooth

  2. Режим работы:

    1. not connected — нет соединения

    2. connected — соединение установлено

    3. play — воспроизвидение

  3. Уровень громкости

Меню USB

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост
  1. USB

  2. Номер воспроизводимого файла (кол-во файлов на носителе*)

  3. Время звучания воспроизводимого файла

  4. текущее время проигрывания файла

  5. Уровень громкости

*Звуковые файлы на USB устройстве должны быть записаны й в корень файловой системы.

Подключения STM32, кнопок и дисплея

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

** Подключение кнопок

Модуль BT201 + STM32 (Arduino) Arduino, Электроника, Самоделки, Видео, YouTube, Длиннопост

Подключения STM32 к  BT201

Скетч - http://rcl-radio.ru/?p=129611

Показать полностью 11 1
651

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Размер экрана — краеугольный камень мира современных смартфонов. Кто-то считает, что дисплеи должны становиться только больше, а рамки — меньше, кто-то любит «средние» дисплеи диагональю в 5+", ну а кто-то остаётся ярым поклонником и приверженцем компактных смартфонов с крошечными дисплейчиками. В наше время, купить новый смартфон с относительно небольшим дисплеем за приемлемые деньги почти нереально — самые бюджетные модели будут слишком тормозными для современного пользователя. Некоторое время назад, я купил себе бюджетный крошечный смартфон 2012 года выпуска — Samsung Galaxy Pocket, причём всего за 100 рублей. Конечно же мне захотелось довести его до ума — а доводить пришлось руками и навыками прожженного программера! Какой смартфон можно получить за 100 рублей? Читаем в статье!

Минутка предыстории

С самого появления смартфонов на рынке, весь мир шагал к тотальному увеличению дисплеев и уменьшению рамок. В какой-то момент, большие смартфоны даже получили отдельное название — падфоны или смартпэды. Такой ход событий было не трудно предугадать: ведь производители дисплейных матриц осваивали всё более и более высокие разрешения и предлагали больше вариантов производителям смартфонов.

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Однако несмотря на всеобщее засилие больших «лопат», в мире всё ещё оставались поклонники маленьких и компактных телефонов, которыми очень удобно пользоваться одной рукой. Сейчас подобные устройства представляют только небольшие бренды, известные достаточно в узких кругах — в основном, их можно купить на маркетплейсах, в обычных салонах связи их не найти. Мне известно о нескольких подобных устройствах, которые сейчас присутствуют на рынке. Первый из них «закос» под iPhone — Soyes XS11:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Но тут уж, если честно, хочется назвать такой смартфон не просто компактным, а совсем малюсеньким. На нём вполне удобно выполнять задачи звонилки, но совсем неудобно набирать текст — поэтому под наши задачи, он не особо подходит. Кроме того, эти девайсы работают на базе бюджетного смартфонного железа 6-7 летней давности, поэтому их производительность будет достаточно невысокой по меркам современного пользователя. Конечно же есть и более серьёзные варианты — например, компания Unihertz (да, тот самый продолжатель идей BlackBerry) делает смартфоны Jelly 2: дисплей с диагональю 3", Helio P61 под капотом и Android 11 на борту. Вот только цена, мягко говоря, кусачая — 18 тысяч рублей на момент написания статьи. Это слишком дорого!

Но если душа прямо таки лежит к компактным смартфонам, почему бы не обратиться к рынку Б/У устройств и не присмотреть что-то из… прошлого десятилетия? А вариантов ведь реально много — тут и LG Optimus L3 (3.2"), и Samsung Galaxy Pocket Neo (2.8"), Samsung Galaxy Star (3"), Samsung Galaxy Fame (3.5"), Samsung Galaxy Young. Все перечисленные девайсы стоят реально копейки — можно купить живой вариант до 400-500 рублей!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Я решил взять себе целых два смартфона: Samsung Galaxy Mini и Samsung Galaxy Pocket первого поколения. Оба достались мне в одном лоте за 2.000 рублей (с 20 телефонами) и обошлись мне по сто рублей, причём оба смартфона были рабочими! Чуть позже я докупил отдельно Galaxy Star (250 рублей), Galaxy Fame (250 рублей) и Galaxy Pocket Neo (~400 рублей) для полноты коллекции — вышло совсем недорого. Итак, что за характеристики мы получаем в смартфоне за 100 рублей:

  • Android: 2.3 Gingerbread.

  • Чипсет: Broadcom BCM21553 с одним ядром Cortex-A5 на частоте 832мгц. Видеочип: VideoCore IV, он же использовался в Raspberry Pi.

  • ОЗУ: 256 мегабайт (предположительно — DDR1).

  • Встроенная память: 3 гигабайта + слот для SD.

  • Дисплей: 2.8", 240x320, емкостной тачскрин.

  • Сеть: Поддержка 2G/3G. Об LTE и речи не идёт.



Выглядит не особо густо, да? И разрешение весьма низкое — большинство софта не запустится, а о клиентах современных сервисов и мечтать не приходится… или приходится?

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Конечно же шаловливым ручкам захотелось вернуть жизнь этому миниатюрному красавцу и я решил использовать его как второй смартфон — при этом с клиентом ВК и музыкой, которые я запилил сам.

Разработка под старые версии Android

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

Даже сейчас нет никакой проблемы скачать последнюю версию Android Studio, подключить смартфон с включенной отладкой и отлаживать приложение прямо на девайсе — logcat тоже есть. Единственный нюанс — поиск драйверов и ручное закрытие приложений в таскменеджере, если вы деплоите под Android 2.x (Android Studio не умеет сам закрывать приложение, чтобы переустановить пакет).


В целом, за всё время разработки под старые устройства, я пришёл к следующим выводам:

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

  • Взаимодействие с современными веб-сервисами может быть осложнено из-за отсутствия поддержки TLS1.2 и устаревших сертификатов (проверка сертификатов легко обходится специальным костылем, а вот TLS — нет).

  • У Android до 3.0 вся отрисовка интерфейса программная и она опять же, будет сказываться на скорости работы фоновых служб. Чем менее интерфейс комплексный, тем лучше.

  • Пушей нет — да, вообще. Однако это ничуть не помешает нам сделать уведомления практически в реальном времени с помощью… очередного костыля!



Допиливаем ВК

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

Честно сказать, вся концепция интерфейса требовала полной переработки — боковое меню банально очень неудобно использовать на подобных устройствах из-за малых размеров каждой строчки. Поэтому я решил не изобретать велосипед, а обратился к дизайнерам Apple и первоисточнику: официальному клиенту ВК для iOS 6, родом из 2012 года!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Приложение для Android выглядело +- также в те годы. Видите вкладки с разделами снизу? Они то нам и нужны — это самый удобный способ навигации на таких смартфонах! Накидав макет в layout'е, я приступил к реализации:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Изначально мне хотелось, чтобы всё приложение было плавным и анимированным: для этого я обратился к фреймворку анимаций Android. Суть очень простая — это обычный интерполятор значений от a до b за определенный промежуток времени. При этом мы не можем анимировать произвольное свойство — только те, который уже реализованы в системе (переход, поворот, масштабирование, альфа-канал). Более наглядно это можно представить вот так:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Да, это всё анимация :) Получаем примерно такой результат:

Обратите внимание, что запуск большого количества анимаций будет вызывать перерисовку даже в том случае, если элемент не видно на экране — от чего у нас будут дикие тормоза! Осторожнее с этим.

После этого, я решил доработать раздел с музыкой: я все еще пользуюсь грязными хаками для получения доступа к API музыки, поскольку «левым» клиентам такой возможности не дают. Публично его расписывать не буду, поскольку это скорее всего нелегально, да и сами ребята из ВК об этом знают (но не думаю, что будут применять какие-то санкции по отношению к «маленьким» разработчикам) — но если нужно, пишите в личку, расскажу всю концепцию.

Во первых, мне хотелось добавить возможность скачивать треки на внутреннюю память/флэшку. А во вторых, мне хотелось добавить фоновое воспроизведение — до этого возможность свернуть приложение и послушать музыку уже была, однако Android мог в любой момент прибить окно с музыкой и оставить нас с носом, остаётся только реализация в виде foreground-сервиса:

В Android есть два типа служб: background (фоновые) и foreground (видимые пользователю). Первый тип служб система может прибить когда угодно — например мало памяти или экономия заряда АКБ. А вот второй тип служб система не прибивает практически никогда, поскольку они обозначают выполнение важной операции в фоне — например скачивание файла или обновление системы. Однако у них есть одно ограничение — они должны быть привязаны к собственному уведомлению, которое нельзя закрыть. В процессе реализации возникло еще пару проблем — Wakelock'и (механизм, предотвращающий уход девайса в «сон») и WiFiLock'и (тоже самое, но для WiFi).

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Точно таким же способом я реализовал механизм уведомлений — как я уже говорил раньше, пушей на старых смартфонах нет вообще ни в каком виде, поэтому пришлось реализовывать свой механизм «обновления»: каждые 3-5 секунд запрашиваем список последних 5 диалогов с сервера и сравниваем с предыдущим результатом, если есть новые сообщения — создаём нотификацию (листинг слишком длинный - пришлось перезалить на pastebin):

private NotificationCompat.Builder createMessageNotification(String sender, Stri - Pastebin.com

После этого, я начал рутинную работу по реализации интерфейса для данных с сервера — паблики, друзья, профили, лента и.т.п. В некотором смысле, реализация лента весьма занимательна: вообще, для очень больших списков существуют т.н виртуализация ListView — это когда ListView отображает только видимый пользователю кусок датасета (набора данных — например, список записей на стене) и на старых версиях Android она доступна. Однако мне было интересно реализовать вариант, который потреблял бы минимальное количество ОЗУ и где я точно знал бы, когда пользователь видит тот или иной фрагмент приложения. Поэтому я реализовал… пагинацию свайпами! Вот так привет из нулевых!

Для этого я использовал GestureDetector — встроенный в систему класс для обнаружения простых жестов — свайпов и.т.п. ВК при запросе ленты отдаёт специальную метку для получения следующей страницы новостей (поскольку она может динамически меняться и нужно хранить её стейт), мы эти метки просто сохраняем и переключаемся по странницам новостей с помощью обычных свайпов вправо-влево:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост


Выглядит весьма забавно.

Юзабельно ли всё это на деле?

Давайте смотреть, может ли юзать такой смартфон в наши дни. Берём наш девайс в руки, логинимся и оцениваем его производительность «вхолостую».

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Работает весьма шустренько, учитывая что это бюджетник 2012 года. Как насчет нашего самопального клиента ВК? Смотрим:


Работает весьма бодро. Не сказать что также плавно, как последний айфон, но и совсем плохим результат явно не назвать!

Смартфонный функционал у девайса тоже вполне ничего: 1-2 SIM (в зависимости от версии), нормальная синхронизация контактов с ПК (однако Kies вроде-бы не работает на Windows 10, но есть vcf):

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Встроенный почтовый клиент продолжает работать без каких либо проблем. Однако настраивать некоторые почтовые сервисы нужно вручную и с помощью «паролей приложений» — напрямую залогинится возможности нет. В случае «покета», придется поставить стоковый клиент из Android 2.3 вручную.
Мультимедийные возможности тоже радуют: встроенный плеер тачвиза мне всегда очень нравился. Есть и настройки эквалайзера.

Единственное, что откровенно подводит — браузер. Последним вариантом осталась Opera Mini 7 — она позволяет смотреть сайты, но не поддерживает динамический контент, только статику. Ну, зайти на википедию или почитать статью на Хабре хватит. Родной браузер уже не в состоянии что либо загрузить :(

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Ну а в общем, производителньость смартфона весьма радует, согласитесь? Нельзя сказать, что он уж слишком тормозной — по крайней мере, современные ультрабюджетные смартфоны (до 4-5 тысяч рублей) зачастую показывают себя гораздо хуже чем и флагманы прошлых лет, и даже бюджетники!

Заключение

И всё таки, я считаю что мне удалось в каком-то смысле вдохнуть новую жизнь в старенький девайс. Если использовать подобный девайс как второй — на случай, если сел основной смартфон, то такой миниатюрный красаввчик может неождианно выручить даже в довольно сложной ситуации. Кроме того, эти смартфоны всеядны к аккумуляторам — достаточно подпаять + и — и они будут работать хоть от BL-4C.

Главная ценность Galaxy Pocket — в его компактных размерах. А поскольку по настоящему дешевых, маленьких и шустрых смартфонов становится всё меньше и меньше, то нам остаётся лишь продлять жизнь моделям прошлых лет! Есть ли в этом смысл и получил ли смартфон новую жизнь? Пишите в комментариях!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост


Клиент ВК можно сказать на 4pda. Там лежит самая последняя версия (для скачивания нужна регистрация на форуме). Если по каким-то причинам не хотите регистрироваться на форуме — я выложил актуальную версию в комментариях.


Эта статья поддерживается командой ITGLOBAL.COM

Мы — первый облачный провайдер в России, а также интегратор, поставщик ИТ-услуг, продуктов, сервисов и разработчик собственного ПО.

Наш сайт
Наш блог про виртуализацию и Enterprise IT
Истории успеха наших клиентов

Показать полностью 13 2
1

Заключенные в Финляндии обучают искусственный интеллект

Заключенные в Финляндии обучают искусственный интеллект Новости, Свежее, Заключенные, Искусственный интеллект, Работа

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

Некоторые называют это «рабским» трудом, однако каждый работник получает €1,54 в час, работает всего 3 часа в день и заодно развивается.

Источник : Будущее сейчас

Показать полностью
22

ATmega64 + Arduino IDE

ATmega64 представляют собой 8-разрядные AVR-микроконтроллеры с внутрисистемно программируемой флэш-памятью емкостью 64 кбайт. За счет выполнения большинства инструкций за один машинный цикл ATmega64 достигает производительности 1 млн. операций в секунду/МГц, что позволяет проектировщикам систем оптимизировать соотношение энергопотребления и быстродействия.

Отличительные особенности:

  • 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

  • Прогрессивная RISC архитектура
    — 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
    — 32 8-разрядных рабочих регистра общего назначения + регистры управления периферией
    — Полностью статическая работа
    — Производительность приближающаяся к 16 MIPS (при тактовой частоте 16 МГц)
    — Встроенный 2-цикловый перемножитель

  • Энергонезависимая память программ и данных
    — 64 Кбайт внутрисистемно перепрограммируемой Flash памяти
    — Обеспечивает 1000 циклов стирания/записи
    — Дополнительный сектор загрузочных кодов с независимыми битами блокировки
    — Внутрисистемное программирование встроенной программой загрузки
    — Обеспечен режим одновременного чтения/записи (Read-While-Write)
    — 2 Кбайта EEPROM
    — Обеспечивает 100000 циклов стирания/записи
    — 4 Кбайта встроенной SRAM
    — До 64 Кбайтов пространства дополнительной внешней памяти
    — Программируемая блокировка, обеспечивающая защиту программных средств пользователя
    — SPI интерфейс для внутрисистемного программирования

  • Интерфейс JTAG (совместимый с IEEE 1149.1)
    — Возможность сканирования периферии, соответствующая стандарту JTAG
    — Расширенная поддержка встроенной отладки
    — Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

  • Встроенная периферия
    — Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
    — Два 16-разрядных таймера/счетчика, с расширенными возможностями, с отдельным предварительным делителем и режимами захвата и сравнения
    — Счетчик реального времени с отдельным генератором
    — Два 8-разрядных канала PWM
    — Шесть каналов PWM с возможностью программирования разрешения от 1 до 16 разрядов
    — 8-канальный 10-разрядный аналого-цифровой преобразователь
    — 8 несимметричных каналов
    — 7 дифференциальных каналов
    — 2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат
    — Байт-ориентированный 2-проводный последовательный интерфейс
    — Сдвоенный программируемый последовательный USART
    — Последовательный интерфейс SPI (ведущий/ведомый)
    — Программируемый сторожевой таймер с отдельным встроенным генератором
    — Встроенный аналоговый компаратор

  • Специальные микроконтроллерные функции
    — Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
    — Встроенный калиброванный RC-генератор
    — Внутренние и внешние источники прерываний
    — Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC
    — Программная установка тактовой частоты
    — Режим обеспечения совместимости с ATmega103 (перемычки)
    — Глобальный запрет подтягивающих резисторов

  • Выводы I/O и корпуса
    — 53 программируемые линии ввода/вывода
    — 64-выводной корпус TQFP

  • Рабочие напряжения
    — 2,7 – 5,5 В (ATmega64L, ATmega64А)
    — 4,5 – 5,5 В (ATmega64)

  • Рабочая частота
    — 0 — 8 МГц (ATmega64L)
    — 0 — 16 МГц (ATmega64, ATmega64A)

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Для поддержки контроллера Atmega64 в среде разработке Arduino IDE необходимо выполнить следующие действия:

  • Откройте вкладку Файл >> Настройки и в поле «Дополнительные ссылки для менеджера плат» добавьте адрес:

https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_...

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Далее откройте вкладку Инструменты >> Плата >> Менеджер плат

В поле поиска введите число: 64, установите набор плат: MegaCore by MCUdude

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Выберите плату ATmega64

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Для прошивки скетча или загрузчика Вам понадобится программатор USBAsp

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

В моем случае я использую микроконтроллер который установлен на плату переходник, схема подключения достаточно простая:

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Установите настройки платы как показано на скриншоте:

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Выберите программатор USBAsp

  • Нажмите кнопку «Записать загрузчик». Запись загрузчика делается один раз (нужно повторить если изменили тактовую частоту микроконтроллера).

После записи загрузчика Вы в Arduino IDE увидите примерно следующее:

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
  • Далее скопируйте и вставьте в Arduino IDE следующий тестовый скетч (BLINK):

void setup() {  

pinMode(PE6, OUTPUT);  

}

void loop() {

digitalWrite(PE6, HIGH); 

delay(100); 

digitalWrite(PE6, LOW); 

delay(100); 

}

Подключите к выводу 8 (PE6) через резистор 300 Ом светодиод. После загрузки скетча светодиод начнет мигать.

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Для загрузки скетча выберите вкладку — Скетч >> Загрузить через программатор

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

После загрузки скетча появится следующее сообщение:

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Для удобства использования Atmega64 можно установить загрузчик, выбрав опцию настройки платы Bootloader «Yes (UART0)» , после чего необходимо нажать кнопку «Записать загрузчик».

Очень удобно для прошивки микроконтроллера использовать переходник USB — TTL используя для этого пины 2 (PE0 — TXD) и 3 (PE1 — RXD) . Фактически Вы будете загружать скетчи как в плату Arduino.

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Переходник USB — TTL подключите к Atmega64 по следующей схеме:

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

Во вкладке — Инструменты >> Программатор выберите >> AVRISP mkll (MegaCore)

Для загрузки скетча нажмите кнопку «Загрузка» в Arduino IDE и как только закончится компиляция нажмите кнопку RESET на плате Atmega64.

ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост
ATmega64 + Arduino IDE Arduino, Электроника, Программирование, Самоделки, Длиннопост

http://rcl-radio.ru/?p=129651

Показать полностью 22
Отличная работа, все прочитано!