Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Отправляйся в погоню за легендарными сокровищами Бабы Яги в 3D!
А в это время Баба Яга отправится в погоню за тобой.

Убеги от Бабы Яги

Аркады, Мидкорные, 3D

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Микроконтроллеры + Программирование

С этим тегом используют

Электроника Arduino Своими руками Stm32 Самоделки Радиолюбители IT Программист IT юмор Разработка Python Картинка с текстом Юмор Все
110 постов сначала свежее
95
ArturosTV
ArturosTV
8 лет назад
Arduino & Pi

Высокоскоростная фотография с помощью Arduino⁠⁠

Высокоскоростная фотография с помощью Arduino Arduino, Микроконтроллеры, Микроэлектроника, Фотография, Электроника, Радиолюбители, Программирование

Фотограф Bryan Rolfe использовал Ардуино для скоростного фотографирования лопающихся мыльных пузырей. Исследования показали, что оптимальным способом детектирования разрыва мыльной плёнки является включение пузыря в электрическую цепь вместо одного из плеч резистивного делителя. Плата Arduino Leonardo измеряет напряжение на делителе и при обнаружении разрыва мыльной плёнки отмеряет заданный промежуток времени и активирует фотовспышку.


Изменяя этот промежуток времени, можно получить фотографии различных этапов разрыва мыльной плёнки. Фотоаппарат при этом настроен на длительную экспозицию, а съёмка проводится в затемнённом помещении.


Мануал есть вот тут: http://www.instructables.com/id/High-Speed-Droplet-Photograp...

Показать полностью 1
Arduino Микроконтроллеры Микроэлектроника Фотография Электроника Радиолюбители Программирование
7
46
L0N3W01F1447
8 лет назад
Arduino & Pi

Энтузиаст создал Linux-систему размером с iPhone 5 на базе Raspberry Pi⁠⁠

Энтузиаст создал Linux-систему размером с iPhone 5 на базе Raspberry Pi Tproger, Raspberry pi, Raspberry, Технологии, Программирование, Микроконтроллеры, Устройство, Видео, Длиннопост

Что будет, если скрестить смартфон и одноплатный компьютер Raspberry Pi Zero W за 10 долларов? Например, Zero Terminal.


Что это такое?


Zero Terminal — это проект, созданный человеком, известным под ником N-O-D-E. Он превратил Pi Zero W в компьютер размером с телефон с выдвижной QWERTY-клавиатурой и сенсорным дисплеем. Устройство работает не на мобильной ОС, а на полноценном десктопном дистрибутиве Linux, Raspbian.


Являясь полноценным компьютером, Terminal обходит фундаментальное ограничение Pi, которое заключается в необходимости использования монитора и клавиатуры для полноценного функционирования.


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

Однако N-O-D-E обещает создать альтернативную модель Terminal, которая будет использовать более мощную, но большую по размеру плату Raspberry Pi 3 Model B.


Zero Terminal оснащён заряжаемым аккумулятором емкостью 1,500 мАч. К нему можно подключить монитор и мышку через HDMI- и USB-порты, в отличие от «голого» Pi Zero W, требующего дополнительных переходников. Корпус устройства напечатан на 3D-принтере, а выдвижная клавиатура является частью чехла для iPhone 5. Когда N-O-D-E закончит работу над корпусом, он выложит файлы для 3D-печати в открытый доступ.


Однако если вы хотите создать свою версию такого устройства, все детали можно найти в свободной продаже. Вам понадобятся дисплей Adafruit PiTFT Plus, сама плата Raspberry Pi Zero W, контроллер Adafruit Powerboost 1000c, батарея на 1500 мАч и платы для microSD. Вы можете найти более подробную информацию на страничке проекта.


Характеристики устройства:


32-разрядный 1-ядерный процессор Broadcom BCM2835 на базе ARM частотой 1 ГГц;

512 МБ ОЗУ;

Выход mini-HDMI;

1 USB-разъём;

Разъём micro-USB для зарядки;

Cлот для карт памяти формата microSD;

