Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование ATtiny13
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт янв 24, 2020 07:17:35

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 104 ]    , , 3, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Чт ноя 14, 2019 13:36:23 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
неа, не работает у меня в протеусе, может думаю, если взять и прошить в тиньку и посмотреть.

Добавлено after 28 minutes 24 seconds:
Стал колом и дальше не двигаюсь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Чт ноя 14, 2019 16:11:58 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 0
olegue, всё-таки внимательно посмотрите, включая схему подключения. Чем у меня отличается от того, что у вас. У меня-то работает.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Чт ноя 14, 2019 20:20:07 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
NStorm писал(а):
olegue, всё-таки внимательно посмотрите, включая схему подключения. Чем у меня отличается от того, что у вас. У меня-то работает.


NStorm,Охотно верю, к Вам у меня кроме благодарности за содействие в изучении, нету никаких претензий. Сам понимаю ,что анекдот. Я уже поставил даже другую версию Протеуса 8.7 и в ней тоже лампочками не моргается. Надо сделать перерывчик и успокоится. А заодно прошить реальную тиньку.

Добавлено after 1 hour 12 minutes 25 seconds:
NStorm, Может будет это иметь отношение, а как у Вас получается так что диод моргает. У меня диод не моргает, а моргает обычно синий квадрат возле диода (синий/красный)?

Добавлено after 1 minute 40 seconds:
я уже до отладчика добрался. Расставил точки оставнова, трассирую строки. Но в функцию ISR(PCINTO_vect) никак не заходит. Ни при запуске , ни при нажатии кнопок.

Добавлено after 1 hour 2 minutes 34 seconds:
NStorm, можете сбросить мне ваш проект?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Чт ноя 14, 2019 20:29:37 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 0
В стандартной библиотеке компонентов в протеусе есть модели LED-RED, LED-GREEN и LED-BLUE - они анимированные, если их ставить, будут так подсвечиваться.
Отладка AVR в протеусе может работать криво кстати.
Какая версия тулчейна у вас (компилятора), какой и откуда ставили? В настройках тиньки в протеусе (свойства объекта) меняли что-то?

Добавлено after 8 minutes 35 seconds:
NStorm, можете сбросить мне ваш проект?

https://yadi.sk/d/Btk5KOhqQLcA3Q


Вернуться наверх
 
DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи.

Читать статьи>>
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Чт ноя 14, 2019 22:31:16 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
заработало!
КАк дело было. Скачал Ваш проект. Он оказался версией выше, скачал портабельную 8.7, запустил. Ваш проект сразу заработал

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

Пошел опять в 8.5, создал новый проект, создал новую схему, а заодно удалил WinAVR-20100110 и установил его заново.

И сразу все заработало. Спасибо. Можно двигаться дальше.

Добавлено after 3 minutes 7 seconds:
Изображение

что это за стрелка такая?

Добавлено after 1 minute 30 seconds:
Короче дело было не в бобине, .... сидел в кабине


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Пт ноя 15, 2019 06:45:40 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 1
Цитата:
что это за стрелка такая?

Vcc, питалово тобишь.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Пт ноя 15, 2019 13:55:21 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
ну думаю немножко продвинуть
Повесил на INT0 увеличеине переменной s на 100, чтбы потом в цикле регулировать частоту моргания.
Ну все по классике. И вот что она мне выдала

Изображение



Код:
//#define F_CPU 1200000UL
#define LED PB2
#define BUTTON1  PB3 // PCINT3
#define BUTTON2 PB4 // PCINT4

#define BUTTON0 PB0 // КНОПКА НА INT0

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
unsigned int s=500;
// Обработчик прерывания PCINT0
ISR(PCINT0_vect)
 
{
   
   _delay_ms (50) ; // антидребезг (использовать задержки в прерываниях некошерно, но пока и так сойдёт)
  if  (PINB & (1<<BUTTON0))
   {s=s+100;}
}

