Lazy писал(а):1 вт, что бы с запасом.
Я же сказал мне надо знать как решить, а не ответ
Lazy писал(а):1 вт, что бы с запасом.
Вы конечно правы.Engineer_Keen писал(а):Получается правда чуть больше чем 1 Вт...
Engineer_Keen писал(а):Если представить что кулер действительно просто сопротивление, то оно считается тупо по его характеристикам: 12В/0.5А = 24 Ома.
Отсюда считается суммарное сопротивление, ток в цепи и мощность рассеиваемая на резисторе. Получается правда чуть больше чем 1 Вт...
optopara123 писал(а):/*Chip type : ATtiny2313
Clock frequency : 1,000000 MHz
**/ В этом блоке идет описание какой МК и какая его частота. Выполнен коментарием
#include <tiny2313.h> //Микроконтроллер Подключение модулей с функциями описывающих МК, Служебная строка
#include <delay.h> //Задержки Подключение модулей с функциями задержки по ms и us, Служебная строка
// LCD на PORTB // Комментарий, что ЛСД дисплей претт на порту Бэ МК
#asm // Начало ассемблерной вставки
.equ __lcd_port=0x18;PORTB // Директива EQU не определяет элемент данных, но определяет значение,
которое может быть использовано для постановки в других командах. Тоесть мы говорим: Если в коде увидишь портБ, то это 0Х18
#endasm // конец ассемблерной вставки
#include <lcd.h> // Подключили библиотеку ЛСД, по аналогии с Делеем
// Электромагнит // комментарий
#define ZAMOK PORTB.3 // Если пишем замок, то подразумеваем PORTB 3я нога ????
// инициализация энергонезависимой памяти для хранения кода и установка его "0000" // Коментарий
eeprom unsigned char eeprom_kod[4]={'0','0','0','0'}; // Похоже на обращение к энергонезависимой памяти
// массив символов, соответствующих кнопкам на клавиатуре
flash unsigned char buttons[3][4]= { // Объявили массив, видимо для квавиатуры
{'1','4','7','*'},
{'2','5','8','0'},
{'3','6','9','#'}
};
// переменные для хранения промежуточных данных
unsigned char kod[4], nkod[4], nkod2[4]; // объявили переменныне
unsigned char i, j, k, n, state; // объявили переменные
char key_press() // // назвали функцию
{
while(1) // Условие начала цикла (Бесконечного???)
{
while ( (~PIND & 0b01111000)!=0); // // Условие выхода из цикла ((НЕ ПИНД[Значение на порту Д]) И (1111000)) НЕ = 0 //Тут используется булева алгебра
for(i=0;i<3;i++) // // Цикл i от 0 до i<3 с шагом в 1. по нарастанию
// активация столбца
PORTD = ~(0x01 << i); // Значение на порту Д Не(1 побитовый сдвиг на текущее значение i)
for(j=3;j<7;j++) // // Еще цикл
{
if ( ( PIND & (0x01 << j)) == 0 ) // // Если (Выражение = 0)
{
delay_ms (100); // // Задержка 100 мс
if(buttons[i][j-3]=='*') // // Если (Значение в массиве кнопок)
for(k=0; ((PIND & (0x01 << j))==0 && k<100);k++) // Цикл......
{
delay_ms(50);
}
if((PIND & (0x01 << j))==0) //
{
state=1; //
return 0; //
}
else
return buttons[i][j-3]; //
} // if
if ( (PIND & (0x01 << j))==0)
return buttons[i][j-3]; //
} // if
} // for
} // for
} // while
} // key_press
void main(void)
{


include писал(а):в сапре работает, но в реале - нет

Nyroux писал(а):Как будто транзистор не открывается.
Gudd-Head писал(а):Может, выводы попутали или ещё что.
kotpalych писал(а):Nyroux
Что происходит при закорачивании катода и анода или при подаче напряжения питания на Vref TL431 ? Странно , что такая схема работает , ведь при нулевом напряжении на Vref напряжение стабилизации TL431 должно быть 36 вольт.