Доработка пленочной клавиатуры бытовых приборов

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Alien
Сообщения: 190
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 71 раз
Поблагодарили: 37 раз

Доработка пленочной клавиатуры бытовых приборов

Сообщение Alien » Ср июн 17, 2015 8:46 am

Алоха, камарады.
Требуется совет коллективного разума.
Предпосылка такая - приказала долго жить клавиатура на микроволновке. Разобрал - обычная пленочная.
СпойлерПоказать
Изображение
Купить заменить, конечно, можно, но в голове застряла мысль немного модернизировать бытовой прибор.
Что если вместо клавиатуры, а еще лучше в разрыв соединения поставить mysensors ноду для управления девайсом через MD?
Включить-выключить, понятное дело, нужно реле. А клавиатура? Не ставить же 21 релюху на замыкание контактов. Места внутри достаточно, но как-то это громоздко и пинов у ардуинки не хватит.
Подозреваю что логические элементы и оптопары какие-то нужны, но знаний катастрофически не хватает.
Может кто подскажет изящное решение вопроса? Так, в принципе, можно в любой прибор добавить внешнее управление.
Ubuntu на Banana pi M2U Connect
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение Ivan » Ср июн 17, 2015 9:28 am

Вам не нудны реле и оптопары. Нужно узнать уровень логических сигнплов. И если питать от внутреннего питания, чем питается процессор
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 138 раз
Контактная информация:

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение ErmolenkoM » Ср июн 17, 2015 12:16 pm

Попробую дать совет. Из своего опыта. Была у меня попытка скрестить МЖД с мультиваркой. Ну типа очень умной кастрюли хотелось получить. Даже была куплена БУ мультиварка под эксперименты. вместо реостата поставил НооЛАйт. Результат - научился я регулировать температуру через МЖД, но практически пользы было 0 - ОЧЕНЬ неудобно. Вообщем сейчас у меня обычная автономная мультиварка. А ту закопал я в лесу.
Выводы для себя сделал такие: бытовая техника должна быть автономной.
PS. Микроволновка ОЧЕНЬ ОПАСНЫЙ прибор.
aka msh555
Cubian на Cubietruck, Connect
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 16 раз

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение ILGAS » Ср июн 17, 2015 12:36 pm

msh555, прав и смысл от этой техники, кто поставит еду в микроволновку. конечно можно сказать что вечером можно поставить а с утра по будильнику она включится и разогреет кашку. но есть одно но. продукт может испортится и т.д., можно забыть положить продукт и испортить микроволновку, проще подождать 30 сек.
Colp
Сообщения: 11
Зарегистрирован: Вс фев 22, 2015 8:57 pm
Откуда: Минск, Беларусь
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение Colp » Ср июн 17, 2015 2:03 pm

А я вот думаю, что было бы неплохо получать некий сигнал, что микроволновка закончила свою работу. А то поставил греться еду, сам отошёл и... благополучно забыл. Хотелось бы получать уведомление вовремя (что поделать - уж очень я рассеянный :roll: ).
За это сообщение автора Colp поблагодарил:
RusikOk (Сб июн 20, 2015 9:32 pm)
Рейтинг: 1.23%
Debian, версия 1.1.0b, CONNECT
aurodionov
Сообщения: 87
Зарегистрирован: Пн янв 27, 2014 2:50 pm
Откуда: Россия, Тюмень
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение aurodionov » Ср июн 17, 2015 4:13 pm

Colp писал(а):А я вот думаю, что было бы неплохо получать некий сигнал, что микроволновка закончила свою работу. А то поставил греться еду, сам отошёл и... благополучно забыл. Хотелось бы получать уведомление вовремя (что поделать - уж очень я рассеянный :roll: ).
Это ,на раз. параллельно движку который ворочает нижнюю чашку прицепить оптрон, вот и контролька.
А дальше куда угодно загнать.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1512 раз
Контактная информация:

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение sergejey » Ср июн 17, 2015 4:46 pm

aurodionov писал(а):
Colp писал(а):А я вот думаю, что было бы неплохо получать некий сигнал, что микроволновка закончила свою работу. А то поставил греться еду, сам отошёл и... благополучно забыл. Хотелось бы получать уведомление вовремя (что поделать - уж очень я рассеянный :roll: ).
Это ,на раз. параллельно движку который ворочает нижнюю чашку прицепить оптрон, вот и контролька.
А дальше куда угодно загнать.
Ещё способ сделать датчик тока с отправкой сообщения в систему -- при превышении порога потребления одно сообщение, при снижении назад другое. Я так к посудомоечной машине и обычному электро-чайнику подключался.
За это сообщение автора sergejey поблагодарил:
RusikOk (Сб июн 20, 2015 9:33 pm)
Рейтинг: 1.23%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Amarok
Сообщения: 1403
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 454 раза
Поблагодарили: 123 раза
Контактная информация:

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение Amarok » Чт июн 18, 2015 9:06 am

sergejey писал(а):Я так к посудомоечной машине и обычному электро-чайнику подключался.
А можно подробнее?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1512 раз
Контактная информация:

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение sergejey » Чт июн 18, 2015 12:13 pm

Amarok писал(а):
sergejey писал(а):Я так к посудомоечной машине и обычному электро-чайнику подключался.
А можно подробнее?
Собрал небольшое устройство, состоящее из блока питания, arduino pro mini, датчик тока, передатчик RF433. Собственно всё. Если интересно, то ниже скетч:
СпойлерПоказать

