Поиск по сайту

Результаты поиска по тегам 'Attiny13a'.

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

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

Тип публикаций


Категории и разделы

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

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


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


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

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

  1. Коротенький "бип"

    Привет всем. Помогите с кодом, нужно озвучить нажатие кнопки, подключенной к порту PB0, то есть просто издать короткий "бип" одной частоты (примерно 1000 Гц) и длительностью примерно 0.2 секунды. Везде, где искал, сразу создают кучу нот, разные тона, используют прерывания, мне же надо только один короткий бип. Выполняться оно должно в теле цикла: while (1) { while(PINB&0b00000001); // ждем нажатия на кнопку на порте PB0 <вот здесь должен быть бип> п.с. забыл добавить - выполняться код будет на Attiny13a
  2. День добрый дорогие друзья! Нужно сделать девайс на микроконтроллере . Но особенность его в том , чтобы он питался от линии телефона . Вижу перед собой решение запитать от 5в и управлять ключами от МК. Вопрос заключается в организации стабилизатора напряжения для МК . И какой максимальный ток через линию допускается чтобы АТС не посчитала что линия занята? В общем любые рекомендации будут для меня полезны! Заранее спасибо .
  3. Добрый день! Программирую в Arduino IDE, программатор Arduino ISP, других к сожалению нету. Решил поменять скорость работы контроллера ATTiny13A при помощи смены fuse. Менял через Arduino IDE, которая подставила такую команду C:\Program Files\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf -v -v -pattiny13 -cstk500v1 -PCOM3 -b19200 -e -Uhfuse:w:0xFF:m -Ulfuse:w:0x7b:m После чего достучатся до контроллера теперь никак не могу. Вот, что пишет avrdude: avrdude: Version 6.3, compiled on Dec 16 2016 at 13:33:19 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM3 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATtiny13 Chip Erase delay : 4000 us PAGEL : P00 BS2 : P00 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: PAGEL and BS2 signals not defined in the configuration file for part ATtiny13, using dummy values avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 (retrying) Ошибка при записи загрузчика. Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude done. Thank you. Опция -F, которую предлагает avrdude, не помогает. Пробовал менять битрейт (опция -b), но в таком случае выдаёт ошибку stk500_getsync, что обычно бывает, если битрейт выбран неправильно. Судя по фьюзам http://www.engbedded.com/fusecalc/, я просто убрал CKDIV8, что должно ускорить внутренний таймер в 8 раз, и убрал флаг CKSEL0, что вместе со снятым CKSEL1 устанавливает частоту контроллера в 128 КГц (вместо заводских 9.6 МГц). Вобще ничего не говорит о том, что контроллер залочился. Приконнекчен к программатору по такой схеме Причём, до замены фьюзов работало и без кондёра. А после не работает и с ним. Что можно попробовать? Можно ли вернуть контроллер к заводским настройкам и как вобще поменять внутреннюю скорость таймера без таких вот багов?
  4. Здравствуйте. Подскажите каким лучшим способом лучше питать Attiny13A + 2 светодиода? Гальваническая развязка не обязательна. Выпрямитель должен быть полупериодный (при отсутствии гальванической развязки). Полное потребление не более 60 мА. Искал по интернету - про балластный конденсатор говорят, что при включении возможен скачок и сгорание МК, про ИИП, что помехи. Посоветуйте!
  5. Нужно реализовать плавное включение и выключение светодиода на мк attiny13a (схема простая : мк(5вывод)-LED). Реализовал с помощью такого кода: [size=2]#include <avr/io.h>[/size] [size=2]#include <util/delay.h> int main(void) { DDRB = 0x1; PORTB = 0x01; TCCR0A=0x83; TCCR0B=0x02; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00;[/size] [size=2]for(; { do // Нарастание яркости { OCR0A++; _delay_ms(5); } while(OCR0A!=255); _delay_ms(1000); // Пауза 1 сек. do // Затухание { OCR0A--; _delay_ms(5); } while(OCR0A!=0); _delay_ms(4000); // Пауза 4 сек. } }[/size] Но до конца он не выключается. Что нужно сделать, чтобы 4 сек диод был полностью погашен? (Настройки мк полностью заводские)
  6. Пишу прошивку для управления всяким с пульта от телека, столкнулся с непонятным мне поведением программы (об этом ниже). Прошивка: #define F_CPU 4800000L // 4.8 Мгц #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define INVERT_PIN(x) PORTB ^= x /* PB2 (7) - реле (ВЫХОД). PB1 (PCINT1) (6) - ИК-приёмник (ВХОД). PB0 (PCINT0) (5) - сенсорная панель (ВХОД). PB3 (2) - светодиод (ВЫХОД). PB4 (PCINT4) (3) - кнопка (ВХОД). */ volatile char is_sensor_active = 0; volatile unsigned int rc_code = 0; volatile unsigned int etalon_rc_code = 0; // http://www.atmel.com/webdoc/AVRLibcReferenceManual/group__util__delay_1gad22e7a36b80e2f917324dc43a425e9d3.html // 262.14 / 4.8 = 54.61 мс - это максимальная задержка для данной частоты, до которой можно использовать _delay_ms. void delay_ms(unsigned int period) { while(--period) { _delay_ms(1); } } ISR(PCINT0_vect) { is_sensor_active = 1; } int main() { DDRB = 0b00001100; // Срабатывание прерывания при смене логического уровня на ножках. MCUCR = 0b00000001; // Прерывание генерятся при изменении уровня на ножках. GIMSK = 0b00100000; // Выбор генерящих прерывание пинов. PCMSK = 0b00000010; sei(); while(1) { if( is_sensor_active ) { cli(); rc_code = 0; for( int i = 0; i < sizeof(rc_code) * 8; ++i) { rc_code = (rc_code << 1) + ((PINB & 0b00000010) >> 1); _delay_ms(16); } if( etalon_rc_code == 0) etalon_rc_code = rc_code; if( etalon_rc_code == rc_code) { INVERT_PIN(0b00000100); } else { for( int i = 0; i < 10; ++i) { INVERT_PIN(0b00001000); _delay_ms(30); } } is_sensor_active = 0; delay_ms(240); sei(); } } return 0; } Как я ожидаю она должна работать: как только на ножке 6 сменится логический уровень, с ножки же 6 будет считано четырехбайтовое беззнаковое целое, принято за эталон команды и на ножке 7 установится лог. 1. При повторном зажигании прерывания снова будет считана команда, сравнена с эталонной и, если совпадает, инвертируется ножка 7. В противном случае помигать ножкой 2. Как оно на самом деле работает: вне зависимости от была ли команда верной или нет, контроллер дергает ножкой 2. Отсюда я делаю вывод, прерывание почему-то зажигается дважды. Но ведь не должно же! Вопрос: что же я упустил, приводящее к такому поведению? При обработке команды я прерывания запрещаю же, потом обратно включаю.