Перейти к содержанию

Ddejmos

Members
  • Постов

    10
  • Зарегистрирован

  • Посещение

Информация

  • Пол
    Мужчина
  • Город
    Екатеринбург

Электроника

  • Стаж в электронике
    Менее года

Достижения Ddejmos

Новичок

Новичок (1/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. Схема будет пратическая. Замысел следующий: с помощью шаровых кранов с электроуправлением переключать горячую воду в квартире либо с накопительного водонагревателя, либо с центрального водопровода. На моей схеме указано управление одним краном, для второго все аналогично. Команду на переключение передаю с выключателя 433 MHz. В дальнейшем будет объединена с системой защиты от протечек.
  2. Добрый день! Для управления шаровым электрокраном пользуюсь такой схемой. Потребление мотора крана до 30 миллиампер, что допустимо для BC557. Теперь хочу применить краны с потреблением 400 миллиампер. Полагаю, что можно заменить BC557 на BC328, который держит больший ток. Обязательно должны быть комплиментарные пары в ключе, или моя замена допустима ?
  3. Всем спасибо за советы! Действительно, сразу не учел, какой структуры должен быть транзистор в ключе. По схеме olezka18 все заработало. А то вначале хотел на реле уже собирать. И даже собрал. Но хотелось более компактное решение.
  4. Ток потребления мотора 15 миллиампер, пик 35. Не совсем корректную схему ключа привел. Мотор подключен вместо Rk. Вывод "+ нагрузка 12в" подключен к отрицательному выводу источника питания 12в. Внутри крана плата с двумя концевиками для остановки в крайних положениях. Мотор с редуктором.
  5. Добрый день! Есть водопроводные краны с электроприводом HC12B. Мотор управляется подачей +12В на красный (закрыто) или зеленый (открыто) провод. Хочу управлять краном с помощью микроконтроллера посредством транзисторных ключей. Проблема такова. Если подключаю только один ключ и один провод крана, то кран закрывается или открывается в зависимости, какой провод выбран. Если подключить второй ключ и провод, то кран не работает, хотя управляющий сигнал с контроллера не подаю. Полагаю, что через общий черный провод потенциал приходит через второй на плату управления в кране и тормозит его. Ключи делал на КТ315. Как правильно решить мою задачу?
  6. Наверняка многие люди сталкивались с ситуацией когда память не сохранила, закрыли ли мы дверь. Приходится мчаться домой или весь день мучаться на работе и проклинать себя за забывчивость. А если в семье еще есть маленькие школьники и пожилые родственники, которые не отличаются пунктуальностью, то вопрос еще сильнее обостряется.Итак, нужно было придумать датчик закрытия замка входной двери. Схема с герконом, которая применяется в охранных сигнализациях, мне не подходила, ибо дверь может быть закрыта, но не заперта. Можно было поставить замок с защелкой, но появляется другая проблема - забытые дома ключи.Перейдем к решению проблемы.Так как руки чешутся автоматизировать свое жилище, то решил применить Ардуино. Датчик закрытия замка будет сообщать центральному модулю, все ли в порядке.У меня были в хозяйстве китайские сильные магниты, диаметр которых случайно совпал с диаметром засовов замка (12мм). Это и послужило толчком.. Замок закрывается на 2 оборота. Ход каждого оборота примерно 1 см. Спилил на толщину магнита (3мм) средний засов. Для надежности крепления просверлил по оси засова отверстие 3мм глубиной 10мм и закрепил винтом М3, залив суперклеем. Замерил, насколько засов входит в дверную раму. Теперь надо разместить датчик Холла. Клеевым пистолетом приклеил его к обрезку клеевого стержня рассчитанной длины и приклеил это внутри дверной рамы.В дверной раме сделал маленькое отверстие, чтобы протянуть 3 провода от датчика Холла по дверной раме до щитка.. Щиток у меня находится при выходе из квартиры, так что длина проводов от датчика примерно 1,2 м. Около щитка расположил RGB светодиод, который обозначает, открыт или закрыт замок.В щитке стоит Ардуино с NRF24L01 и постоянно отсылает информацию центральному модулю о состоянии замка.Сам модуль выполнен на обрезке макетки. Запитан от старого зарядника китайфона. На DIN шину крепится с помошью клеммы ЗНИ4. Пищалка из старой материнки. скетч передатчика /*Схема подключения NRF24L01 1 - GND 2 - VCC 3.3V !!! NOT 5V 3 - CE to Arduino pin D9 4 - CSN to Arduino pin D10 5 - SCK to Arduino pin D13 6 - MOSI to Arduino pin D11 7 - MISO to Arduino pin D12 8 - UNUSED ----Подключение датчика Холла pin A0 -----Подключение RGB led R - pin D4 G - pin D3 B - pin D2 т.к анод + общий, то зажиганиие нужного цвета достигается снятием напряжения с нужной ноги -----------Пищалка pin D5 */ /*-----( Import needed libraries )-----*/ #include #include #include /*-----( Declare Constants and Pin Numbers )-----*/ #define CE_PIN 9 #define CSN_PIN 10 #define Hall A0 int REDpin = 4; int GREENpin = 3; int BLUEpin = 2; int beep = 0; // NOTE: the "LL" at the end of the constant is "LongLong" type const uint64_t pipe = 0xE8E8F0F0E1LL; // Определяем трубу передачи /*-----( Declare objects )-----*/ RF24 radio(CE_PIN, CSN_PIN); // создаем радио /*-----( Declare Variables )-----*/ int sens[2]; // массив для данных датчика void setup() /****** SETUP: RUNS ONCE ******/ { Serial.begin(9600); radio.begin(); radio.setDataRate(RF24_250KBPS); // Скорость передачи radio.setChannel(100); // Номер канала от 0 до 127 radio.setRetries(15, 15); // Кол-во попыток и время между попытками radio.openWritingPipe(pipe); pinMode (REDpin, OUTPUT); pinMode (GREENpin, OUTPUT); // прописали RGB светодиод pinMode (BLUEpin, OUTPUT); pinMode(5, OUTPUT); // устанавливаем 5 ногу для пищалки }//--(end setup )--- void loop() /****** LOOP: RUNS CONSTANTLY ******/ { int i; long dark = 0; for (i = 0; i < 1000; i++) { dark = dark + analogRead(Hall); //считали значение датчика Холла и в итоге усреднили 1000 значений } dark = dark / 1000; // среднее значение Холла для анализа if (dark > 510) { digitalWrite(REDpin, LOW); // замок открыт. зажигаем красный digitalWrite(GREENpin, HIGH); digitalWrite(BLUEpin, HIGH); beep++; // начинаем считать циклы, в течение которых открыт замок if (beep > 1500) { // значение подобрано опытным путем. примерно 3 минуты до тревоги alarm(); } } else if (dark >= 215 && dark <= 495) { digitalWrite(REDpin, HIGH); // замок закрыт на один оборот. зажигаем синий digitalWrite(GREENpin, HIGH); digitalWrite(BLUEpin, LOW); beep = 0; // сброс счетчика тревоги } else if (dark < 210) { digitalWrite(REDpin, HIGH); // замок закрыт на два оборота зажигаем зеленый digitalWrite(GREENpin, LOW); digitalWrite(BLUEpin, HIGH); beep = 0; // сброс счетчика тревоги } // sens[0] = beep; sens[0] = 101; // код датчика Холла - 101 sens[1] = dark; radio.write( sens, sizeof(sens) ); // передали в эфир }//--(end main loop )-- // функция тревоги. Пищим, моргаем void alarm() { analogWrite(5, 20); // значение должно находится между 0 и 255 // поэкспериментируйте для получения хорошего тона digitalWrite(REDpin, HIGH); delay(200); // пауза delayms мс analogWrite(5, 0); // 0 - выключаем пьезо digitalWrite(REDpin, LOW); delay(200); // пауза delayms мс } скетч приемника /*- WHAT IT DOES: Receives data from another transceiver with 2 Analog values from a Joystick Displays received values on Serial Monitor 1 - GND 2 - VCC 3.3V !!! NOT 5V 3 - CE to Arduino pin 9 4 - CSN to Arduino pin 10 5 - SCK to Arduino pin 13 6 - MOSI to Arduino pin 11 7 - MISO to Arduino pin 12 8 - UNUSED /*-----( Import needed libraries )-----*/ #include #include #include /*-----( Declare Constants and Pin Numbers )-----*/ #define CE_PIN 9 #define CSN_PIN 10 // NOTE: the "LL" at the end of the constant is "LongLong" type const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe /*-----( Declare objects )-----*/ RF24 radio(CE_PIN, CSN_PIN); // Create a Radio /*-----( Declare Variables )-----*/ //int joystick[2]; // 2 element array holding Joystick readings int hall[2]; // массив для данных датчика void setup() /****** SETUP: RUNS ONCE ******/ { Serial.begin(9600); delay(1000); Serial.println("Nrf24L01 Receiver Starting"); radio.begin(); radio.setDataRate(RF24_250KBPS); // Скорость передачи - три строки от Осипова radio.setChannel(100); // Номер канала от 0 до 127 radio.setRetries(15,15); // Кол-во попыток и время между попытками radio.openReadingPipe(1,pipe); radio.startListening();; }//--(end setup )--- void loop() /****** LOOP: RUNS CONSTANTLY ******/ { if ( radio.available() ) { // Read the data payload until we've received everything bool done = false; while (!done) { // Fetch the data payload done = radio.read( hall, sizeof(hall) ); Serial.print("Hall = "); Serial.print(hall[0]); Serial.print(" "); Serial.println(hall[1]); // Serial.print(" Y = "); // Serial.println(joystick[1]); } } else { // Serial.println("No radio available"); } }//--(end main loop )--- Развитие идеи: можно отслеживать, в какое время ребенок из школы пришел, когда ушел. Можно охранную сигнализацию делать, т.к. Ардуино ест немного, то даже при выключении электричества при наличии батарейного питания сможет передавать сигнал тревоги.
×
×
  • Создать...