Pull to refresh

Энтузиаст запустил Linux на Arduino Uno

Reading time3 min
Views18K


Энтузиаст запустил ядро Linux на плате Arduino Uno. Чтобы адаптировать полновесный Linux 6.1 к чипу ATmega328p, он портировал эмулятор RISC-V на эту платформу. Установлен новый антирекорд: более 15 часов для загрузки.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments27

Firecore — нескучная игра на AVR

Reading time17 min
Views14K


Хочу поделиться очередным вечерним долгостроем, который показывает, что можно делать игры даже на слабом железе.

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

Осторожно: большая статья, трафик и множественные кодовые вставки!
pew pew
Total votes 52: ↑52 and ↓0+52
Comments32

Оптимальная температура в доме или как установить термостат в дальней комнате без проводов

Reading time11 min
Views23K

Для многих далеко не секрет, что такие устройства как недельные термостаты помогают обеспечить оптимальную комнатную температуру в доме к тому же с экономией энергоресурсов, затрачиваемых на обогрев. Для корректной работы устройства его обычно размещают в самой дальней комнате, где наименьшая температура. Но большинство термостатов предполагают проводное подключение к котлу для управления и далеко не всегда есть возможность эти провода проложить. О решении подобной проблемы и пойдет речь в данной статье. Всем, кому интересно прошу под кат…
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments33

Умный дом, я всё-таки тебя сделал

Reading time4 min
Views87K


Умный дом, достаточно заезженная тема в наше время и в этой публикации я не буду рассказывать вам о новых технологиях, производителях и современных тенденциях данной темы, все написано до меня раз на сто. Я же постараюсь кратко описать процесс создания Умного дома(далее УД) без глубоких технических повествований. Если эта тема будет интересна читателям, я выложу полностью все листинги программ, прошивки МК, схемы и все необходимое, чтобы это чудо стало сердцем вашего дома.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments134

Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR

Reading time5 min
Views13K

Что может быть хуже костылей? Только неполно документированные костыли.


image


Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_array содержит число 0x8089. Другими словами, массив my_array располагается в памяти, начиная с адреса 0x8089.


В то же время столбец Type даёт нам несколько иную информацию: my_array является массивом из 4 элементов типа int16_t, расположенным в ПЗУ (это обозначается словом prog, в отличие от data для ОЗУ), начиная с адреса 0x18089. Стоп, но ведь 0x8089 != 0x18089. Какой же на самом деле адрес у массива?

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments27

Банальная проблема незапуска AVR, решение которой глубоко под землей

Reading time2 min
Views12K

Представим: купили вы новый камень для своего проекта, а он - зараза - не шьется! Все собрано правильно, программатор правильный - всё равно ошибка. Знакомо? Мне да.

Вам тоже?
Total votes 8: ↑7 and ↓1+6
Comments27

Настройка VSCode для программирования AVR в Linux

Reading time9 min
Views9.6K

Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллерари AVR и получить удобную навигацию по коду, приятную подсветку синтаксиса и прочие рабости, которые даёт VSCode. Это даст желающим возможность перейти от экосистемы Arduino к прямой работе с процессорами.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments8

8 ферзей на AVR-ассемблере

Reading time4 min
Views8K

Фанатам ассемблера посвящается.

Всем привет! Решил подключить матрицу светодиодов 8х8 и вывести на неё решение задачи о 8 ферзях. [Описание см. на Википедии]

Процессор

В качестве процессора я выбрал компактный и шустрый процессор attiny85. Программа будет написана на ассемблере. С небольшими настройками программа должна работать на любом другом процессоре AVR: attiny и atmega.

Дисплей

В качестве дисплея используем матрицу светодиодов, которая состоит из 8 вертикальных рядов и 8 горизонтальных строк со светодиодами.

Читать далее
Total votes 18: ↑15 and ↓3+12
Comments5

Как разработать микросхему, от идеи до результата. Часть 1. Теория

Reading time19 min
Views24K
Пока наши соседи по цеху спорят о конкурентоспособности Эльбруса, я продолжаю идти к своей заветной цели — склепать свой собственный Отечественный Процессор (TM). Ранее я рассказывал про программу, финансируемую Google, которая позволяет энтузиастам бесплатно получить прототип их разработок в кремнии. Если вы хотите увидеть всю подноготную процесса производства современных чипов, то этот туториал точно для вас!

Читать дальше →
Total votes 113: ↑112 and ↓1+111
Comments62

Как разработать микросхему, от идеи до результата. Часть 2. Установка программного обеспечения

Reading time9 min
Views9.6K
В этой статье мы поставим все необходимые инструменты для того, чтобы начать разработку микросхемы. Также мы установим Process Design Kit, про который мы говорили в предыдущей статье.

Напоминаю, что я продолжаю идти к цели — сделать свой собственный Отечественный Процессор (TM). Продолжение процесса разработки можно посмотреть под катом.

Читать дальше →
Total votes 66: ↑66 and ↓0+66
Comments18

Как разработать микросхему, от идеи до результата. Часть 3. Схемотехническое представление и Layout

Reading time14 min
Views8.4K
В прошлой статье мы установили все программы, а в этой части, мы наконец приступим к практической части. Готовьтесь, эта часть будет очень большой. Для тех кто пропустил прошлые части — ссылки ниже.



Как разработать микросхему, от идеи до результата. Ссылки на все статьи։