int main(void)
{

  // Пины кнопок
  DDRB &= ~((1<<BUTTON1)|(1<<BUTTON2) |(1<<BUTTON0)); // входы
  PORTB |= (1<<BUTTON1)|(1<<BUTTON2) | (1<<BUTTON0); // подтянуты
  // Пин светодиода
  DDRB |= (1<<LED); // выход
  PORTB &= ~(1<<LED); // выключен
  // Настройка прерываний
   
  GIMSK |=(1<<INT0);
 // GIMSK |= (1<<PCIE); // Разрешаем внешние прерывания PCINT0.
  PCMSK |= (1<<BUTTON1)|(1<<BUTTON2) | (1<<BUTTON0); // Разрешаем по маске прерывания на ногак кнопок (PCINT3, PCINT4)
  sei(); // Разрешаем прерывания глобально: SREG |= (1<<SREG_I)
    while (1)
    {
      PORTB ^= (1<<LED); _delay_ms(s);
     
    }
}


Добавлено after 1 minute 42 seconds:
а без этой строки в цикле while()
PORTB ^= (1<<LED); _delay_ms(s);

все отлично работает. Переменная (видно в отладчике) увеличивает свое значение

Добавлено after 3 minutes 10 seconds:
на _delay_ms(s) выдает ошибки. Чем ему не нравиться?

Добавлено after 1 hour 12 minutes 35 seconds:
обошел.

Код:
while(1)
for (i=1;i<s;i++)
{
PORTB^=(1>>LED);
_delay_ms(100);
}


не сам, конечно, придумал.
но в Атмеге видел как подставляют s в delay_ms.

Теперь в програмных прерываниях

Код:
if (PINB & (1<<BUTTON1))  // при нажатии -уменьшаяем частоту мигания
 {s++;}

if (PINB&(1<<BUTTON2)) // увеличиваем частоту мигания
{if (s>0)
   {
      s++;
   }
}


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Пт ноя 15, 2019 14:21:26 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 1
Цитата:
на _delay_ms(s) выдает ошибки. Чем ему не нравиться?

Нельзя этой функции передавать переменные. Новый компилятор вообще ругнется и не соберет так:
Код:
util/delay.h:187:2: error: __builtin_avr_delay_cycles expects a compile time integer constant

А старый видимо дублирует кучу функций, вот так много места и выходит. Там вообще используются вычисления с плавающей запятой, поэтому в новых версиях только во время компиляции статический расчет включен. Делайте как-то так:
Код:
void my_delay_ms(unsigned int n) {
 while(n--) {
  _delay_ms(1);
 }
}
...
my_delay_ms(s);


Добавлено after 1 minute 10 seconds:
PS: И прекращайте писать разные вызовы в коде в одну строчку, я уже об этом писал, это вредно.

Добавлено after 50 seconds:
Цитата:
но в Атмеге видел как подставляют s в delay_ms.

Это наверное в CVAVR, там функция другая.

Добавлено after 19 minutes 25 seconds:


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Сб ноя 16, 2019 18:21:32 
Друг Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 1039
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 3941
Откуда: Сердце Пармы
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
да квавр так может... но мне это ниразу не пригождалось...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 15:47:21 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
Придумал себе задачку. Управление с помощью радиомодулей одной кнопкой с помощью Аттини13
Радимодули (fs1000 и xy-mk-5v) О них известно, что сигнал они не инвертируют.

Хочу спросить как схематично это делается. Естественно хочу попробовать сначала сам порешать.

Нужно послать сигналы , как я понял , нужен ШИМ
А потом нужно принять этот ШИм и сравнить с предопределенным.

Создать шим по кнопке мне по силам. А вот дальше уже сложнее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 19:57:54 
Друг Кота

Карма: -9
Рейтинг сообщений: -226
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 3676
Откуда: Россия
Рейтинг сообщения: 1
Не совсем понял вопроса...
Вот тут например мы делали радиоуправление на любых модулях - https://radiokot.ru/forum/viewtopic.php?f=28&t=148087
Сначала определитесь с протоколом. А дальше всё стандартно))

Чтобы просто включить/выключить кнопку достаточно просто передать секретный код.
Код это просто любое произвольное число...
В двоичном виде типа так:
011010111010101010001111010101010 - включить кнопку.
101010000101111001010000111101010 - выключить кнопку.
Чем больше число, тем выше надёжность всех системы))

А приёмник (МК) просто принимает сигнал, переводит в числа и сравнивает с ранее записанным в память числом.
Если число (код) совпадает, то приёмник выполняет соответствующую команду - включить/выключить.
Всё))
Для простых (и самодельных) радио модулей лучше использовать пакетную передачу и частотную манипуляцию.
Вложение:
image102.jpg [33.13 KiB]
Скачиваний: 54

