Включение светодиода кнопкой Ардуино

Включение светодиода с помощью кнопки Arduino может быть выполнено несколькими способами: можно управлять светодиодом с помощью одной или двух кнопок. Также можно модулировать интенсивность яркость светодиода от кнопки. Рассмотрим все возможности подключения тактовой кнопки и светодиода к плате Ардуино на примерах программ со схемами, можно также использовать сенсорные кнопки в представленных примерах.
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- тактовые кнопки
- светодиоды
- резисторы
- макетная плата
- коннекторы
- Как подключить тактовую кнопку к Ардуино
- Функция pinMode в Ардуино, INPUT_PULLUP
- Игра со светодиодами и кнопками на Ардуино
К микроконтроллеру Ардуино тактовые кнопки подключаются двумя способами: с подтягивающим резистором (пин платы запрограммирован в режиме работы INPUT) и без резистора (пин находится в режиме работы INPUT_PULLUP). Эти способы рассмотрены были ранее в обзоре — Как подключить кнопку к Ардуино. В этой статье мы будем использовать управление светодиодом от тактовой кнопки без подтягивающего резистора.
Подключение светодиода и кнопки к Ардуино

Управлять светодиодом от Ардуино можно с помощью одной или двух кнопок. Для включения светодиода с помощью кнопки Arduino соберите схему, как показано на рисунке. Обратите внимание, что сенсорная кнопка в схеме на макетной плате подключена к микроконтроллеру без подтягивающего резистора, так как пин 2 платы Arduino подключен к +5 Вольт через встроенный резистор в режиме работы порта INPUT_PULLUP.
Скетч включение и выключение светодиода от кнопки
#define LED 10 #define BUT 2 boolean buttonWasUp = true; boolean ledEnabled = false; void setup() < pinMode(LED, OUTPUT); pinMode(BUT, INPUT_PULLUP); >void loop() < boolean buttonIsUp = digitalRead(BUT); if (buttonWasUp && !buttonIsUp) < delay(10); buttonIsUp = digitalRead(BUT); if (!buttonIsUp) < ledEnabled = !ledEnabled; digitalWrite(LED, ledEnabled); >> buttonWasUp = buttonIsUp; >
Подключение светодиода и двух кнопок Ардуино

Программа для управления светодиодом с помощью двух кнопок. Обратите внимание, что при использовании конфигурации порта платы в режиме INPUT_PULLUP цифровой вход поднимается до +5 Вольт. По этой причине значение входящего сигнала будет инвертировано. Когда тактовая кнопка, подключенная к GND, отпущена — сигнал на входе Ардуино высокий «1». При нажатии кнопки, на входе сигнал станет низким «0».
Скетч для управления светодиодом от двух кнопок
#define LED 10 #define BT1 2 #define BT2 4 boolean button1WasUp = true; boolean button2WasUp = true; void setup() < pinMode(LED, OUTPUT); pinMode(BT1, INPUT_PULLUP); pinMode(BT2, INPUT_PULLUP); >void loop() < boolean button1IsUp = digitalRead(BT1); boolean button2IsUp = digitalRead(BT2); if (button1WasUp && !button1IsUp) < delay(10); button1IsUp = digitalRead(BT1); if (!button1IsUp) < digitalWrite(LED, LOW); >> if (button2WasUp && !button2IsUp) < delay(10); button2IsUp = digitalRead(BT2); if (!button2IsUp) < digitalWrite(LED, HIGH); >> button1WasUp = button1IsUp; button2WasUp = button2IsUp; >
Регулировка яркости светодиода от кнопок

