Собираю плату управления вентиляторами (в корпусе ПК), которая меняет напряжения между 5 - 7 - 12 при нажатии на кнопку.
После многих неудачных попыток с потенциометрами, стабилизаторами ит. д., решил использовать Аттини13 и управление через ШИМ.
Товарищ написал тестовый скетч, который заставляет светодиод плавно "зажигаться" с нуля до максимума и обратно. Загрузил скетч в Тиню, на макетке собрал тиню и один светодиод через резистор 270Ом (вторая нога резистора через 270ом идет к земле). Подал питание - работает.
Товарищ скинул мне рабочий скетч, с прописанной кнопкой, и схему, как мне нужно все подключить, сказал подобрать значения ШИМ, что бы найти состояние 8 вольт. Перед этим отправил меня в чип и дип за транзистором IRFZ44NPBF и резистором на 100ом (10кОм у меня есть). Сказал, что больше ничего не понадобится.
Пока я ездил в магазин - он ушел спать (он из будущего, живет на 6 часов позже, часовые пояса, все дела.)
И тут у меня ступор. Я вижу тут две схемы, они слегка отличаются.
Что меня смущает:
1. Тиня питается от 5в, вентилятор от 12в. Что делать?
2. На левой части схемы изображен диод. У меня есть диод 1N5399, который отличается от того, который изображен на схеме. Надо ли его ставить?
3. На схеме не вижу кнопки, куда ее нужно поставить.
На всякий случай ниже скину скетч. И спасибо тому, кто поможет собрать мне это все на макетке!
//
#define pwm 0
#define btn 1
// Настройки
byte pwm_value[3] = {100, 200, 255}; // Значения ШИМ для трех ступеней (0-255)
// Настройки
byte mode;
bool btn_flag;
void setup(){
pinMode(pwm, OUTPUT);
pinMode(btn, INPUT);
}
void loop(){
if(digitalRead(btn) && !btn_flag){
btn_flag = true;
mode < 2? mode++ : mode = 0;
analogWrite(pwm, pwm_value[mode]);
delay(100);
}
else if(!digitalRead(btn) && btn_flag) btn_flag = false;
}

механический тумблер соединяющий пару последовательно/паралельно=дешево и сердито
1. Запитать МК от 12В через 5-вольтовый стабилизатор напряжения, например, через микросхему 7805
2. Диод ставить можно почти любой, в том числе - ваш.
3. Товарищ скинул скетч для Ардуино, а вам нужна программа и прошивка для МК который не Ардуино, то есть - не имеет загрузчика как у Ардуино. И этот скетч туда нельзя засунуть
13я тиня шьется через LPT на раз. Пихать ее в Ардуину - это из пушки по воробьям. Питать Тиню можно через 7805. Диод нужен чисто для "срезания" отрицательных пиков напряжения в момент отключения тока через индуктивную нагрузку, поэтому особых требований к нему нет.
1. Тиня питается от 5в, вентилятор от 12в. Что делать? - иметь оба напряжения питания. Лаверна верно посоветовала - организовать 5 В из 12 В с помощью микросхемы 7805 (в краденом советском варианте КРЕН8А). Лучше 7805L - меньше места, проще добавить в схему.
2. На левой части схемы изображен диод. У меня есть диод 1N5399, который отличается от того, который изображен на схеме. Надо ли его ставить? Для светодиодов - не нужно. Для мотора и вентилятора - НУЖНО. Там же ясно написано - для ИНДУКТИВНОЙ нагрузки (реле, мотора). Защита от обратных токов самоиндукции. Диод годится DUC - ЛЮБОЙ (ну абсолютно любой!! кремниевый)))
3. На схеме не вижу кнопки, куда ее нужно поставить.
У тебя в программе кнопка - btn
В defin'ах сказано - #define btn 1
Значит - это вывод АРДУИНО "порт 1". Для Atmega328 это наверное порт PD1 (TxD). Какой это пин для Тини - смотри сам. В принципе можешь поменять на любой свободный порт изменив эту строчку.
Это самый простой активный регулятор на полевом транзисторе, и без разницы чем ты управляешь, хоть пальцем
Что мешает использовать недорогой реобас?
1. стабилизатор 12 -> 5В. (78L05 напр.)
2. Диод на моторе нафиг не нужен. И нагрузка там нихрена не индуктивная как написано.
3. Ты сначала спроси у своего товарища он тебе скетч для тини или для ардуино написал. Одно не работает в другом. Если будет на тине, то пусть пишет прогу для тини. И скажет тогда на какой порт повесил кнопку.
Из описания я не понял - как вам нужно управлять вентиляторами - ПЛАВНО или чтобы на них было дискретно -
сперва 5 - после переключения - 7, после следующего нажатия - 12
1) запитать тиньку через стабилизатор 7805.
2) надо, ставь.
3) транзистор с движком к 5 ноге тиньки, кнопку к 6 ноге
Шить только через isp программатор или ардуину в качестве isp программатора. Предварительно зашив "загрузчик" (на самом деле это программирование фузов и выбор рабочей частоты, полноценный загрузчик в тиньку не шьется).
.

че так сложно то..
шимы ардуино и проч херню..
тумблер со средним положением и два резистора - вся схема..
/радиомеханики - добрый народ /. - наговаривают на них
Почему не использовать управляющий сигнал вентилятора процессора,..
а вместо "void loop" классическую схемотехнику.
Козлы итальяшки, хоть и гении, всё через жопу, не могли для Ардуино сохранить АТмеговскую нумерацию (((