Пытаюсь завести SPI на atmega8a. Собираю на макетке схему: 2 atmeag8a, одна - master, другая - slave. Соединяю PB3, PB4, PB5 у микросхем друг с другом (PB3 первой микросхемы с PB3 второй и т.п.). У микросхемы master соединяю PB2 с питанием, у микросхемы slave соединяю PB2 с землей. К обоим микросхемам подключаю uart. Кварц - 20Mhz.
ncrmnt а зачем в bindings-avr-hard.c объявляется SPI_SS? Судя по разводке nrf24l01 там нет slave select пина. Это нужно для общего решения, когда такой пин в разводке беспроводного модуля может быть или какая-то скрытая причина есть?
P.s. может создать одну тему, типа «вопросы к ncrmnt по antares» и писать в нее все вопросы?
ncrmnt я тут смотрю rf24boot и не могу понять как работает метод LibRF24Transfer::execute. Если submit() вернул false - все понятно. А вот дальше цикл, который с первого взгляда никак не изменяет переменную currentStatus и потенциально может быть бесконечным. Или тут несколько потоков или что?
ncrmnt а почему библиотека rf24 лежит в antares? Не отдельно и не в rf24boot, а именно в antares? На это есть тайные причины или же так сложилось исторически?
program test;
function add(c1, c2 : integer) : integer;
begin
add := c1 + c2;
WriteLn('test');
end;
begin
WriteLn('Hello world ', add(1, 2));
end.
ожидаю получить вывод:
test
Hello world 3
получаю
Hello world test
3
Почему так? Такое ощущение что второй параметр вычисляется не перед вызовом WriteLn, а как-то лениво. В документации про ленивость ничего найти не смог, вижу только value parameters / variable parameters, то есть по сути либо по ссылке либо по значению, но передаться параметры должны сразу же.
Возникла задача отправлять и получать различные тестовые смс-ки с реальных номеров. Хочется это дело автоматизировать. Существует ли в природе модем на 2 - 4 - 8 - 16 симок который можно воткнуть в linux-машину через usb и отправлять-получать смс-ки (если можно еще и ussd запрос со звонками делать - то было бы просто супер) через какое-то апи? Если такого устройства нет, то интересует, как на одной stm32 или avr-ке общаться с несколькими sim900 (или что сейчас моднее?) модулями? Я смотрел - на микроконтроллерах обычно 1 - 2 uart-а, как общаться с 4 или 8 устройствами в этом случае? SPI?
Где нынче модно заказывать платки небольшие 1 - 2 слойные? Хотел на seeedstudio, а там paypal предлагает мне создать новый аккаунт, а существующий использовать отказывается. Поддержка у них молчит.
Увидел тут отладочную плату PinBoard II на easyelectronics. На первый взгляд удобная, дороговато конечно, но удобная. Кто что может сказать про эту плату? Стоит ли брать для avr/stm32?
Обновлял тут debian с 7 на 8 на днях, поменял в sources.list версию на jessie, все как положено. При обновлении aptitude выдал огромное количество конфликтов, а apt-get обновил и ничего не сказал. Почему так может быть?
Время от времени меня посещают мысль сделать гусеничного робота на raspberry pi с камерой и удаленным управлением, при этом каждый раз встает проблема с питанием. Наилучшим решением для подобного рода моделей, на мой взгляд, является li-po аккумуляторы, которые можно купить в любом магазине радиодеталей. Но кроме самого аккумулятора необходим блок слежения за уровнем заряда с отключением батареи от нагрузки при достижении некоторого критического уровня. Очень хочется, чтобы этот блок (микросхема, плата с aliexpress, etc) имел интерфейс позволяющий с raspberry pi с помощью какого-то протокола (uart, spi, и т.п.) получить информацию о том, что сейчас происходит с батареей, когда произойдет отключение и т.п.
Большинство управляемых моделей на этом и останавливаются, но, мне кажется не очень удобным каждый раз для заряда аккумулятора извлекать его из поделки и использовать внешний хитроумный зарядник с балансировкой. Намного удобнее было бы заряжать аккмулятор как в ноутбуке - втыкаешь 2 провода с постоянным током, скажем на 11В и контроллер заряда все делает как надо.
В итоге, уважаемые лоровцы, хочу получить совета: есть какие-то микросхемы или платы для контроля батареи и есть ли какие-то готовые микросхемы или платы для заряда многобаночных li-po, чтобы все это хозяйство можно было засунуть в корпус поделки вместе с аккумулятором и забыть про проблему заряда раз и навсегда.
Пока что все мои программки для микроконтроллеров достаточно маленькие и простые, но со временем они усложняются. Поэтому начал задумываться о том, как дебажить свой код. Если с хостовым сишным кодом все более-менее просто: есть gdb и всякие ide, то как быть с кодом для микроконтроллеров? Как дебажить? У меня простой самопаянный программатор usb-asp, для дебага нужно что-то более крутое?
Хост - ubuntu или mac os x. Если под винду средства разработки будут сильно лучше - раздобуду винду.
Посоветуйте бумагу для ЛУТ чтобы можно было ее купить в каком-нибудь магазинчике местном или на алиэкспресс. Сейчас использую кальку: результат устраивает, но лишняя морока напрягает, т.к. нужно вырезать кусок из рулона, приклееть его скотчем к листу А4 и только потом печатать.
Запускаю ct-ng build, оно отрабатывает и говорит https://gist.github.com/ft232r/3b5b6c2f3c9c96dd8c41. Смотрю build.log в надежде что-то найти, вижу только https://gist.github.com/ft232r/391710837f0eeed3dbb3. Воткнул echo в соответствующий скрипт, вижу что система сборки пытается запустить arm-module-linux-gnueabihf-gcc, при этом единственный собранный gcc который я нашел в папке .build называется x86_64-build_unknown-linux-gnu-gcc (uname -a выдает Linux ubuntu 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux).
Возникает вопрос: может быть у меня не доустановлены все необходимые зависимости или же crosstool-ng кривая?
Скоро должна прийти долгожданная платка. Хочется интегрировать ее в робота вместо RPi. Робот передает видеопоток на хост. Для RPi это делалось через Raspberry Pi camera module. Возникает вопрос - какую камеру и как прикрутить к MB 77.07 (нужен realtime поток на хост через wi-fi с минимальной задержкой).
Хочу подключить bluetooth модуль HC-06 к atmega8a и запитать их от некоторого общего 5в источника тока. Правильно ли я понимаю, что мне нужно перед bluetooth поставить стабилизатор на 3.3в, а между TX ножкой atmega8a и RX ножкой bluetooth модуля сделать делитель напряжения? Какие-то еще действия нужно предпринять чтобы не сжечь bluetooth?
У меня есть трек, соединяющий минус DC-DC преобразователя, микросхему ATmega8A и драйвер моторов L293D. Хотелось бы чтобы часть этого трека, которая от DC-DC до меги была одной ширины (т.к. мега потребляет мало) а часть которая от DC-DC до L239D - другой ширины (потолще, ибо моторы, токи, все такое). Но KiCad помечает трек одним названием - Net-(C1-Pad1), приделывает к этому треку еще с десяток различных секций и не хочет по-отдельности редактировать ширину. Можно ли как-то принудительно разбить трек на два разных (визуально - это и есть 2 разных трека) и выставить им разные Net-классы?
Хочу сделать схему управления розеткой 220В, чтобы можно было по таймеру включать разные девайсы типа чайника или лампочки. Одно из самых мощных устройств которым хочется рулить - стиральная машинка, которая легко может съесть 10-15А. С точки зрения управления - схема достаточно топорная (без диммирования): запитал ножку atmega8a - розетка включилась, убрал питание - розетка отключилась, но возникает вопрос рассчета номиналов компонентов.
Судя по указанным выше максимальным нагрузкам - хочу использовать симистор BTA25-800CW3G (25А, изолированный корпус TO-220) и симисторную оптопару MOC3063M с ZeroCrossing. Схему подключения беру типовую из даташита на оптопару, ножку мк держу под напряжением все время пока розетка должна работать.
А вот дальше начинаются вопросы. Как рассчитать размер радиатора, который надо навесить на симистор, чтобы стиральная машинка со включенным нагревом не расплавила симистор? Как посчитать параметры конденсатора и резистора в снабберной сети? Нужно ли вешать радиаторы на элементы снабберной сети?
Нельзя ли как-то в Pcbnew не только импортировать netlist, но и авторазместить компоненты и дорожки на плате? Просто имхо, задача-то рутинная и может быть автоматизирована хотя бы перебором. Есть ли какие-то проприетарные продукты которые могут такую хотелку?
Есть трехбаночный Li-Po аккумулятор. Банки соеденены последовательно. Есть балансировочный разъем. Можно ли с помощью одной atmega8a померить напряжение на каждой банке? То есть нужна именно схема подключения, как снять информацию с разных ножек - это я умею. Пока сам рисовал схему - всегда получалось так что 1 - 2 банки замкнуты накоротко, что конечно не очень хорошо. Чувствую что задача элементарная.
Делаю небольшой контроллер 3х баночной LiPo батареи для Raspberry Pi. Схема достаточно проста: DC-DC преобразователь конвертирует 12В в 5В и подает их на RaspberryPi. Параллельно с RaspberryPi подключен контроллер ATmega8A-PU, который измеряет входное напряжение и в случае падения до определенного уровня (10.5В) - зажигает предупреждающий светодиод (в будущем - поставлю реле, через которое подключу всю схему и avr-ка будет не зажигать диод, а отключать питание катушки реле и соответственно - отрубать нагрузку). Поскольку я совсем начинающий - хотелось бы обсудить схему подключения: http://storage8.static.itmages.ru/i/14/0723/h_1406144007_8214639_49e9858eb4.png Тут я подключаю контроллер входом PC6 к батарее через делитель и получаю 1/11 часть напряжения. С другой стороны через эту же батарею через DC-DC преобразователь (такой http://ru.aliexpress.com/item/LM2596-LM2596S-ADJ-Power-supply-module-DC-DC-St...) я запитываю сам контроллер. В качестве референсного напряжения для АЦП используется внутренний 2.56 вольтовый сингал.
Подскажите пожалуйста, правильно ли составлена эта простая схема? Ничего не намудрил? Ничего не замкнул? Заранее спасибо за ответы!