Дубликат ключа от домофона.
- Войдите на сайт для отправки комментариев
Сб, 03/06/2017 - 16:57
Всем привет. Решил сделать дубликат ключей от домофона (DS1990). Код был взят отсюда: https://geektimes.ru/post/258786/
Сам скетч:
#include <OneWire.h>
#define pin 10
byte key_to_write[] = { 0x01, 0xBE, 0x40, 0x11, 0x5A, 0x36, 0x00, 0xE1 };
OneWire ds(pin); // pin 10 is 1-Wire interface pin now
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
byte i;
byte data[8];
delay(1000); // 1 sec
ds.reset();
delay(50);
ds.write(0x33); // "READ" command
ds.read_bytes(data, 8);
Serial.print("KEY ");
for( i = 0; i < 8; i++) {
Serial.print(data[i], HEX);
if (i != 7) Serial.print(":");
}
// Check if FF:FF:FF:FF:FF:FF:FF:FF
// If your button is really programmed with FF:FF:FF:FF:FF:FF:FF:FF, then remove this check
if (data[0] & data[1] & data[2] & data[3] & data[4] & data[5] & data[6] & data[7] == 0xFF)
{
Serial.println("...nothing found!");
return;
}
return; // remove when ready to programm
// Check if read key is equal to the one to be programmed
for (i = 0; i < 8; i++)
if (data[i] != key_to_write[i])
break;
else
if (i == 7)
{
Serial.println("...already programmed!");
return;
}
Serial.println();
Serial.print("Programming new key...");
for (uint8_t i = 0; i < 8; i++)
{
ds.reset();
data[0] = 0x3C; // "WRITE" command
data[1] = i; // programming i-th byte
data[2] = 0;
data[3] = key_to_write[i];
ds.write_bytes(data, 4);
Serial.print(".");
uint8_t crc = ds.read();
if (OneWire::crc8(data, 4) != crc) {
Serial.print("error!\r\n");
return;
}
else
Serial.print(".");
send_programming_impulse();
}
Serial.println("done!");
}
void send_programming_impulse()
{
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
delay(60);
digitalWrite(pin, LOW);
delay(5);
digitalWrite(pin, HIGH);
delay(50);
}
Код своего ключика переписал в: в массив key_to_write
Никак не пойму как убирать помеченный коментарием return. Помогите.
Никак не пойму как убирать помеченный коментарием return. Помогите.
1. Ставите курсор в самое начало строки и два раза давите на кнопку "/".
или
2. Ставите курсор в самое начало строки и давите кнопку Del до тех пор, пока return весь не уберётся.
А проще, идёте на курсы "пользователя компьютера" при любом местном ВУЗе. Там девочки - студентки Вам всё объяснят, заодно и пофлиртуете.
какой строки? мне надо убрать коммент. я просто не пойму где начало, а где конец.
добро пожаловать...
http://arduino.ru/forum/otvlechennye-temy/narochno-ne-pridumaesh-originalnye-tsitaty-vyskazyvaniya-i-tupizmy-foruma
мне надо убрать коммент. я просто не пойму где начало, а где конец.
Фейспалм...
Начало комента - две косые черты ( // ), конец комента - последнее слово в строке
Никак не пойму как убирать помеченный коментарием return.
мне надо убрать коммент.
Ну, Вы бы как-нибудь определились, что Вам нужно убрать return или коммент.
я просто не пойму где начало, а где конец.
Начало строки, обычно слева, а конец - справа.
Или Вы не можете понять, "где начало того конца, которым оканчивается начало?"
Вот так написано с статье: Убираем помеченный коментарием return
Вот как это понять?
Скопируйте мне из кода, что надо стереть? Ну не понимает человек. И Вы меня не можете понять.
Вот так написано с статье: Убираем помеченный коментарием return
Вот как это понять?
Блин, Вы что и впрямь не шутите и не троллите?
Строку 39 удаляем нахрен (можно и ещё дальше). Никак по-другому это понять невозможно.
Нет, здесь нет никакого троллинга. Просто мне не понятно, что надо было удалять. Либо с 36 по 39, либо одну из строк. Спасибо за помощь. И не надо нервничать, надо спокойно относиться в таким вопросам.
надо спокойно относиться в таким вопросам.
Кому надо? Вам? Ну, так относитесь.
Или Вы решили поучить меня как мне относиться к вопросам? Напрасно, найдите более благодарный объект для своих педагогических экспериментов.
Нет, здесь нет никакого троллинга. Просто мне не понятно, что надо было удалять. Либо с 36 по 39, либо одну из строк. Спасибо за помощь.
Вы логику программы понимаете? или просто копируете непонятные буковки. найденные в инете? :)
Return в 39 строчке стоит, как предохранитель, чтобы программа не испортила приложенный к считывателю ключ. Убирать его стоит, только если Вы АБСОЛЮТНО УВЕРЕНЫ в том что делаете. А пока у меня такое ощущение, что для вас этот код - темный лес.
Кстати, по-моему этот код работать не будет, так как хотя и написано, что он копирует болванки RW1990. алгоритм записи в нем от ключей TM2004
Код был взят отсюда: https://geektimes.ru/post/258786/
В источнике действительно говорится о ключах ТМ2004.
Код то не настоящий!
Из приведённой статьи:"Во-вторых, я всё-таки намеренно упустил несколько довольно принципиальных вопросов, которые помешают новичку запустить устройство. "
Код то не настоящий!
Но он, тем не менее, показывает основные принципы.
А вообще, в интернете он не единственый. Ищите. Я тоже ардуино начинал не с блинка, а с чтения домофонных ключиков...
Это я к тому, что код для начинающих специально сделан нерабочим. У меня сделано это - пока все ключи отлично откопировались,
http://sun-student.ru/hard/rw1990/manufacture_duplicator.html
Щас бы в 2k17 домофоны на Dallas ставить... RFId рулит.
Щас бы в 2k17 домофоны на Dallas ставить... RFId рулит.
Да, ладно Вам - отличная вещь. Многофункциональная!!! Сам видел как бомжара от подъездного "замка" мобильник подзаряжал. Слабо такое с рфид проделать?
Щас бы в 2k17 домофоны на Dallas ставить... RFId рулит.
Новые может и не ставят, а вот старых -полно. По моим прикидкам, в москве две трети домофонов - до сих пор на Далласе и аналогах.