Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'Atmega328P'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Автомобильная электроника
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Радиопередатчики
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • Arduino, ESP32, ESP8266, Raspberry Pi
    • AVR
    • STM32
    • PIC
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Курилка
    • Сайт Паяльник и форум
    • FAQ (Архив)
    • Технический английский (English)
    • Личные блоги
    • Наши проекты для Android и Web
    • Корзина
    • Конкурсы сайта с призами
    • Вопросы с VK
  • Переделки ATX->ЛБП
  • Переделки разные темы
  • Киловольты юмора Юмор в youtube

Блоги

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • Интересное и полезное
  • Ремонт Амфитон 35у-101с
  • ульян's блог
  • Свет в грузовой газели
  • Блок питания 0-12В для начинающих
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Skype


ICQ


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено: 12 результатов

  1. Karl-Ieronim

    VU meter на ATMega328

    Коллеги, всем привет. Увидел вот такой проект. Несмотря на явную привлекательность что-то совсем мало повторивших. Может кто-то из завсегдатаев форума делал этот проект? Интересует ваше мнение: хочу повторить, но не силен в программировании, поэтому беспокоюсь на счёт подводных камней с которыми не смогу справиться.
  2. RIMUS1989i

    Анализатор спектра LED

    Здравствуйте. Затеялся собрать анализатор спектра на светодиодах, 20x20 светодиодов, МК ATMEGA328P. Долго ломал голову, как переключать столбцы без использования МК, дабы его не загружать.И вот что у меня получилось. Набросал тестовую прошивку для теста в протеусе. При инилизации подается импульс на вторую ножку U4a, и на предпоследнем столбце. Думал сетку сделать на 5 сдвиговых регистрах (как раз 40 сигнальных линий), но боюсь мощности МК не хватит для обработки FFT и вывода на матрицу, будет подвисать. Кто что думает по поводу схемы? бегущая строка.pdsprj Natali_2012_program.hex
  3. Доброго времени суток, господа. Никик я не могу прошить атмегу. Всегда выводится такая ошибка: avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Раньше у меня получалось прошивать ее, но на 16 МГц. Решил, что способен прошить и на 8 МГц. Скачал пару библиотек и.... ничего, выдало ошибку. Первым делом я подумал, что все плохо с проводкой. У меня, кстати, TQFP32 адаптер, но я подумал, что контакт через макетную плату и UNO слишком слаб, поэтому припаял к выводам адаптера провода и вставил их в UNO. Как итог - ничего не поменялось. Менял я и UNO на NANO, переделывал схему (вставлял резистор от RES до VCC и наоборот, вставлял конденсатор между RES и GND у UNO), подключал резонатор на 16 МГц. А ошибка вся таже. Чё делать?
  4. Всем привет! Давно разрабатываю проект беспроводного и живучего датчика температуры. Вообще изначально я хотел найти готовое устройство с понятным интерфейсом взаимодействия. Что бы без гемороя и танцев с бубном можно было подключать датчик температуры к любому проекту (Как пример: часы на ГРИ или ВЛИ) и просто выводить температуру. К сожалению ничего вменяемого я не нашел. Либо датчики используются в закрытой эко-системе. Либо это BLE с которым вообще не понятно как работать ибо информации почти нет. Решил попробовать разработать такую вещь самостоятельно. Конечно это изобретение велосипеда, но лично для себя я практиковался с BME280, nrf24l01 и сном МК. Как минимум тут выгода есть Вот что получилось. Приемник и передатчик. Немножко информации. Приемник: МК (328p) + USB to COM (CP2102) ____ (Дополнительно светодиод и расшивка SPI) частота 8MHz от внутреннего кварца Передатчик: МК (328p) + BME280 + nrf24l01 + бат CR2032 +Опорное напряжение ____ (Дополнительно светодиод и расшивка SPI, uart, кнопка) частота 1MHz от внутреннего кварца Что по потреблению: Очень долго пытался понять по мультиметру, но он постоянно как то врал. При первом сне показывал 40мкА, а потом с каждой итерацией сна прибавлял +10мкА. В общем поставил стрелочный прибор на 100мкА По прибору. ЕСЛИ ВСЕ ШТАТНО РАБОТАЕТ!!!!! Во время сна стрелка лежит в 0. При измерении и отправке 70-100мкА. Но стрелка мгновенно дергается и потом сразу в 0. ВОТ Дальше я зашел в тупик! И мне нужна ваша помощь! 1) У меня в СОМ порт постоянно летят логи программы и как выяснилось это очень много жрет энергии. Странность вот в чем. Если вытащить провода Тх, Rx то МК как бы зависает несколько секунд для отправки пакета.... скажите разве у UART есть подтверждение отправки пакета? 2) Я решил убрать вообще весь код UART. И все равно если убрать провода Тх, Rx то зависание присутствует (Зависание я фиксирую на стрелочном приборе. Как максимальное потребление и неуход в сон). PS/ питаю все от 3,3в с платы конвектора 3)Теперь я подключаю батарейку она у меня немного подсевшая 2,8в, Но я планировал что устройство должно работать до 2в! . Раз я отключил UART, то решил использовать светодиод как метку как выполняется код. И вот еще САМАЯ СТРАННАЯ проблема. Программа не стартует! Вообще. Идет большое потребление тока, но светодиод не горит. Почему так происходит? ___________________________________________(У меня есть предположение что это бутлоадер как то не так себя ведет..... ) PS/ в Фьюзах я отключил отслеживание питания.
  5. Здравствуйте, помогите, пожалуйста, данная программа должна несколько раз инкрементировать введеное с клавиатуры значение, например, если я ввожу 31, то на выходе должно получиться 31 32 33 34, а в протеусе получается вот. Прилагаю код. lab_4_1.asm
  6. В последнее время слишком много работаю с МК avr, постоянно что-нибудь изучаю на нем, и начал задумываться о создании отладочной платы "под себя". Надобность в этой роскоши понадобилась из-за того, что по 20 раз вытаскивать МК и шить его, а потом вставлять обратно из-за каждой мелкой ошибки очень неудобно. Поскольку я пока только изучаю микроконтроллеры, то такие мелкие ошибки появляются постоянно, и очень много совсем не лишнего времени уходит на перепрошивку отдельным программатором. Плата должна подключаться по USB к компьютеру, и прошиваться по одному клику avrdude, а так же нужна возможность использовать любые МК avr. Всего по минимуму, МК, USB, макетка, кварц на всякий пожарный. А так же схема стабилизации питания при подаче через клеммник или DC разъем. Ну и защита от переполюсовки и КЗ на входе. И проблема только с автоматическим программированием МК на схеме, ничего не разбирая и не вынимая. Как на ардуино. Сейчас имеется ATmega328P, на которой я и работаю . Полазив в интернете нашел много вариантов отладочных плат с встроенным программатором, однако ни на одной из них он не подключался напрямую, а был просто "рядом". Все равно вытаскивать, шить и вставлять обратно, как я понял. Какие есть варианты для создания подобной отладочной платы? Впихнуть на нее какой-нибудь небольшой программатор на подобии USBasp или USBtiny, или использовать схемы FT232RL или PL2303? Сделал разводку платы для первого варианта с USBasp, однако не нашел нигде никакой информации по поводу можно так делать или нельзя, и почему. И как можно тоже. Также видел варианты макетных плат под конкретные модели микроконтроллеров, где не используются никакие дополнительные микросхемы. Прошу помочь разобраться в этом вопросе и найти хорошее решение.
  7. Есть такая задачка, сваять измеритель мощности на atmega32p. Первое время все шло гладко, вроде и схему сваял и код написал #define F_CPU 8000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> //-------------------------------------------- unsigned int i; unsigned char R1=0, R2=0; //-------------------------------------------- void segchar (unsigned char seg) { switch(seg) { case 1: PORTD = 0b11111001; break; case 2: PORTD = 0b10100100; break; case 3: PORTD = 0b10110000; break; case 4: PORTD = 0b10011001; break; case 5: PORTD = 0b10010010; break; case 6: PORTD = 0b10000010; break; case 7: PORTD = 0b11111000; break; case 8: PORTD = 0b10000000; break; case 9: PORTD = 0b10010000; break; case 0: PORTD = 0b11000000; break; } } //-------------------------------------------- void timer_ini(void) { TCCR1B |= (1<<WGM12); OCR1AH = 0b00001111; //записываем в регистр число для сравнения OCR1AL = 0b01000010; TCCR1B |= (1<<CS11);//установим делитель. } //-------------------------------------------- unsigned char n_count=0; //-------------------------------------------- ISR (TIMER1_COMPA_vect) { if(n_count==0) {PORTB&=~(1<<PORTB0);PORTB|=(1<<PORTB1);segchar(R1);} if(n_count==1) {PORTB&=~(1<<PORTB1);PORTB|=(1<<PORTB0);segchar(R2);} n_count++; if (n_count>1) n_count=0; } //-------------------------------------------- void ledprint(unsigned int number) { R1 = number%10; R2 = number/10; } //-------------------------------------------- void ADC_Init(){ ADCSRA |= (1 << ADEN) // Включаем АЦП |(0 << ADPS1)|(0 << ADPS0); // устанавливаем пределитель преобразователя на 8 ADMUX=(1<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3)|(1<<REFS0)|(0<<REFS1); } int main(void) { unsigned int u; ADC_Init(); timer_ini(); DDRD = 0xFF; DDRB = 0b00111111; PORTD = 0b11111111; PORTB = 0b0000000; i=0; sei(); ledprint(97); while(1) { unsigned int u, u_VCC; ADCSRA|=(1<<ADEN) //Включение АЦП |(1<<ADPS1)|(1<<ADPS0); // Предделитель преобразователя на 8 ADMUX|=(0<<MUX0)|(1<<MUX1)|(1<<MUX2)|(0<<MUX3)//Вход PC0 |(1<<REFS0)|(0<<REFS1); //AVcc является опорным напряжением ADCSRA |= (1 << ADSC); //Начинаем преобразование while ((ADCSRA&(1 << ADIF))== 0); //Ждем флага окончания преобразования u = (ADCL|ADCH << 8); // Считываем ADC if (u > -32767){ PORTD = 0b00000110; }else{ PORTD = 0b00111111; } /* switch(max) { case -1: PORTD = 0b00000110; break; case -2: PORTD = 0b01011011; break; case -3: PORTD = 0b10110000; break; case -4: PORTD = 0b10011001; break; case -5: PORTD = 0b10010010; break; case -6: PORTD = 0b10000010; break; case -7: PORTD = 0b11111000; break; case -8: PORTD = 0b10000000; break; case -9: PORTD = 0b10010000; break; case 0: PORTD = 0b00111111; break; case 1: PORTD = 0b00000110; break; case 2: PORTD = 0b01011011; break; case 3: PORTD = 0b10110000; break; case 4: PORTD = 0b10011001; break; case 5: PORTD = 0b10010010; break; case 6: PORTD = 0b10000010; break; case 7: PORTD = 0b11111000; break; case 8: PORTD = 0b10000000; break; case 9: PORTD = 0b10010000; break; };*/ /* PORTB = 0b11111110; PORTD = 0b00000110; _delay_ms(1); PORTB = 0b11111111; Центральный верхний PORTB = 0b11111101; PORTD = 0b01011011; _delay_ms(1); PORTB = 0b11111111; //Левый верхний PORTB = 0b11111011; PORTD = 0b01001111; _delay_ms(1); PORTB = 0b11111111; //Правый нижний PORTB = 0b11110111; PORTD = 0b01100110; _delay_ms(1); PORTB = 0b11111111; //Центральный нижний PORTB = 0b11101111; PORTD = 0b01101101; _delay_ms(1); PORTB = 0b11111111; //Левый нижний PORTB = 0b11011111; PORTD = 0b01111101; _delay_ms(1); PORTB = 0b11111111; */ } } только вот значение получаемое в "u" (в нее мы ADC получаем) равно -32768 вместо положенного диапазона от 100 до 600, может кто подскажет чего?
  8. Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей: Main.c: #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c: #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c: #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }
  9. Приветствую всех. Появилось желание спроектировать игрушку Pong на диодах и мк Atmega328P(т.к. дома валяется) на макетной плате. Уверенно знаю asm, Си, С++, но абсолютно не шарю в схемотехнике. В протеусе вроде бы мигает и код вполне работает, но на практике все не так просто. Как правильно питать мой мк? Знаю, что ему нужно напряжение 5 вольт, но читал, что нужно чтобы оно было бесперебойным, какие-то схемы с непонятными для меня конденсаторами. Вроде бы нужно подключать стабилитрон. Объясните пожалуйста подробно что, за чем и почему нужно подключать (очень важно именно почему, хочется разобраться).
  10. sh30fr

    atmega328p AU и PU разница

    Прошу помощи у знающих. В наличии программатор tl866cs и atmega328p-PU. Чип шьется вдоль и поперек без проблем. Есть три чипа atmega328p-AU. Установил на адаптер. Попробовал прошить. Ошибка. Чипы новые, от разных продавцов. ID читается, стирание проходит без ошибки, но по результату - безрезультатно((. Фьюзы не шьются. Пробовал через ISP шить, тот же результат. Вопрос. Есть ли различие в алгоритме прошивки AU и PU?
  11. Помогите пожалуйста разобраться, программа не работает. Есть задумка через bluetooth terminal на телефоне передавать команду(ноль или единицу) на bluetooth модуль HC-05, подключенный к atmega328p и таким образом управлять светодиодом. Но почему то светодиод не загорается. Соединил выходы bluetooth модуля и атмеги так: tx -> rx, rx -> tx, светодиод подключен к нулевому биту порта B(PB0). В чём может быть ошибка? question.txt question.txt
  12. Доброго времени суток. Понадобился генератор прямоугольных импульсов с независимой регулировкой частоты и скважности. Диапазон 0,1 - 1000 Гц, шаг регулировки 0,1 Гц. Длительность импульсов от 10 мкс, шаг регулировки 10 мкс. Частота и длительность выводятся на дисплей, в герцах и миллисекундах. Макс. скважность 50%. Хотел все реализовать в Atmega328, поскольку она все равно есть в устройстве, хотя и до этого я никогда не программировал вообще. Все, что я смог придумать - это сделать предделитель таймера на 1, установить прерывание по совпадению на 16 (отсчитали 1 микросекунду) и в прерывании изменять переменную х+1. Соответственно сравнивая с двумя другими переменными - подавать 1 или 0 на ножку МК. Вроде бы худо-бедно работает, но при этом дисплей жутко тупит - секунд по 5 выводятся данные. Если вызывать прерывание по совпадению на 126 (160-34 цикла) - тогда все приемлемо, но длительность импульса конечно будет меняться с шагом 100 мкс. а не 10. Режим СТС не подходит, да и шаг изменения будет 16000000\256= 62500; 1\62500=0,000016 мкс., а хочется кратно10-ти. Собственно, вопрос: как реализовать такой генератор на МК? Поможет ли ускорить работу МК такие ухищрения как собственный кварц для таймера, или подключение дисплея напрямую без регистра сдвига? Гуглится очень много подобных тем, но решения вопроса нет ни в одной. Вот кусочек моего индусского кода: void WorkOn() { OCR0A=126; // Количество импульсов соответствующих 10 микросекундам. 16 МГц /160 - 34 TIMSK0=(1<<OCIE0A); TCCR0B=0x01; //Предделитель тактовой частоты - 1. UpdateFrequency(); } ISR (TIMER0_COMPA_vect){ // Генератор импульсов. TCNT0=0;//обнуляем регистр TCNT1 Timer0Count=Timer0Count+1; // Счетчик таймера, 1 ед. = 10 Микросекунд. if (Timer0Count == DelayTime){ // Если счетчик таймера соответствует паузе между импульсами. PORTB |= 1<<3; // Начало импульса.} if (Timer0Count == PeriodTime){ // Если счетчик таймера соответствует периоду. PORTB &= ~(1<<3); }// Конец импульса. Timer0Count=0;} // Сброс счетчика. } void UpdateFrequency() { PeriodTime = 1000000/Frequency; // Период = 1 сек./частота(Гц). PulseTimeMax = PeriodTime/2; // Максимальная скважность - 50%. if (PulseTime > PulseTimeMax) // Если была увеличена частота и скважность стала более 50% {PulseTime = PulseTimeMax;} DelayTime=PeriodTime-PulseTime; }
×
×
  • Создать...