Код: Выделить всё

#include <VirtualWire.h>
#include <EasyTransferVirtualWire.h>
#include <EEPROM.h> //Needed to access the eeprom read write functions

#define PIN_LED 13
#define PIN_LED_T 13
#define PIN_RF 10
#define PIN_STATUS A0

#define RF_SEND_COUNTER 3 // number of packets to send with transmission
 
int led_status=0;

unsigned int unique_device_id = 0;

int old_status=0;
int delay_value=1;

long int turnedOffPassed = 0;
int powerStatus = 0;
int minLevel=700;
int maxTurnOff=600*3;

//create object
EasyTransferVirtualWire ET; 

struct SEND_DATA_STRUCTURE{
  //put your variable definitions here for the data you want to send
  //THIS MUST BE EXACTLY THE SAME ON THE OTHER ARDUINO
  //Struct can'e be bigger then 26 bytes for VirtualWire version
  unsigned int device_id;
  unsigned int destination_id;    
  unsigned int packet_id;
  byte command;
  int data;
};

//give a name to the group of data
SEND_DATA_STRUCTURE mydata;

//This function will write a 2 byte integer to the eeprom at the specified address and address + 1
void EEPROMWriteInt(int p_address, unsigned int p_value)
{
  byte lowByte = ((p_value >> 0) & 0xFF);
  byte highByte = ((p_value >> 8) & 0xFF);

  EEPROM.write(p_address, lowByte);
  EEPROM.write(p_address + 1, highByte);
}

//This function will read a 2 byte integer from the eeprom at the specified address and address + 1
unsigned int EEPROMReadInt(int p_address)
{
  byte lowByte = EEPROM.read(p_address);
  byte highByte = EEPROM.read(p_address + 1);

  return ((lowByte << 0) & 0xFF) + ((highByte << 8) & 0xFF00);
}

void blinking(int count) {
 for(int i=0;i<count;i++) {
  digitalWrite(PIN_LED, HIGH); 
  delay(200);
  digitalWrite(PIN_LED, LOW);
  delay(200);
 }
}

void sendRFData() {
 Serial.print("Transmitting packets ... ");   
 for(int i=0;i<RF_SEND_COUNTER;i++) {
  if (i>0) {
   delay(200);    
  }
  digitalWrite(PIN_LED_T, HIGH); 
  ET.sendData();
  digitalWrite(PIN_LED_T, LOW);
 }  
 Serial.println("DONE");   
}

void setup()
{

  pinMode(PIN_LED, OUTPUT);
  pinMode(PIN_LED_T, OUTPUT); 
  pinMode(PIN_STATUS, INPUT); 
  Serial.begin(9600); 

  ET.begin(details(mydata));
  vw_set_tx_pin(PIN_RF);
  vw_setup(2000);        // Bits per sec
  randomSeed(analogRead(0));


  // Device ID
  Serial.print("Getting Device ID... "); 
  unique_device_id=EEPROMReadInt(1);
  if (unique_device_id<30000 || unique_device_id>60000) {
    Serial.print("N/A, updating... "); 
    unique_device_id=random(30000, 60000);
    EEPROMWriteInt(1, unique_device_id);
  }
  Serial.println(unique_device_id);   
  mydata.device_id = unique_device_id;
  mydata.destination_id = 0;  
  
}

void loop()
{
  int currentPower=analogRead(PIN_STATUS);   
  if (currentPower>minLevel) {  
    Serial.print("Status: ");
    Serial.println(currentPower);
     if (powerStatus==0) {
        // send notification about turn on
        Serial.println("Turned On");
        powerStatus=1;
        mydata.packet_id = random(65535);
        mydata.command = 19; //relay/input
        mydata.data = (int)(powerStatus);
        sendRFData();      
    }
    turnedOffPassed=0;
  } else {
    if (powerStatus==1) {
     turnedOffPassed+=1;
     //Serial.print("off passed: ");
     //Serial.println(turnedOffPassed);
     if (turnedOffPassed>maxTurnOff) {
        // send notification about turn off
        Serial.println("Turned Off");
        powerStatus=0;
        mydata.packet_id = random(65535);
        mydata.command = 19; //relay/input
        mydata.data = (int)(powerStatus);
        sendRFData();        
      }
     }
  }
  delay(100);               // wait for some time  
}
 
За это сообщение автора sergejey поблагодарил:
Amarok (Чт июн 18, 2015 1:11 pm)
Рейтинг: 1.23%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 583
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 61 раз

Re: Доработка пленочной клавиатуры бытовых приборов

Сообщение shemnik69 » Пт июн 19, 2015 10:46 am

Подскажу еще один вариант ремонта клавиатуры.
Есть такие микросхемы электронные коммутаторы. (как вариант к561КП1 имп 4052) По сути это обычные MDP тразисторы только их выходы это выводы микросхем. Логика протая подаем на упраляющий вывод 1 (КМОП от 3-15 V) и выходные выводы как бы "замыкаются" условно т.е. между ними образуется низкое сопротивление (канал открытого транзистора). Если соеденить по данному принцыпу координатную сетку от клавиш (х/Y) то получаем условно что 1 ключ это одна кнопка. Либо по похожему принцыпу выполнить на оптронах ...но, и так и так, будет громоздко и проводов "антенн" много, а в Вашем случае это не гуд.
А клавиатура что такой дефицит?
На барахолках на рынках или еще где, купить похожую... или важна "сама религия".... своими руками . :D
Ответить