Экран диагональю 3,5’’ с разрешением 480×320;

Полная QWERTY-клавиатура;

802.11b/g/n Wi-Fi;

Bluetooth 4.0;

Аккумулятор емкостью 1500 мАч.


На сайте разработчика можно найти много других интересных проектов, советуем взглянуть. Кроме того, совсем недавно мы писали про систему для пополнения запасов кофе на базе Pi Zero, а в прошлом году — про игровую консоль внутри NES-контроллера. Также для всех любителей Raspberry приятной новостью будет тот факт, что компьютеры этой серии заняли третье место в списке самых продаваемых компьютеров, обойдя Commodore 64.


Источник: Tproger

Показать полностью 1
[моё] Tproger Raspberry pi Raspberry Технологии Программирование Микроконтроллеры Устройство Видео Длиннопост
77
244
AlexGyver
AlexGyver
8 лет назад
Arduino & Pi

Знакомимся с платформой разработки гаджетов для начинающих и самых маленьких⁠⁠

[моё] Микроконтроллеры Программирование Видео
78
DELETED
8 лет назад
Arduino & Pi

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO⁠⁠

В этой статье я постараюсь подробно осветить все моменты, касающиеся прошивки Attiny85 в среде ArduinoIDE, и рассказать и некоторых граблях и трюках, через которые я прошел.



Основная цель затеи - "сжать" проекты, особенно там, где атмега328 является мощным оверкиллом - например не так много кода, или используется не более пяти выводов. Ну и сэкономить место и продлить работу от батареи (но о последним в следующих статьях).


Отличия attiny25 от 45 и 85 - объем памяти: 2, 4, 8 кб соответственно. Так же есть 13, 1 кб.

Из функций - пара независимых таймеров для ШИМ, 5(6) портов ввода вывода (6 потому что RESET тоже можно настроить, как порт ввода вывода, но для сброса понадобится специальное устройство), и самое приятное - внутренний кварц на 128 кГц, 1, 8 или 16 МГц, то есть внешний резонатор не нужен, а частоту работы можно изменить прямо в студии ардуино. Так же есть BOD-детектор (вырубает чип, если напряжение питания ниже определенного).


Порезал картинку, чтобы не получить по голове от неразглядевших. Оригинал

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

Итак, вы урвали у жадных китайцев себе пяток тинек85, надо их проверить, а то вдруг наебали. Не стушевавшись, втыкаем в бредборд и ищем первую ногу - она помечена точкой. Это сброс или ресет, соединяем ее с 10 портом UNO, ищем четвертую ногу, цепляем к земле, 5, 6, 7 цепляем последовательно к 11, 12, 13 портам. 8 к +5В. Поздравляю, сетап готов. Можно ещё воткнуть конденсатор между RESET и GND у уны, но (меня сейчас закидают) у меня все работает и так. Предполагаю, что кондей - защита от наводок.


Теперь пора навести порядок в студии - зайти в менеджер плат и набрать "attiny", после чего скачать среднюю позицию (больше вариантов и настроек, плюс впитала в себя другие варианты):

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

Установили, теперь надо залить в уно скетч из примеров под названием ArduinoISP, после чего уже можно начинать настраивать нашу тиньку к работе:

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

С завода все тиньки идут прошитыми на 8 МГц, для того чтобы поменять эту частоту на 16, или изменить что-либо из списка - надо перезаписать загрузчик, обычно занимает секунд 10. После перезаписи можно залить обычный Blink для проверки работоспособности и верности выбранной частоты, только надо поменять номер 13 пина на 3 или 4, поскольку остальные заняты.


Но при перепрошивке очередной тиньки каждый раз городить на бредборде кашу из проводов? Не, я думаю, что есть вариант получше: можно сделать шилд для программирования тинек:

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост
Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

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

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

Поскольку круглые (на фото ниже) могут плохо держать или терять контакт, хотя за своими такого не замечал пока.

Сжимаем проекты или как запрограммировать AtTiny85/45/25 с UNO Программирование, Микроконтроллеры, Arduino, Attiny, Длиннопост