Просто. Надёжно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 21:13:21 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
ну максимум что я могу на аттини 13 - это включить светодиод кнопкой используя прерывания.

или моргнуть светодиодом, или выключить его.

что бы отправить число на порт вероятно есть какая-то функция
Что касается протокола, то здесь я не понял. Протокол поддерживается на уровне микроконтроллера - это тоже какая-то программная функция?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 21:51:20 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 1
olegue, ну вот, например: https://cxem.net/mc/mc315.php
Только мне кажется вы слишком высоко берете. Для начала с основами бы дальше разбираться. Таймеры освойте, ШИМ на них аппаратный и т.д. Вы попробуйте на _аппаратном_ ШИМ плавно зажигать и гасить светодиод для начала хотя бы )

что бы отправить число на порт вероятно есть какая-то функция

Нету. Самому надо писать. Для отправки элементарно.

Что касается протокола, то здесь я не понял. Протокол поддерживается на уровне микроконтроллера - это тоже какая-то программная функция?

Нету никаких функций. Это не ардуина ведь. Или пишем своё или берем чужое в сети. Модули тупые - что отправим в порт последовательно, то и смодулируют в радио, как я почитал про них (не работал с такими модулями).
А вот принять сложнее будет. Надо будет выделить сигнал из мусора.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 22:09:48 
Друг Кота

Карма: -9
Рейтинг сообщений: -226
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 3676
Откуда: Россия
Рейтинг сообщения: 0
для одной кнопки не нужны никакие функции... протоколы... и т.д.
достаточно просто передать один код на включение и этот же код передать на выключение. Всего нужен один секретный код. ))

число не нужно отправлять на порт. Мы просто включаем/выключаем порт через разные промежутки времени.

Функцию можно использовать только одну - delay. Этого достаточно для передачи любого кода))

Программа для тиньки ))
----------
#include <tiny13.h>
#include <delay.h>
void main(void)
{

// настроили порт:
DDRB.1=1;
PORTB.1=0;

// начало программы:
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...
PORTB.1=1; // включили
delay_ms(1); // подождали...
PORTB.1=0; // выключили
delay_ms(1); // подождали...
PORTB.1=1; // включили
delay_ms(2); // подождали...
PORTB.1=0; // выключили
delay_ms(2); // подождали...

// ... и т.д. на сколько хватит памяти тиньки ))

// конец программы.

}
----------

Работает просто.
Подаём питание на тинку через кнопку. На выходе тиньки видим вот такой код:
Вложение:
код.jpg [183.8 KiB]
Скачиваний: 54

01010... и т.д.))
Всё ))


Последний раз редактировалось roman.com Ср дек 11, 2019 22:29:29, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 22:28:38 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 3
roman.com, это не программа, а простыня извращений arduino-style.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 22:30:27 
Друг Кота

Карма: -9
Рейтинг сообщений: -226
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 3676
Откуда: Россия
Рейтинг сообщения: 1
:)))
Пишите свой вариант))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 22:39:05 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 1
Банально функции написать для отправки бита и пакета, чтобы не писать простыни. А еще нужна какая-то последовательность, для отделения данных от мусора. Можно ИК-протокол какой-нибудь за основу взять.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 22:58:56 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
roman.com, не могу дать профессиональную оценку как NStorm, но то, что это мой уровень - это 100% попадание. Что-то наподобие я и предполагал. Теперь вот думаю как будет выглядеть код на стороне приемника.

>NStorm,
Цитата:
Можно ИК-протокол какой-нибудь за основу взять.


В общих чертах, что такое протокол?

Добавлено after 15 minutes 15 seconds:
на приемнике,

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


а потом сравниваю с тем, кодом который должен быть.

Разве что так?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 23:14:34 
Грызет канифоль

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 263
Рейтинг сообщения: 1
В общих чертах, что такое протокол?

https://radiohlam.ru/nec/ - пример описания пожалуй самого распространенного протокола для ИК пультов.

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

А если не соответствует? А если сначала соответствовала, а следующий фронт - нет? А погрешности?

Оно-то так, но в идеальных условиях. В реальных нужно много чего учитывать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср дек 11, 2019 23:56:29 
Мудрый кот
Аватар пользователя

Карма: 13
Рейтинг сообщений: 48
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 1784
Рейтинг сообщения: 0
NStorm писал(а):
пример описания пожалуй самого распространенного протокола для ИК пультов.


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


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 104 ]    , , 3, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y