#include <EEPROM.h>
byte eep,b1,b2=0;
int pwm=0;
unsigned long time,timeB1,timeB2;
void setup()
{
pinMode(0,OUTPUT);
}
void loop()
{
pwm=constrain(pwm,0,255); //ограничиваем диапазон pwm от 0 до 255
time=millis(); //запускаем таймер и очевидные проверки,
eep=EEPROM.read(0); //проверить, запустилисть мы с нуля или нет
if(millis()-time<50&&pwm==0)
{
if(eep<=180) //если у нас шим был больше 180, то сбрасываем в базовые значения
pwm=eep;
}
b1=digitalRead(3); //кнопки
b2=digitalRead(4);
if(b1==HIGH) //определяем нажатие клавиш, 50мс для антидребезга и +1 для счётчика
{
if (millis()-timeb1>50)
{
timeB1=millis();
pwm++;
}
}
if(b2==HIGH) //определяем нажатие клавиш...
{
if (millis()-timeB2>50)
{
timeB2=millis();
pwm--;
}
}
analogWrite(0, pwm); //пишем значение шим
if (digitalRead(2)==LOW) //определяем есть ли напряжение до стабилизатора.
{ //(на тиньке висит толстый кондёр, если с блока
EEPROM.write(0,pwm); //питания пропадёт напруга - пишем текущее значение в еепром)
delay(500); //ну это буду подбирать в зависимости от толщины кондёра
}
}
спасибо за науку, но - как и в первом приведённом вариате. максимальное значение НЕ сбрасывается, а минимальное сбрасывается. если прописать pwm=constrain(pwm,1,255); то работает как надо, НО нет 0% шима.
если не использовать еепром - тоже работает адекватно и с 0% шима.
если переменную pwm присвоить byte, то и максимальное значение сбрасывается...
может попробовать писать в две ячейки еепрома? уже незнаю что и думать, из разряда - должно работать, а не работает.
если от старта девайса прошло меньше 50мс, плюс pwm в базовом значении да ещё и шим на момент выключения был не более 180, то запускаем движок со значением из еепрома. что я сделал не так?
да прочитайте внимательнее. у вас это крутится в loop. и получается от старта девайса только первый раз, а потом постоянно повторяется. прочтете внимательнее и поймете почему постоянно шим становится равным eep
да прочитайте внимательнее. у вас это крутится в loop. и получается от старта девайса только первый раз, а потом постоянно повторяется. прочтете внимательнее и поймете почему постоянно шим становится равным eep
знаю не по наслышке, что такое "замылился глаз". могу не видеть очевидных вещей, в данном условии если millis()-time больше 50мс (хоть сейчас и проверил на 5мс) то шим НЕ приравнивается к еер.
иначе регулировка с кнопок не работала бы и движок крутился со скоростью из еепрома, так?
ну для меня то это решение очевидно, я же и спросил - где я ошибаюсь?
#include <EEPROM.h>
byte eep,B1,B2=0;
byte pwm=0;
unsigned long time,timeB1,timeB2;
void setup()
{
pinMode(0,OUTPUT);
eep=EEPROM.read(0);
pwm=eep;
}
void loop()
{
B1=digitalRead(3); //кнопки
B2=digitalRead(4);
if(B1==HIGH) //определяем нажатие клавиш, 50мс для антидребезга и +1 для счётчика
// ++++ кнопка по моему некорректно в некоторых случаях будет обрабатываться
{
if (millis()-timeB1>50)
{
timeB1=millis();
if (pwm < 255){ //++++ это чтобы не переполнялся PWM и не переходил в ноль после 255
pwm++;
}
}
}
if(B2==HIGH) //определяем нажатие клавиш...
{
if (millis()-timeB2>50)
{
timeB2=millis();
if(pwm>0){
pwm--; //++++ чтобы не было скачка с 0 на 255
}
}
}
analogWrite(0, pwm); //пишем значение шим
if (digitalRead(2)==LOW) //определяем есть ли напряжение до стабилизатора.
{ //(на тиньке висит толстый кондёр, если с блока
EEPROM.write(0,pwm); //питания пропадёт напруга - пишем текущее значение в еепром
delay(500); //ну это буду подбирать в зависимости от толщины кондёра
}
}
#include <EEPROM.h>
byte eep,B1,B2=0;
byte pwm=0;
unsigned long time,timeB1,timeB2;
void setup()
{
pinMode(0,OUTPUT);
eep=EEPROM.read(0);
pwm=eep;
}
void loop()
{
B1=digitalRead(3); //кнопки
B2=digitalRead(4);
if(B1==HIGH) //определяем нажатие клавиш, 50мс для антидребезга и +1 для счётчика
// ++++ кнопка по моему некорректно в некоторых случаях будет обрабатываться
{
if (millis()-timeB1>50)
{
timeB1=millis();
if (pwm < 255){ //++++ это чтобы не переполнялся PWM и не переходил в ноль после 255
pwm++;
}
}
}
if(B2==HIGH) //определяем нажатие клавиш...
{
if (millis()-timeB2>50)
{
timeB2=millis();
if(pwm>0){
pwm--; //++++ чтобы не было скачка с 0 на 255
}
}
}
analogWrite(0, pwm); //пишем значение шим
if (digitalRead(2)==LOW) //определяем есть ли напряжение до стабилизатора.
{ //(на тиньке висит толстый кондёр, если с блока
EEPROM.write(0,pwm); //питания пропадёт напруга - пишем текущее значение в еепром
delay(500); //ну это буду подбирать в зависимости от толщины кондёра
}
}
вот о чём я и говорил - простейшее и очевидное решение, а я протупил. ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
поигрался с шимом, 37,5 не понравилось, на затворе полевика прямоугольники ломаются, полевик греется. если уменьшать ядром, то получается 4,6кгц - движок песни поёт.
взгруснулось, заглянул в даташит - вообще депресняк. полез в гугль, койчего накопал. расположу здесь, чтоб не потерять.
void setup()
{
PORTB=0x00; //записать в весь порт В 0
DDRB=0x01; //настроить порт В 0x01: по другому 000001 (1 означает выход, 0 вход)
TCCR0A=0xC1; // настраиваем аппартанный шим на PB0 с частотой 17кГц
TCCR0B=0x01; //делитель
OCR0A=0x00; //обнуляем пин
}
void loop()
{
OCR0A=127;//50% шима
}
в итоге получил частоту 17кгц, правда шим в инверте, но это всё фигня, главное движок не слышно, полевик не греется и на меандр любо-дорого посмотреть
Спрасибо за интересную тему, сам атмегу 8 запрограмировал так, вопрос - при установке архива в Arduino-1.0.4 у меня встало только 2мк (Аттини 13 9.6MHz и Аттини 13 1MHz (defauld)) так и должно быть?
А так очень интересна цена ее -25р в Перми, остальные стоят наравне с атмега 8.
А так очень интересна цена ее -25р в Перми, остальные стоят наравне с атмега 8.
в Китае десяток тини13 можно купить за 4.5 доллара (порядка 18 рублей по сегодняшнему курсу за штуку). Десяток мег стоит 8 за простую и 10 за мегу8 с индексом А (усовершенствованная версия)
"Итак, для начала нам нужно скачать(силка из 2-го поста)данный архив(взято отсюда) положить файлы по адресу "\Documents\Arduino\hardware\" должно получится чтото типо "C:\Users\Администратор\Documents\Arduino\hardware\attiny13\cores\core13". "
Хм, ну тогда получается правильно, главное, чтоб мк неумертвить из за незалитой инфы. Надо будет купить и залить скеч на моргание светика в мк.
По моему опыту умертвить можно если играться с опцией зашить загрузчик, а так ничего произойти не должно.
Выбирайте дефолтные (Attiny13 1 MHz (default)) настройки и всё.
Народ, почему-то не получается нормально ресетить тиньку по ватчдогу, вот код:
#include <avr/io.h>
#include <avr/wdt.h> // здесь организована работа с ватчдогом
#include <avr/sleep.h> // здесь описаны режимы сна
#include <avr/power.h>
//#include <avr/interrupt.h> // работа с прерываниями
int main( void )
{
DDRB = 0b10111; // порти PB0-PB2 и PB4 встановленні на вихід, PB3 на вхід.
PORTB = 0x00; // установим низкий уровень на всех портах
WDTCR |= _BV(WDE); // разрешаем WDTIE
/*
PB3 делитель 5 кОм и 1 кОм(земля) + подстроечный резистор на 500 Ом
PB4 реле
PB0 1-й светодод 100% заряда - 12.5 В.
PB1 2-й светодод 65% заряда - 11.7 В.
PB2 3-й светодод 35% заряда - 11.1 В.
*/
if(analogReadOversampled() <= 401 ) { // для обеспечения гистерезиса после отключения
// при 11.7 В просыпаемся
PORTB |= (1<<2); // подмигнём, типа спим но питание есть
system_sleep_8S();
}
/*for(byte i = 0; i <= 2; i++){ // диагностика
PORTB = 1<<i;
delay(500); //_delay_ms(50);
}*/
while(1){
//wdt_enable(WDTO_1S); // защита от зависаний, не сбросим через
// если не сбросим тогда будет ресет
PORTB &= ~(1<<0);
PORTB &= ~(1<<1); // гасимо світлодіоди 100% 65% 35%
PORTB &= ~(1<<2);
int voltage = analogReadOversampled();
if(voltage >= 358 && voltage <= 512) {
PORTB |= (1<<4); // Якщо напруга більше ніж 10.5 і менше чим 15 В вмикаємо реле і запускаємо виконання циклу
if(voltage >= 445 ) { // якщо напруга більше ніж 13 В то мигаємо усіма світлодіодами
delay((((542 - voltage) / 4) * 50));
} // інтенсивність мигання залежить від величини напруги, є 4 режими інтенсивності
if(voltage >= 428 ) {
PORTB |= (1<<0);
} // 1-й світолодіод 100% заряда - 12.5 В.
if(voltage >= 401 ) {
PORTB |= (1<<1);
} // 2-й світолодіод 65% заряда - 11.7 В.
if(voltage >= 378 ) {
PORTB |= (1<<2);
} // 3-й світолодіод 35% заряда - 11.1 В.
if(voltage <= 377 ) {
PORTB |= (1<<2); // якщо напруга нижче 11.1 В. тоді мигаємо світлодіодом 30% інтенсивність залежить від величина нипруги
delay((((voltage - 350) / 4) * 50)); // інтенсивність залежить від величина напруги
PORTB &= ~(1<<2);
}
delay(10);
//wdt_reset(); // если дошли до сюда тогда
// сбросим защиту от зависаний
}
else {
//PORTB &= ~(1<<4); // для мосфета
system_sleep_8S();
} // інакше реле вимикаємо і засинаємо до ресету
}
return 0;
}
unsigned int ADC_READ(){ // ініціалізуємо АЦП
ADMUX = 3; // ADC pin
ADCSRA |= 1<<ADEN;
ADCSRA |= 1<<ADSC;
while(!(ADCSRA & (1<<ADIF)));
ADCSRA |= 1<<ADIF;
byte low = ADCL;
byte high = ADCH;
ADCSRA &= ~(1 << ADEN); // вимикаємо АЦП
return (high << 8) | low;
}
void system_sleep_8S(){ // сон на 8 сек
PORTB = 0x00; // потушым все диоди и откл. реле
wdt_reset(); // сбрасываем ватчдог
wdt_enable(WDTO_1S); // разрешаем ватчдог 8 сек(1 сек для отладки)
//WDTCR |= (1<<WDE); // разрешаем прерывания по ватчдогу. Иначе будет резет.
//sei(); // разрешаем прерывания
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // если спать - то на полную
while(1) {
sleep_enable(); // разрешаем сон
sleep_cpu(); // спать!
}
}
// оверсемплинг для большей точности и меньших шумов
unsigned int analogReadOversampled(){
unsigned long aSum = 0; // the sum of all analog readings
for(int i = 0; i < 16; i++)
aSum += ADC_READ(); // read and sum 16 ADС probes
return aSum >> 4; // ..
}
Суть проблемы, хотел сделать чтобы тинька при определённом напряжении заводила ватчдог и уходила в сон, потом просыпалась, проверяла не поднялось ли напряжение выше гистерезиса, я решил делать это в сетапе, если поднялось тогда "поехали" а нет так опять заводим ватчдог и сон...
Как говорит один юзер:
dimaris пишет:
Проверил новый скейтч, работа следующая: при напряжении больше 12 вольт- быстро мигает РВ4, ниже 12 но выше 11,5 вообще все мигает, от 11,5 до 10,7 мигают РВ4 РВ2 РВ1, ниже 10,7 все молчит.
У меня пока нету железа и соответственно протестировать в реальном железе не получается, а протеус у меня как-то работает непонятно...
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
Всё, вопрос снят. Загрузчики эти малышки очень даже поддерживают. Вот путёвая ссылка:
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
Всё, вопрос снят. Загрузчики эти малышки очень даже поддерживают. Вот путёвая ссылка:
У меня вопрос по коду из #47 поста. А можно заставить контроллер еще что нибудь параллельно делать? Менять логический уровень на ноге с запоминанием это хорошо, а вот скажем другими ногами дергать или измерять что-то независимо от ожидания нажатия на кнопку?
Конечно, можно генерировать прерывание по нажатию на кнопку, соответственно пока кнопка не нажата исполняется основной код, когда нажимаем тогда исполняется тот кусочек кода что в векторе прерывания(как бы функция)... как-то так.
В исходнике не подготовленному довольно сложно разобраться. А есть какая нибудь более понятная 'рыба' с приминением прерывания? К сожалению я не программист, но всетаки надеюсь на вашу помощ и понимание.
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
digitalRead(2); - PINB&(1<<PB2); //проверяем состояние вывода PB2 например
if ((PINB&(1<<PB2))==HIGH)
{
}
Для тини13 бутлоадер не оправдан из за небольшого количества памяти, может и есть где-то но он будет кушать думаю больше половины памяти контроллера.
Да и в моих инетмагазинах тини85 стоит как АТмега8 в дип корпусе.
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
digitalRead(2); - PINB&(1<<PB2); //проверяем состояние вывода PB2 например
if ((PINB&(1<<PB2))==HIGH)
{
}
Правда получилось как-то затянуто, при пересмотре ставил скорость воспроизведения х1.5 и думаю всё таки видео нужно было ускорить немного при монтаже...
Привет всем! У меня на машине погас вентелятор ! Как оказалось у него электронный реоста, с блока двигателя идёт шим ,реостат его мериет и упровляет тоже шим выходным каскадом , скорости 3 причём на выключение тоже есть скважность тобиш 4 значение ,я решил немного поэканомить и заказал тини13 думаю инпульс померию и шимом поупровляю мне интересно как поведет себя таймер ведь он один и мерить и шимом упровлять одновременно ? Я не зною это первый вопрос . А второй даже не знаю с чего начать я скачал кучу архивов пытался распокавать сначало в мои документы в папку ардуино хардвайс но глухо в списке тиньки нет ,потом в программы файла в папку ардуино тоже глухо ,после дня манипуляций а сегодня4 день я выиснил что если в моих документах в папке ардуино создать папку хардвайс то нужно ещё и в ней папку ардуино создать и туда как минимум поместить распакованый архив тагда поевляется Тини но астральные пропадают это раз если распакованый архив поместить в программ файла ардуино хардвайс ардуино то Тини поевляется вместе с остальными вроде как нормально но комперировать примеры даже блин не хочет ну не как куча красных строк и ни как , я конечно соберу лпт програматор так как не получилось ардуиной мега в качестве испа и как првельно унипрогом попробую залить но кампелировать все равно не получается у вас как-то все просто на видео у меня нет , было бы не плохо если кто ни будь скопировал уже рабочию всю папку ардуно из програм файл и если надо и из моих документов что бы я мог хотя бы компелироват программы . Ещё я много просила как народ мучиется с прошивко тиньки 13 и из за маленикого количества ног уарт не одерживает толь софтовый не дай бог ногу ресата перекофигурировать надо будет делать высоковольтовыц программ автор но микруха мне нравиться очень маленькая и часто много ног не надо так что хочу до конца разобраться помогите помогите плиз и по русскому у меня 2 было такчо на ошибки ой, тему новую не хотел создовать тут вроде как все есть но у меня не работает а с ардуино мега все замечательно ,не хотел уже распаеную мини про с юисби покупать 600р а тинька 50р
У тебя какая винда стоит? Я со своей семеркой тоже по началу промучился. Распаковываешь архив с ардуино и при первом запуске она создает свою папку в документах. Вот туда и кидая ядро attiny13.
на ноуте хп на компе 7винда !!! папка ардуино в моих документах есть в ней в ручную создаю папку хардвайс если суда архив положить состоящий из папки коре(ядро) и фойла с тиньками этот файл я понел обезателен то ничего не происходит а вот если еще и папку ардуино в папке хардвайс создать и уже туда бросить архив то гуд тиньки есть причем астольные проци проподают которые там были но это ладно меня тини интересует поивилась в списке я этого добился открываю пример любой например блинк меняю ногу 13 на 3 или другую а компелировать не хочет затра коперну большой список красным цвето что снижу выводит и файла c пршивко нету .........выложите плиз папку из документов и папку самой програмы которая распоковывается в програм файл ардуино по умолчанию . вроде все просто но чтото глухо вот беда!!!! народ помогите
И ещё небольшой совет, уважайте Ваших собеседников, если Вы несильны в Русском то включите проверку правописания(чтобы тут работало ещё нужно нажать "Источник" слева в вверху), а если слов не знаете тогда зайдите сюда https://translate.google.com/?hl=ru .
ЗЫ У меня та же беда, но я не совсем ленюсь проверять что написал.
вот этот кусок вас не смущает?
Программирование -> constrain()
спасибо за науку, но - как и в первом приведённом вариате. максимальное значение НЕ сбрасывается, а минимальное сбрасывается. если прописать pwm=constrain(pwm,1,255); то работает как надо, НО нет 0% шима.
если не использовать еепром - тоже работает адекватно и с 0% шима.
если переменную pwm присвоить byte, то и максимальное значение сбрасывается...
может попробовать писать в две ячейки еепрома? уже незнаю что и думать, из разряда - должно работать, а не работает.
вот этот кусок вас не смущает?
если от старта девайса прошло меньше 50мс, плюс pwm в базовом значении да ещё и шим на момент выключения был не более 180, то запускаем движок со значением из еепрома. что я сделал не так?
да прочитайте внимательнее. у вас это крутится в loop. и получается от старта девайса только первый раз, а потом постоянно повторяется. прочтете внимательнее и поймете почему постоянно шим становится равным eep
да прочитайте внимательнее. у вас это крутится в loop. и получается от старта девайса только первый раз, а потом постоянно повторяется. прочтете внимательнее и поймете почему постоянно шим становится равным eep
знаю не по наслышке, что такое "замылился глаз". могу не видеть очевидных вещей, в данном условии если millis()-time больше 50мс (хоть сейчас и проверил на 5мс) то шим НЕ приравнивается к еер.
иначе регулировка с кнопок не работала бы и движок крутился со скоростью из еепрома, так?
ну для меня то это решение очевидно, я же и спросил - где я ошибаюсь?
попробуйте для начала так
попробуйте для начала так
вот о чём я и говорил - простейшее и очевидное решение, а я протупил. ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
был рад помочь. у самого такое бывает
поигрался с шимом, 37,5 не понравилось, на затворе полевика прямоугольники ломаются, полевик греется. если уменьшать ядром, то получается 4,6кгц - движок песни поёт.
взгруснулось, заглянул в даташит - вообще депресняк. полез в гугль, койчего накопал. расположу здесь, чтоб не потерять.
в итоге получил частоту 17кгц, правда шим в инверте, но это всё фигня, главное движок не слышно, полевик не греется и на меандр любо-дорого посмотреть
А мне нравится 3-5 кГц звук ШИМ, ну не то чтобы слушал день и ночь, но когда двиг поёт на такой частоте как-то даже прикольней чтоле.
Спрасибо за интересную тему, сам атмегу 8 запрограмировал так, вопрос - при установке архива в Arduino-1.0.4 у меня встало только 2мк (Аттини 13 9.6MHz и Аттини 13 1MHz (defauld)) так и должно быть?
А так очень интересна цена ее -25р в Перми, остальные стоят наравне с атмега 8.
А так очень интересна цена ее -25р в Перми, остальные стоят наравне с атмега 8.
в Китае десяток тини13 можно купить за 4.5 доллара (порядка 18 рублей по сегодняшнему курсу за штуку). Десяток мег стоит 8 за простую и 10 за мегу8 с индексом А (усовершенствованная версия)
Тоесть только 2 тиньки и всё?
"Итак, для начала нам нужно скачать(силка из 2-го поста) данный архив(взято отсюда) положить файлы по адресу "\Documents\Arduino\hardware\" должно получится чтото типо "C:\Users\Администратор\Documents\Arduino\hardware\attiny13\cores\core13". "
Вроде всё правильно, или кроме архива на тиньку надо остальные файлы скачать?
Остальные файлы? Вы о чём? Там по силке текстовый файл с подсказкой и архив который нужно распаковать.
Хм, ну тогда получается правильно, главное, чтоб мк неумертвить из за незалитой инфы. Надо будет купить и залить скеч на моргание светика в мк.
Хм, ну тогда получается правильно, главное, чтоб мк неумертвить из за незалитой инфы. Надо будет купить и залить скеч на моргание светика в мк.
По моему опыту умертвить можно если играться с опцией зашить загрузчик, а так ничего произойти не должно.
Выбирайте дефолтные (Attiny13 1 MHz (default)) настройки и всё.
Народ, почему-то не получается нормально ресетить тиньку по ватчдогу, вот код:
Суть проблемы, хотел сделать чтобы тинька при определённом напряжении заводила ватчдог и уходила в сон, потом просыпалась, проверяла не поднялось ли напряжение выше гистерезиса, я решил делать это в сетапе, если поднялось тогда "поехали" а нет так опять заводим ватчдог и сон...
Как говорит один юзер:
Проверил новый скейтч, работа следующая: при напряжении больше 12 вольт- быстро мигает РВ4, ниже 12 но выше 11,5 вообще все мигает, от 11,5 до 10,7 мигают РВ4 РВ2 РВ1, ниже 10,7 все молчит.
У меня пока нету железа и соответственно протестировать в реальном железе не получается, а протеус у меня как-то работает непонятно...
Обновил файлы ядра "Version 0.18.5".
Убрал мелькую ошибку в файлах ядра, просто перекачайте.
Джентльмены, просветите тёмного:
Вот как залитвать бутлоадер в ATtiny13A или там 85, всё всё ясно. Мне, так проще через AVR8 Burn-O-Mat , благо наловчился с АТмегами.
А вот скетч из ИДЕшки как в неё загрузить? Неужели, соединение проводов такое же как при загрузке бутлоадера? Ну, как по этой ссылке:
http://research.andbas.com/2012/09/arduino-isp-programmer-for-attiny-45-...
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
Всё, вопрос снят. Загрузчики эти малышки очень даже поддерживают. Вот путёвая ссылка:
http://e.mail.ru/cgi-bin/link?check=1&refresh=1&cnf=b1ba56&url=http%3A%2...
Всё как у больших, загрузка скетча из Идешки, бутлоадера через ИСП, или дудку. Буду пробовать этот самый диджиспарк.
ATtiny так таковые загрузчики не поддерживают - у них даже нет соотвествующих фьюзов. Загрузчик можно использовать только через костыли .а для ATtiny13 вообще не имеет смысла - там и так очень мало флеша.
Так что прошивать проще через ардуино или через программаторы,например через дешевый USBasp
Всё, вопрос снят. Загрузчики эти малышки очень даже поддерживают. Вот путёвая ссылка:
http://e.mail.ru/cgi-bin/link?check=1&refresh=1&cnf=b1ba56&url=http%3A%2...
Всё как у больших, загрузка скетча из Идешки, бутлоадера через ИСП, или дудку. Буду пробовать этот самый диджиспарк.
Вы хоть ссылки давайте не из личного почтового ящика. Пользователи к вам в ящик не смогут зайти ,если только логин и пароль тут опубликуете :)
На счет загрузчика : подойдет только к аттини85 ,занимает 2кб флеша. Использует программный USB.
Вы хоть ссылки давайте не из личного почтового ящика. Пользователи к вам в ящик не смогут зайти ,если только логин и пароль тут опубликуете :)
Сорри, путаю педали :) вот эта ссылка: http://arduino-uno.ru/blog/ideas/6.html
У меня вопрос по коду из #47 поста. А можно заставить контроллер еще что нибудь параллельно делать? Менять логический уровень на ноге с запоминанием это хорошо, а вот скажем другими ногами дергать или измерять что-то независимо от ожидания нажатия на кнопку?
Конечно, можно генерировать прерывание по нажатию на кнопку, соответственно пока кнопка не нажата исполняется основной код, когда нажимаем тогда исполняется тот кусочек кода что в векторе прерывания(как бы функция)... как-то так.
http://www.youtube.com/watch?v=NP1K_jPg3jg
Подскажите как на attiny13 реализовать внешнее прерывание? Что-то никак не получается, ругается на attachInterrupt. Или я что-то не так делаю.
Первая ссылка в гугле показывает, как правильно использовать прерывания в этом контроллере. Вот ссылка на полный исходник.
В исходнике не подготовленному довольно сложно разобраться. А есть какая нибудь более понятная 'рыба' с приминением прерывания? К сожалению я не программист, но всетаки надеюсь на вашу помощ и понимание.
Вот что-то путное http://kernel.pro/articles/microcontroller/attiny13/ и компилиться без проблем, вектора http://www.stepwood.com/avrsuite/2012/03/13/vektora-preryivaniy-attiny13/ .
Очень качественный видео урок по прерываниях http://www.youtube.com/watch?v=NP1K_jPg3jg
К сожалению пока поюзать эти сылки желания нет, только видео посмотрел, вроде как понятно что и как, но а опыта работы с прерываниях ещё нету.
Читал где-то что можно как-то в коде изменять частоту камня, получается уменьшение энергопотребления, пожалуйста ткните меня носом как это делается.
Частота управляется через регистр XDIV ,но его как я понял нет во многих atmega в том числе и в attiny..
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
Прошу прощения, это http://arduino-uno.ru/blog/ideas/6.html тоже самое, что вы здесь обсуждаете или это уже другая история ???
Немного разные вещи как по цене, так и по количеству памяти.
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
Немного разные вещи как по цене, так и по количеству памяти.
я не про контроллер (с этим понятно) я про софтовую часть спрашивал....
Для тини13 бутлоадер не оправдан из за небольшого количества памяти, может и есть где-то но он будет кушать думаю больше половины памяти контроллера.
Да и в моих инетмагазинах тини85 стоит как АТмега8 в дип корпусе.
Так как я имею возможность править все свои посты то возникла идея, написать во втором посте темы как пишутся ардуиновские функции на Сишке, ведь для ATtiny13 экономия места актуальная для ATtiny13 тема.
Взял отсюда http://www.myrobot.ru/articles/p_avrgcc_ver.php
Снял видеоинструкцию по прошивке тини13 при помощи ардуино:
https://www.youtube.com/watch?v=MS5i7fnlPBM
Снял видеоинструкцию по прошивке тини13 при помощи ардуино:
https://www.youtube.com/watch?v=MS5i7fnlPBM
отлично ... видео плюсанул ...
отлично ... видео плюсанул ...
Правда получилось как-то затянуто, при пересмотре ставил скорость воспроизведения х1.5 и думаю всё таки видео нужно было ускорить немного при монтаже...
Ещё одно применение:
https://www.youtube.com/watch?v=WXdDA3vwT7I
Точность в теории должна быть +/- 0.01 В, дискретность 0.01 В.
Жаль что нету 74CH595 потестить.
Прикупл регистр сдвига и... http://razniepodelki.blogspot.com/2014/05/attiny13-74ch595-lcd-on-hd44780-2.html
Привет всем! У меня на машине погас вентелятор ! Как оказалось у него электронный реоста, с блока двигателя идёт шим ,реостат его мериет и упровляет тоже шим выходным каскадом , скорости 3 причём на выключение тоже есть скважность тобиш 4 значение ,я решил немного поэканомить и заказал тини13 думаю инпульс померию и шимом поупровляю мне интересно как поведет себя таймер ведь он один и мерить и шимом упровлять одновременно ? Я не зною это первый вопрос . А второй даже не знаю с чего начать я скачал кучу архивов пытался распокавать сначало в мои документы в папку ардуино хардвайс но глухо в списке тиньки нет ,потом в программы файла в папку ардуино тоже глухо ,после дня манипуляций а сегодня4 день я выиснил что если в моих документах в папке ардуино создать папку хардвайс то нужно ещё и в ней папку ардуино создать и туда как минимум поместить распакованый архив тагда поевляется Тини но астральные пропадают это раз если распакованый архив поместить в программ файла ардуино хардвайс ардуино то Тини поевляется вместе с остальными вроде как нормально но комперировать примеры даже блин не хочет ну не как куча красных строк и ни как , я конечно соберу лпт програматор так как не получилось ардуиной мега в качестве испа и как првельно унипрогом попробую залить но кампелировать все равно не получается у вас как-то все просто на видео у меня нет , было бы не плохо если кто ни будь скопировал уже рабочию всю папку ардуно из програм файл и если надо и из моих документов что бы я мог хотя бы компелироват программы . Ещё я много просила как народ мучиется с прошивко тиньки 13 и из за маленикого количества ног уарт не одерживает толь софтовый не дай бог ногу ресата перекофигурировать надо будет делать высоковольтовыц программ автор но микруха мне нравиться очень маленькая и часто много ног не надо так что хочу до конца разобраться помогите помогите плиз и по русскому у меня 2 было такчо на ошибки ой, тему новую не хотел создовать тут вроде как все есть но у меня не работает а с ардуино мега все замечательно ,не хотел уже распаеную мини про с юисби покупать 600р а тинька 50р
У тебя какая винда стоит? Я со своей семеркой тоже по началу промучился. Распаковываешь архив с ардуино и при первом запуске она создает свою папку в документах. Вот туда и кидая ядро attiny13.
на ноуте хп на компе 7винда !!! папка ардуино в моих документах есть в ней в ручную создаю папку хардвайс если суда архив положить состоящий из папки коре(ядро) и фойла с тиньками этот файл я понел обезателен то ничего не происходит а вот если еще и папку ардуино в папке хардвайс создать и уже туда бросить архив то гуд тиньки есть причем астольные проци проподают которые там были но это ладно меня тини интересует поивилась в списке я этого добился открываю пример любой например блинк меняю ногу 13 на 3 или другую а компелировать не хочет затра коперну большой список красным цвето что снижу выводит и файла c пршивко нету .........выложите плиз папку из документов и папку самой програмы которая распоковывается в програм файл ардуино по умолчанию . вроде все просто но чтото глухо вот беда!!!! народ помогите
причем и одновремено ложил архив просто в папку хардвайс и в созданую там папку ардуино
Можно глупый вопрос? Моё видео смотрели?
https://www.youtube.com/watch?v=MS5i7fnlPBM
И ещё небольшой совет, уважайте Ваших собеседников, если Вы несильны в Русском то включите проверку правописания(чтобы тут работало ещё нужно нажать "Источник" слева в вверху), а если слов не знаете тогда зайдите сюда https://translate.google.com/?hl=ru .
ЗЫ У меня та же беда, но я не совсем ленюсь проверять что написал.