Остальные содинения точно такие же, как в начале статьи, единственное - светодиод + 220 Ом резистор на 3 пине.

Показать полностью 7
[моё] Программирование Микроконтроллеры Arduino Attiny Длиннопост
5
4
DELETED
8 лет назад
Arduino & Pi

Немного о портах и битовых операциях⁠⁠

Многие из вас видели и наверно даже понимают, что такое

DDRB |= (1 << 5);

PORTB |= (1 << 5);

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


Основная опасность и в то же время преимущество управления портами напрямую без прослоек типа digitalWrite() - это то, что вы можете управлять сразу 8 портами всего за 1 строчку кода, которая в свою очередь выполняется достаточно быстро, намного быстрее стандартной функции.

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


Например надо настроить на вывод 11, 12, 13 порт уны, а 8, 9, 10 не трогать. Для этого нужен оператор "ИЛИ", который обозначается '|':

DDRB |= B00111000;

или

DDRB |= (B111 << 3);

Оба варианта делают абсолютно одно и то же. Сдвиг влево (<<) задается количеством бит, на которое сдвигается значение. Сдвигая B111 на три бита, получаем B111000. Можно сказать, что мы добавляем определенное количество значащих нулей.


Теперь разберем, почему оператор | так важен. Для этого надо понять, что делает этот оператор:

0101 (decl 5)  

0011 (deс 3)

OR=

0111 (dec 7)

Если по-простому - при установке единицы меняет 0 на 1, а при установке 0 в бит, где есть единица - не меняется ничего, так же и при установке ноля в 0. То есть мы установили на вывод три бита, не затронув остальные, которые так же могли быть уже назначены выводами.


Но если надо выставить 0 так, чтобы не прибить остальные биты в 0, нужен оператор "И", обозначающийся &. Так же к нему понадобится оператор "НЕ" - обозначается ~.


Итак, выключаем светодиод на 13 пине:
PORTB &= ~(1 << 5);

или

PORTB &= ~B00100000;

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

Итак, ~ переворачивает все с ног на голову:

~B00100000 = B11011111

А оператор & как раз нолем меняет любую единицу на ноль, а единицей не меняет ничего. В итоге - 1 выключенный бит без беспокойства остальных. "И" в двоичной математике - это умножение: умножаем 1 на 0 - и получим 0, а 1*1=1.


Так же есть исключающее "ИЛИ" или XOR в английском варианте - ^. С помощью него можно поменять значение определенного бита. Например:
B11011111 ^= B00110000;
будет иметь в итоге

B11101111.

Вкратце: с помощью единицы меняем бит на противоположный, ноль ничего не делает.


Теперь можно поговорить о цифровом чтении портов. Перед чтением необходимо установить 0 в нужные биты:
DDRB &= ~B00000001;

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


И благодаря тому, что мы оперируем сразу 8 портами одновременно, можно не городить конструкции типа
if(digitalRead(8) && digitalRead(9) && digitalRead(11) && digitalRead(13)){....}

А сделать небольшую маску сравнения:

if(PINB & B00101011){....}

Работает точно так же, но экономит место в памяти контроллера, плюс выигрыш в быстродействии. Главное от наводок защититься подтягивающими резисторами, иначе даже digitalRead не спасет.



Напоследок расскажу один чит, который подглядел в оригинальных библиотеках для shiftOut, и не сразу смог понять, что же он делает:
!!(val & (1 << i))

Разгадка оказалась на поверхности, но о ней по порядку: '!' - это НЕ в логических операндах, работает так:
!1=0

!255=0

!0=1


В данном случае двойной восклицательный знак позволяет привести 8, 16, 32... битное число с помощью маски в один лишь бит, без всяких нолей, значащих и нет:

0. !!(val & (1 << i))

1. !!(B1110 & (1<<2))

2. !!(B0100)

Поскольку B0100 равно или больше единицы, однократное НЕ приведет к нолю, а двухкратное к единице, переход через 0 позволяет оставить лишь суть:

3. !(0)

4. (1)