В следующем примере вам также понадобятся две кнопки и один светодиод, как показано на схеме выше. Но вместо простого включения и выключения светодиода мы будем увеличивать и уменьшать яркость светодиода с помощью сигнала широтно-импульсной модуляции микроконтроллера. Соберите схему и загрузите программу в плату Ардуино, чтобы понять, как управлять светодиодом от тактовой кнопки с микроконтроллером.
Скетч управление яркостью светодиода от кнопок
#define PLUS_BUTTON 2 #define MINUS_BUTTON 4 #define LED 10 int brightness = 100; boolean plusUp = true; boolean minusUp = true; void setup() < pinMode(LED, OUTPUT); pinMode(PLUS_BUTTON, INPUT_PULLUP); pinMode(MINUS_BUTTON, INPUT_PULLUP); >void loop() < analogWrite(LED, brightness); plusUp = handleClick(PLUS_BUTTON, plusUp, +20); minusUp = handleClick(MINUS_BUTTON, minusUp, -20); >boolean handleClick(int buttonPin, boolean wasUp, int delta) < boolean isUp = digitalRead(buttonPin); if (wasUp && !isUp) < delay(10); isUp = digitalRead(buttonPin); if (!isUp) brightness = constrain(brightness + delta, 0, 255); >return isUp; >
Заключение. Мы изучили несколько примеров того, как управлять светодиодом Arduino с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки и что его можно включать/выключать с помощью двух кнопок. Кроме того, можно изменять яркость светодиода с помощью тактовых кнопок и ШИМ-сигнала. Все приведенные примеры могут быть использованы в различных проектах с платой Ардуино.
Поочередное включение светодиодов от Ардуино

На этот раз мы будем включать и выключать несколько светодиодов последовательно — бегущий огонёк на Ардуино. Научившись управлять несколькими светодиодами в предыдущих обзорах, не составит труда понять, как последовательно зажигать светодиоды на Arduino. Мы также рассмотрим знакомый цикл for, который используется для повторения инструкций (команд) в скетче и действует, как своего рода цикл внутри цикла.
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- светодиоды
- резисторы
- макетная плата
- коннекторы
- Плавное включение и выключение светодиодов
- Включение светодиода кнопкой от Ардуино
- Подключение RGB светодиода к Ардуино Уно
Обратите внимание, что задействованные пины со 2 по 11 мы используем в режиме OUTPUT, как выходы. Для этого использовали единственный цикл for в процедуре setup — с командой pinMode(i, OUTPUT); Отметим, что нерационально использовать все выходы платы для последовательного переключения светодиодов или подключения светодиодной шкалы. На практике для этих целей лучше использовать сдвиговый регистр 74HC595.
Последовательное включение и выключение светодиодов

Соберите цепь из десяти светодиодов на макетной плате или подключите светодиодную шкалу к плате Arduino. Обратите внимание, что светодиодная шкала не имеет встроенных резисторов, поэтому не забудьте подключить их к каждому сегменту, чтобы светодиоды не сгорели. Когда схема будет собрана, скопируйте программу для последовательного зажигания светодиодов от платы Ардуино и загрузите следующий код в микроконтроллер.
Скетч последовательного выключения светодиодов
byte LedMin = 2; byte LedMax = 11; void setup() < for (byte i = LedMin; i > void loop() < for (byte i = LedMin; i for (byte i = LedMax; i >= LedMin; i--) < digitalWrite(i, LOW); delay(50); >>
Последовательное мигание светодиодами (бегущий огонек)

В следующем примере будет происходить последовательное мерцание светодиодами — скетч бегущий огонёк на Arduino. Схема сборки остается прежней, а в программе добавится команда в цикле for для выключения светодиода. Таким образом получится эффект мерцающего огонька на Ардуино. Направление включения светодиодов можно изменить в условии цикла for, а количество светодиодов можно увеличить при необходимости.
Скетч для последовательного мигания светодиодами
byte LedMin = 2; byte LedMax = 11; void setup() < for (byte i = LedMin; i > void loop() < for (byte i = LedMin; i for (byte i = LedMax; i >= LedMin; i--) < digitalWrite(i, HIGH); delay(50); digitalWrite(i, LOW); >>
Последовательное и плавное мигание светодиодами

В следующем примере будет использоваться команда analogWrite, чтобы происходило последовательное мигание с плавным розжигом светодиодов. Поэтому в схеме используется только 6 пинов микроконтроллера Arduino Uno (Nano), поддерживающих ШИМ модуляцию. Если у вас плата Arduino Mega 2560, то вы можете также использовать в схеме 10 светодиодов, так как на этой плате все пины со 2 по 13 поддерживают ШИМ.
Скетч поочередного плавного розжига светодиодов
// перечисляем пины с ШИМ модуляцией byte LedPin[] = ; void setup() < for (byte i = 0; i < 6; i++) < pinMode(LedPin[i], OUTPUT); >> void loop() < for (byte i = 0; i < 6; i++) < for (byte x = 0; x delay(50); > for (byte i = 6; i > 0; i--) < for (byte x = 0; x delay(50); > >
Заключение. Во всех представленных примерах с поочередным миганием лампочек используются глобальные переменные типа byte, которые могут быть вызваны в любом месте программы, в отличие от локальных переменных в языке микроконтроллера Arduino. Что этот тип переменных может хранить целое число от 0 до 255. Если у вас есть вопросы по рассмотренной теме, оставляйте их в комментариях к этой записи.
Arduino.ru
Включение светодиода одной кнопкой а отключене другой
- Войдите на сайт для отправки комментариев
35 ответов [Последнее сообщение]
Втр, 01/08/2017 — 22:58
Зарегистрирован: 26.01.2017
Момогите люди. чтобы светодиод включался одной кнопкой а выключался другой. При включеном состояни светодиод должен моргать. и плюс к этому при нажатии кнопки включения светодиода с ним включаться реле на 5 сек.
Логика вроде как не сложная но явстал в ступар((( с чего начать копать
- Войдите на сайт для отправки комментариев
Втр, 01/08/2017 — 23:54

Зарегистрирован: 25.05.2015
Ильяс пишет:
с чего начать копать
Начинать надо всегда с одного и того же — внятно и чётко расписать задачу. Если бы Вы это сделали, считйте, что остальное дело техники.
Просто словами, чётко и ясно напишите логику работы программы. Не крик души, как у Вас, а чёткую точную логику.
Попробуйте, а я подскажу, что дальше делать.
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 02:02
Зарегистрирован: 24.10.2016
Да вроде понятно. И кажется я догадываюсь в чем ступор — в мигающем, параллельно работающим кнопкам, светодиоде небось ? Хотя может все и хуже 🙂
Ильяс пишет:
с чего начать копать
Если попытаться упростить задачу — какой вариант вы можете одолеть самостоятельно ? Просто вкл/выкл светодиода без реле двумя кнопками получится ? А то черт его знает что подсказывать, просто написать неинтересно, вы же должны помучиться 🙂
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 02:14
Клапауций 112

Зарегистрирован: 01.03.2017
Morroc пишет:
просто написать неинтересно, вы же должны помучиться 🙂
дед Фрейд танцует в гробу.
с какого перепуга кто-то должен мучиться?
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 02:16
Зарегистрирован: 24.10.2016
Чтобы нам тут было веселее 🙂 oO
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 02:20
Клапауций 112

Зарегистрирован: 01.03.2017
Morroc пишет:
Чтобы нам тут было веселее 🙂 oO
Маркиз де Сад одобряет этот пост.
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 02:22
Зарегистрирован: 24.10.2016
Привет ему, давно не виделись 🙂
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 22:49
Зарегистрирован: 26.01.2017
ребята помогите я в программироване нуль((( хотябы вкл светодиода одной а откл другой, при включеном состоянии должен моргать. пожалуйста кто разбираеться.
- Войдите на сайт для отправки комментариев
Ср, 02/08/2017 — 23:57
Зарегистрирован: 24.10.2016
Ильяс пишет:
ребята помогите я в программироване нуль(((
Это так печально. ( Вам сюда https://code.org/learn
А чтобы не скучали вот вам скетч, который включает светодиод при замыкании 2го пина на землю (
#define LED 13 #define SWITCH_ON 2 int LED_State = LOW; void setup() < pinMode(LED, OUTPUT); pinMode(SWITCH_ON, INPUT_PULLUP); >void loop() < if (digitalRead(SWITCH_ON) == LOW) < delay(50); if (digitalRead(SWITCH_ON) == LOW) < LED_State = HIGH; >> digitalWrite(LED, LED_State); >
Добавьте сюда выключение второй кнопкой и я покажу как мигать этим светодиодом.
- Войдите на сайт для отправки комментариев
Чт, 03/08/2017 — 00:56

Зарегистрирован: 25.05.2015
Ильяс пишет:
ребята помогите я в программироване нуль((( хотябы вкл светодиода одной а откл другой, при включеном состоянии должен моргать. пожалуйста кто разбираеться.
Я же Вам сказал, что делать в посте №1. И сказал, что помогу, если будете делать, что сказано. Почему не делаете? Желаете на блюдечке с голубой каёмочкой? Самому делать западло? Тогда топайте в Ищу исполнителя или делайте, что говорят
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 12:59
Зарегистрирован: 26.01.2017
я подумал можно же отключать светодиод рестартом)))
так что осталось сделать
при замыкание контатов включаеться свтодиод и горить и в месте с ним включаеться реле но на 5 секунд..
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 13:15
Зарегистрирован: 24.10.2016
Ах ты. жук ! Вот что лень животворящая делает 🙂 Вот так будет мигать
#define LED 13 #define SWITCH_ON 2 int LED_State = LOW; int SW_State = LOW; unsigned long time; void setup() < pinMode(LED, OUTPUT); pinMode(SWITCH_ON, INPUT_PULLUP); >void loop() < if (digitalRead(SWITCH_ON) == LOW) < delay(50); if (digitalRead(SWITCH_ON) == LOW) < SW_State = HIGH; >> if (SW_State == HIGH) < if ((millis() - time) >1000 ) < time = millis(); if (LED_State == LOW) LED_State = HIGH; else LED_State = LOW; >digitalWrite(LED, LED_State); > >
А вот реле такие выкрутасы подключить не помогут ! бе бе бе
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 14:16
Зарегистрирован: 26.01.2017
не помогут? т.е это не рельно реализовать?
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 14:16
Зарегистрирован: 26.01.2017
Спасибо за пример.
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 14:23
Зарегистрирован: 24.10.2016
Ильяс пишет:
Фокусы с ресетом ? Вряд ли ) А вот изучение программирования хотя бы по code.org может быть.
Ильяс пишет:
т.е это не рельно реализовать?
Оно почти реализовано. Такой же «светодиод», но на отдельной ноге и мигает (включается) только 1 раз.
Совсем никаких мыслей нет по этому поводу ? )
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 14:23
Зарегистрирован: 26.01.2017
ясно,спасибо! щя буду внекать конкретно. так сказать с нуля.
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 14:34

Зарегистрирован: 25.05.2015
Внекай конкретно, внекай. Как внекнешь, расскажешь! :))))))))
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 15:24
Зарегистрирован: 26.01.2017
Вы же говорите почти реализовано.
Я поробывал прописать К 13 выходу +12 выходу ну что бы одновремено моргали.. НЕ неполучаеться короче наченает 12 выход моргать а 13 молчит(( как так то?
#define LED 13
#define LED 12
#define SWITCH_ON 2
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 15:29
Зарегистрирован: 24.10.2016
Это все, что вы прописали ? Можете пояснить вашу логику ? Ну т.е. что по вашему вы сделали ?
Действительно. как так то ? )
Даю наводку — можно скопировать вот эту часть
if (SW_State == HIGH) < if ((millis() - time) >1000 ) < time = millis(); if (LED_State == LOW) LED_State = HIGH else LED_State = LOW; >digitalWrite(LED, LED_State); >
и поправить её под другую ногу с реле
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 15:32
Зарегистрирован: 26.01.2017
Я подумал. для начало надо сделать хотябы что бы два выхода включались 13 и 12, Затем прописать что бы 12 выкл через 5 сек но теперь тока вкл 12 выход. (моргание диода я откинул на задний план он не так важен. )
- Войдите на сайт для отправки комментариев
Пт, 04/08/2017 — 15:36
Зарегистрирован: 24.10.2016
моргает оно вот тут
и LED — это конкретная нога. чтобы две ноги моргали вместе — должно быть так
соответственно вверху, где вы прописали 12, должно быть тоже две — одна LED, а другая RELAY
- Войдите на сайт для отправки комментариев
Пнд, 21/08/2017 — 00:08
Зарегистрирован: 20.08.2017
А не проще взять простой RS тригер правда светодиод будет постоянно гореть а реле будет работать
Совет может и тупой но начать програмировать я только собираюсь
или попробуй так
Включение по условию и выключение по условию
например если К1 вкл и К2 вкл выход вкл
если К1 выкл и К2 выкл выход выкл
третьего не дано
Можеш посьотреть чтото очень похожее по єтой ссьлке Это упрравление насосом в колодце поциклу когда вода касается верхнего датчика насос вкл когда вода опускается ниже нижнего датчика выкл . Также подобный прэкт у Амперки можеш посмотреть на YouTube.
Ав этой ссылке конкретный ответ на твой вопрос просмотри видео и можеш скачать скетч
может я слишком назойлив но попробуй вот этот скетч
bool _trgs1 = 0;
void setup()
pinMode(2, OUTPUT);
//Плата:1
if(( (analogRead (1))) == (500)) _trgs1 = 1;
if(( (analogRead (0))) == (500)) _trgs1 = 0;
digitalWrite(2, _trgs1);
написал его я сам с помощью FLProg поле 1,5 часогого просмотра первого урока но всего за 5 минут
проверить не могу так как нет ни Ардуинки ни программы эмулятора
аналоговые входы были выбраны не случайно так как этот среч у меня должын работать для кододца где возможно на входах будет напряжение ниже 5В а также тут введена константа 500 предотвращающая дребезг контактов
- Войдите на сайт для отправки комментариев
Вс, 20/08/2017 — 17:24
Зарегистрирован: 03.07.2016
Не вижу ничего сложного. Главное иметь желание,голову и руки. А скетч решается в легкую
/**/ unsigned long mill;// переменая под millis() //-----Cl_Led---------------------------------------------- // класс светодиод class Cl_Led < protected: const byte pin;// нога const bool inv;// инверсия bool led;// состояние светодиода unsigned long time, past; // время включ,внут таймер bool statON = 0; // 1 - отработка вкл паузы bool statblink = 0; // 1 отработка мигания public: /* конструктор Cl_Led описание подключить светодиод ввод _pin:пин ноги _inv:инверсия вывода вывод нет */ Cl_Led (byte _pin, bool _inv): pin(_pin), inv(_inv) <>/* функция setup() описание для нормальной работы вставить в тело программы setup() ввод нет вывод нет */ void setup() < pinMode(pin, OUTPUT); OFF(); >/* функция ON() описание включить светодиод ввод нет вывод нет */ void ON() < digitalWrite(pin, led = !inv); statON = 0; statblink = 0; >/* функция OFF() описание выключить светодиод ввод нет вывод нет */ void OFF() < digitalWrite(pin, led = inv); statON = 0; statblink = 0; >/* функция ON() описание включить светодиод на время ввод _time: длительность вкл в миллисек вывод нет */ void ON(unsigned long _time) < time = _time; statON = 1; statblink = 0; digitalWrite(pin, led = !inv); past = mill; >/* функция blink() описание мигать светодиодом ввод _time: длительность полупериода в миллисек вывод нет */ void blink(unsigned long _time) < time = _time; statON = 0; statblink = 1; digitalWrite(pin, led = !led); past = mill; >/* функция loop() описание для нормальной работы вставить в тело программы loop() ввод нет вывод нет */ void loop() < if (statON && mill - past >time) OFF(); if (statblink && mill - past > time) < digitalWrite(pin, led = !led); past = mill; >> >; //----Cl_Btn----------------------------------------------- // класс кнопка class Cl_Btn < protected: const byte pin;// нога кнопки void (*Do)();//обработчик нажатия кнопки unsigned long past; // время включ,внут таймер bool btn, old_btn; public: /* конструктор Cl_Btn описание подключить кнопку ввод _pin:пин ноги _inv:инверсия вывода вывод нет */ Cl_Btn (byte _pin, void (*_Do)()) : pin(_pin), Do(_Do) <>/* функция setup() описание для нормальной работы вставить в тело программы setup() ввод нет вывод нет */ void setup() < pinMode(pin, INPUT_PULLUP); old_btn = digitalRead(pin); >/* функция loop() описание для нормальной работы вставить в тело программы loop() ввод нет вывод нет */ void loop() < bool new_btn = digitalRead(pin); if (!new_btn && old_btn) < old_btn = 0; (*Do)(); >if (new_btn && !old_btn) < old_btn = 1; >> >; //-----Компоновка---------------------------------------------- Cl_Led Led1(/*пин светодиода*/13,/*инверсия*/0); Cl_Led Relay1(/*пин реле*/12,/*инверсия*/0); const unsigned long time_5s = 5000; // длительность 5 сек const unsigned long time_200ms = 200; // длительность 0,2 сек void DoBtn1() < Led1.blink(time_200ms); Relay1.ON(time_5s); >Cl_Btn Btn1(/*пин кнопки*/2,/*обработчик кнопки*/DoBtn1); void DoBtn2() < Led1.OFF(); >Cl_Btn Btn2(/*пин кнопки*/3,/*обработчик кнопки*/DoBtn2); //-----main()---------------------------------------------- void setup() < Led1.setup(); Relay1.setup(); Btn1.setup(); Btn2.setup(); >void loop() < mill = millis(); Led1.loop(); Relay1.loop(); Btn1.loop(); Btn2.loop(); >/*Скетч использует 1560 байт (4%) памяти устройства. Всего доступно 32256 байт. Глобальные переменные используют 57 байт (2%) динамической памяти, оставляя 1991 байт для локальных переменных. Максимум: 2048 байт. */
- Войдите на сайт для отправки комментариев
Светодиоды Включение Одной Кнопкой
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Поделиться
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Сообщения
Так я вроде не на форуме нейрохирургов или травмотологов. Да и фраза про лампочку не делает Вам чести Правильная фраза, и главное в ней это «ответ». Не совет, не рекомендация, не диагноз, не уровень компетенции, а именно ответ. Окончательный ответ. Фактический. Настоящий. Броня. ))) Да и по поводу пары трудодней это вы загнули, схема там очень сложная, думаю три дня ))))
![]()
Ну да, на 1 200 000 оно не выглядит. Плюс ещё зачем-то анодное напряжение на медных шинах сделали. Там в момент отладки под напряжение попасть как нефиг делать.
очень хорошо.. а что мешает вам проверить ОУ (не выпаивая его из схемы), выпаяйте С4, отключите датчик-катушку, включите питание и измерьте напряжение на 2,3,1 выводах ОУ мультиметром (желательно с большим входным сопротивлением).. напряжение на 2 и 3 выводах должны быть одинаковые (или очень близки).. и еще проверьте сопротивление резистора обратной связи (1М8), лучше сделать его по меньше (где-то 1М)..
да но какое то время же работало. Разве при неправильной фазировке обмоток может работать?
![]()
Туда же = можно валерьянкой облить . Кошки — покажут путь поиска.. =
Хотите посмеяться? Собрал обратноход на 90Вт. Начинаю тестировать: на выходе вместо 12В всего 3 и не регулируется! На обмотке питания драйвера 8,5В. Почесал репку. т.к. первый раз, что у меня что-то так странно ведёт себя. При осмотре платы выяснилось, что забыл вставить феррит в трансформатор. Оказывается он и без него работает :))
![]()
На линии в телеателье и не такое решали. База — коллектор сопротивление 100 кОм и тупо прибором сопротивление эмиттер — коллектор, понятно — в соответствие с питанием (структурой транзистора). Делов то. Выбираем более одинаковые по сопротивлению. Пропали блин, не вам форумчане пишу. Мини стенд собрал, два проводка с крокодильчиками.. Усилители делать, это вам не пирожки со стола таскать. Тем более в домашних условиях. И это, только 1 процент того — что надо проверить.