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

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

Модератор: immortal

Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm

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

Сообщение Alien »

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

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

Сообщение Ivan »

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

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

Сообщение ErmolenkoM »

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

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

Сообщение ILGAS »

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

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

Сообщение Colp »

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

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

Сообщение aurodionov »

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

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

Сообщение sergejey »

aurodionov писал(а):
Colp писал(а):А я вот думаю, что было бы неплохо получать некий сигнал, что микроволновка закончила свою работу. А то поставил греться еду, сам отошёл и... благополучно забыл. Хотелось бы получать уведомление вовремя (что поделать - уж очень я рассеянный :roll: ).
Это ,на раз. параллельно движку который ворочает нижнюю чашку прицепить оптрон, вот и контролька.
А дальше куда угодно загнать.
Ещё способ сделать датчик тока с отправкой сообщения в систему -- при превышении порога потребления одно сообщение, при снижении назад другое. Я так к посудомоечной машине и обычному электро-чайнику подключался.

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

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

Сообщение Amarok »

sergejey писал(а):Я так к посудомоечной машине и обычному электро-чайнику подключался.
А можно подробнее?
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение sergejey »

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

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

#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  
}
 

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

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

Сообщение shemnik69 »

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