Таким нехитрым образом можно разобрать любое число на отдельные биты.

Показать полностью
[моё] Arduino Программирование Микроконтроллеры Мазохизм Длиннопост Текст
18
137
techn0man1ac
techn0man1ac
9 лет назад
Arduino & Pi

Arduino Nano V3 - лучшая плата для старта в теме ардуино⁠⁠

Привет Arduino комьюнити на пикабу. Хочу представить мой видеообзор Arduino Nano V3 платы:

Почему именно Arduino Nano V3? Да потому что она недорогая(на aliexpress они продаются меньше чем за 1.8 доллара за штуку), к тому же у этой платы есть всё что нужно для старта - крутой микроконтроллер ATmega328(есть ещё версии с урезанным ATmega168, но лучше доплатить пару центов, и взять полноценную ардуинку), поддержка популярных интерфейсов SPI, I²C, UART, что делает плату совместимой с всеми датчиками, к тому же плата довольно таки небольшая по размерах. Вот она на фоне AA батарейки аккумулятора:

Arduino Nano V3 - лучшая плата для старта в теме ардуино Arduino, Arduino Nano V3, Mrподелкинц, Программирование, Микроконтроллеры, Электроника, Устройство, Видео, Длиннопост
Arduino Nano V3 - лучшая плата для старта в теме ардуино Arduino, Arduino Nano V3, Mrподелкинц, Программирование, Микроконтроллеры, Электроника, Устройство, Видео, Длиннопост

На плате присутствует Mini USB разъём, на том же алиэкспресс есть обновлённая версия с Micro USB, кабель с этим разьёмом сейчас есть у каждого, правда опять же такая плата на пару центов будет дороже.

И кстати, это именно и есть та ардуинка, которую я использовал для создания инерционного трекера:

http://pikabu.ru/story/inertsionnyiy_treker_na_baze_arduino_...


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


Ещё советую ардуинку покупать на базе USB-UART преобразователя CH340G - будет меньше проблем с драйверами. Драйвера для CH340G ищутся по первой/второй ссылке в гугле по запросу "CH340G driver".

Подробнее по данной плате можно почитать на официальном русскоязычном сайте по теме ардуино:

http://arduino.ru/Hardware/ArduinoBoardNano


Там же есть отличный форум:

http://arduino.ru/forum


И справка по синтаксису:

http://arduino.ru/Reference


По поводу "С чего начать?" я бы посоветовал посмотреть видеоуроки Джереми Блюма:

https://www.youtube.com/playlist?list=PLfDmj22jP9S759DT250VV...


Я и сам когда-то смотрел, повторял, учился... Хотя я и сейчас учусь. Мир микроконтроллеров просто громадный, и постоянно развивается, вычислительная мощь растёт, а размеры и цена - падают.


Если вкратце, то наверное всё, дополняйте меня в комментариях если на чём-то не обострил внимание или что-то опустил.

Показать полностью 2 1
[моё] Arduino Arduino Nano V3 Mrподелкинц Программирование Микроконтроллеры Электроника Устройство Видео Длиннопост
56
2
iii0123
iii0123
9 лет назад
Создайте сообщество

Электроника и электронщики⁠⁠

Хоть тема и достаточно узкая, но постов на Пикабу достаточно, чтобы создать сообщество тех, кому это интересно.

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

[моё] Электроника Микроэлектроника Программирование Микроконтроллеры Текст
0
10
BAREXTE
BAREXTE
9 лет назад
Создайте сообщество

Hello, Микроконтроллер!⁠⁠

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


Посты которые писал я:

http://pikabu.ru/story/mikrokontroller_03_quotpreryivaniyaqu...

http://pikabu.ru/story/mikrokontroller_02_quotbegushchie_ogn...

http://pikabu.ru/story/mikrokontroller_01_pilot_2493613


А также многое другое по тегу "микроконтроллеры"

http://pikabu.ru/tag/%EC%E8%EA%F0%EE%EA%EE%ED%F2%F0%EE%EB%EB...

Микроконтроллеры Программирование Своими руками Текст
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии