Заполучил контроллер ATtiny45. Научился прошивать, поигрался с блинками, теперь хочу реализовать двухстороннюю связ UNO и тиньки, желательно по serial. Наверное мои вопросы будут тупыми но в общем вот: 1) Где у тиньки45 ножки rx и tx. Смотрю в даташит и не понимаю. 2) Подключать нужно rx-tx, tx-rx напрямую? Просто проводами соеденить?
1) Нигде, у ATtiny45 вообще нет UART. 2) Но есть SPI и выводы DI, DO (data input, data output). Если контроллер ведомый, тогда DI=MOSI, DO=MISO, а если ведущий, тогда наоборот DI=MISO, DO=MOSI.
Но можно сделать. http://tinyurl.com/neyvxpe Написано на Си откомпилить в AVR Studio или Кодвижн и зашить.И будет Вам щастье. А лучше возьмите ATtinny 2313 там всё есть на борту!
Ха!Ну Вы даёте!2313 и так мощный инструмент особенно если писать на Асме ну а 4313 и вовсе....Я взял парочку правда пока не юзал.Надоть сделать Ардуино на 2313
Смотря какие задачи... что-то с легкостью влазит в tiny13, а чему то и старших контроллеров маловато. Печально, что на этой мелочи библиотеки пролетают из-за размера кода, а напрямую через регистры неудобно периферией пользоваться и код получается нечитаемый.
Подскажите новичку. Хочу запрограммировать attiny45 через arduino. Скетч написал. Используются порты 2,4,7,12, (без PWM) и A0. На какие номера надо поменять порты, для работы с attiny.
У ATTiny 45 всего 6 пинов. Соответственно пины от 0 до 6 можно использовать как цифровые. Аналоговые A1,A2,A3 совмещены с пинами 2,4,3 соответственно. A0 совмещен с Reset. подозреваю, что для его использования требуется этот самый reset отключить, что может создать проблемы при прошивке (будет ограничен выбор способов прошивки). Так что номера можно поменять, например, на 0,1,2,3 и A2 (ноги AtTiny 5,6,7,2 и 3 соответственно, если ничего не напутал).
Хех!А никак.Пишите на Асме или на чистом Си.Да и програмировать тоже придётся через ISP. В attiny45 нет бутлоадера в принципе так что Скетч Вы никак туда не зальёте
Вполне вероятно. Но, согласитесь, "не рационально" и "невозможно" - разные понятия. Рационально или нет - решается в каждом конкретном случае, главное чтоб была возможность.
Это я имел ввиду.Но сказал бы-бессмысленно.Заливать бутлоадер (его ещё надо нагуглить!) соизмеримый или больший по размеру чем основная программа-ну уж нафиг лучше через ISP на "чистом Си" Да и "цена вопроса" М-8 и Тини-45 одинакова.Сразу возникает вопрос-смысл?
Простите великодушно, но пустой скетч для тини45 весит 326 байт. Это не мало, но это далеко не половина от 4Кб. Оставшихся ~3.7 Кб большинству с лихвой хватит, чтоб считать показания с датчика и включить - выключить релюшку. Все выкладки про "чистый Си" и Асм конечно великолепны, но не стоит забывать, что мы на форуме ардуино, а ардуино, по-большому, любительская платформа. И сфера профессиональной деятельности многих обитателей форума (моя в том числе) очень далека от программирования на "чистом Си"/Асме и микроконтроллеров. Среда Arduino IDE тем и хороша, что позволяет практически любому прикоснуться к программированию микроконтроллеров. А дальше - кому как понравится. Поэтому не надо всех отправлять учить "чистый Си" и Асм, а лучше помогите чем можете, и мы будем Вам благодарны. Сорри за оффтоп.
Есть документированный фокус с ардуиной, который позволяет залить скетч на ATTiny из Arduino IDE. Конечно, это некоторые потери памяти и не всегда вполне эффективно, но не смертельно и в простых случаях вполне сойдет. Бутлоадера, кстати, насколько я понимаю, на ATTiny от этого не появляется.
Для этого в ардуино загружается стандартный скетч ArduinoISP, в меню программатора выбирается Arduino as ISP и через ISP как раз программируется все. Только надо еще вот отсюда https://code.google.com/p/arduino-tiny/ скачать и установить тиньки для arduino. Вот например кусок моей платы который я так программировал:
Здравствуйте. А подскажите пожалуйста, как будет выглядеть кусок кода для управления реле через контроллер attiny 2313 ??? Светодиодом мигал )))
Реле с точки зрения контроллера - этот тот же светодиод, только не светит, а контакты переключает. Ну и подключать его надо не через резистор, а через транзистор (кто его знает, какой там ток получится в обмотке реле, и будет ли оно срабатывать, если резистор поставить). Но с точки эрения кода это никакой разницы не имеет.
Всем доброго времени суток, написал скетч для ATtiny45, но получаю ошибку "avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45". Что с этим делать? Вот сама программа int i; //Счётчик. boolean a; //Показывает, включён ли свет. int vvod = 3; //Пин на датчик движения. int vivod = 1; //Пин на светодиод. void setup()// Объявление контактов и говорим, что свет выключен { pinMode(vvod, INPUT); pinMode(vivod, OUTPUT); a=false; } void loop() { //если датчик движения заметил движение и свет выключен, то плавно включаем светодиод и ждём 5 секунд. if (digitalRead(vvod)==HIGH and a==false) { for(i=0; i<255; i++) { analogWrite(vivod, i+1); delay(20); } delay(5000); a=true; } //------------------------------------------------------------------------ //Если датчик в течении двух секунд не видит движение и свет включен, то плавно гасим свет. if (a==true) { for(i=0 ; i<20; i++) { if (digitalRead(vvod)==HIGH) a=false; delay(100); } if (a==false) a=true; else { a=false; for(i=0 ; i<256; i++) { analogWrite(vivod, 255-i); delay(20); } } } //----------------------------------------------------------------------- delay(1000); }