В этой части мы:

  1. Будем рисовать схему, используя XSCHEM
  2. Произведём симуляцию нашей схемы, используя NGSPICE
  3. Поймём цикл производства микросхемы
  4. Нарисуем Layout, используя KLayout

Предполагается, что вы уже прочитали предыдущие материалы. Если мне удалось вас заинтересовать, прошу под кат!
Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments18

Как разработать микросхему, от идеи до результата. Часть 4. DRC/LVS/PEX

Reading time12 min
Views5.7K
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.




В этой части мы:

  1. Запустим Design Rule Check, чтобы проверить возможность произвести нашу схему
  2. Запустим Device Extraction для сравнения нашего Layout с целевой схемой.
  3. Произведём сравнение наших компонентов из Layout и нашей схемы, которую мы нарисовали в XSCHEM.
  4. Сгенерируем netlist с паразитными конденсаторами и резисторами (PEX).
  5. Просимулируем netlist с паразитными конденсаторами и резисторами.
  6. Сгенерируем LEF файл.
  7. Подведём итоги этой серии статей.
Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments8

Проектирование измерителя частоты до 100МГц

Reading time9 min
Views14K

Этот проект посвящен созданию простого частотомера, способного измерять частоту до 100МГц с точностью 0.002%. За основу я взял ATtiny414, задействовав при этом его таймер/счетчик TCD0 и систему событий.
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments28

Проигрыватель мелодий из игры Monkey Island

Reading time18 min
Views4.5K

Приключение начинается...

Кратко:

  • Я модифицировал DOSBox для извлечения пар значений частоты/задержки мелодий PC-спикера из игры «Остров обезьян».
  • Затем с помощью алгоритма Хаффмана я втиснул всю эту музыку в ATiny85 (512 байтов ОЗУ, 8Кб флэш).
  • После этого собрал небольшую плату с динамиком для ее воспроизведения…
  • … в качестве подарка моим племянникам и племянницам, с которыми встречусь в ближайшем будущем спустя год изоляции из-за пандемии.

Все верно – их дядя откровенный ботан, позаботившийся о том, чтобы детство племяшей не прошло без знакомства с Гайбрашем Трипвудом:)
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments13

Как сделать свой клон Arduino, и есть ли в этом смысл

Reading time3 min
Views8.4K

Многие начинающие и не только ардуинщики столкнувшись с проблемой нехватки памяти и пинов бегут покупать более мощные Arduino MEGA / DUE. Всегда ли можно этого избежать? Как создать свой клон Arduino с прошивкой через USB?

Читать далее
Total votes 16: ↑6 and ↓10-4
Comments19

Собираем свой AM-передатчик кода Морзе

Reading time8 min
Views15K

Это проект по сборке простого маломощного AM-передатчика кода Морзе, позволяющего передавать сообщения, которые можно будет принимать на любом транзисторном радиоприемнике в средневолновом диапазоне. Этого диапазона вполне достаточно для передачи между комнатами в доме, и при этом нет риска пересечься с каналом радиовещания.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments33

Реализуем подобие DMA на микроконтроллерах AVR

Reading time3 min
Views6.9K

Всем привет. Довелось мне писать довольно большой проект на AVRках. Как известно у них не очень большие скорости 16 МГц, у тех же STM32 можно гнать 72МГц и выше. Но опыта на STM мало, по этому пока AVR. Так вот мне нужно было в проекте передавать данный по UART, посылки не большие 10-15 байт, скорость 9600. Если все это дело реализовать в основном цикле, то это очень сильно тормозит систему. А у меня помимо этого есть еще куча других задач. Единственный выход использовать прерывания. Посмотрел несколько примеров в интернете, некоторые из них сложные, другие я даже не понял как работают, и по итогу сделал как понимал, и теперь делюсь с вами.

И так в первую очередь нам необходимо сформировать то что хотим отправить, то есть получить буфер для отправки, не важно как sprintf или itoa. Допустим определим буфер:

Читать далее
Total votes 19: ↑9 and ↓10-1
Comments28

Lazarus-AVR, №1. Программирование микроконтроллеров AVR в IDE Lazarus

Level of difficultyEasy
Reading time3 min
Views8.2K

Вот появилось желание написать небольшой проектик для себя с применением микроконтроллера. В CodeVisionAVR команды не подсвечиваются по Ctrl+Пробел, да и Си что-то начал забывать, вспоминать - лень... Конечно, вспомнить Си - это 10-30 минут, но лень... Поэтому, было решено начать проект в родной IDE Lazarus, она же кросс-компилируемая! Правда, понять, как включить avr в Lazarus, чтоб компилировался hex-файл ушло 3 дня :), поэтому пишу здесь, чтоб другие не мучались, а сразу пользовались.

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments23

Меньше, еще меньше! Делаем вольт-ампер-ватт метр на Attiny85

Reading time4 min
Views15K

Ну вот наконец добрался до Attiny85, все хотел чего-нибудь сделать на них. А тут коллеги решили с гальваническими покрытиями поиграться. Путем нехитрых доработок блок питания для светодиодных дисплеев на 5В 60А стал регулируемым. А вот контролировать такие токи нечем. Шунт на 75мВ при 50А в местных магазинах мы нашли, а вот головку к нему нет, а стоять считать чего там милливольты показывают на мультиметре- такое себе.

Читать далее
Total votes 72: ↑70 and ↓2+68
Comments19
1
23 ...