Схема простая до безобразия, честно спизжена с сайта
http://psenyukov.ru/работа-с-ibutto...чей-ibutton/Что поправлено:
в функции записи ключа в болванку iButton у автора явно указан 10-й пин.
т.е. строка
#define pin 10 // iBbutton подключен к PIN 10.
работать не будет,
если вы вдруг подключите ключ к другому пину и вот тут поменяете номер.
Что выкинул:
Все кнопки. Нафиг они мне не надо, я не так часто ключи копирую, вполне
через команды меню справляюсь
Что поменял:
- Меню.
Команды заменил на заглавные буквы. Если в оригинале была 'r', то теперь 'R',
'w' - 'W' и т.д. Далее в тексте исходника есть функция Help(), там всё расписано
- В оригинале считанный ключ можно было сохранить в EEPROM.
Я добавил выбор ячейки, по клавишам 0-9,a-z - т.е. можно выбирать ячейку, таким образом можно
сохранить в EEPROM 36 ключей. Хрен его знает, как потом вспомнить где какой, видимо придется писать шпаргалку на бумажке :)
Как это работает:
Всё взаимодействие происходит через терминал, можно использовать тот же встроенный монитор порта из Arduino IDE.
выставить Скорость порта 115200, а параметр признака конца строки (по-умолчанию там 'NL-новая строка', поставить 'Нет конца строки').
ничего страшного не произойдет, если этот параметр останется по-дефолту, просто будет лишний раз \n проскакивать
Первое и самое простое - прочитать ключ (на самом деле тут всё просто :) ).
Прислоняем ключ к контактам, жмем команду R, в ответ должно прилететь две строки
ID: 0x01,0xFD,0x36,0xFE,0x0A,0x00,0x00,0x13
CRC: 13
Если ключ прочитан нормально, то CRC должен совпасть с последним байтом ID ключа
Ключ считан, он сейчас 'болтается' в буфере и далее есть варианты:
1) ключ можно сразу прошить в болванку. Прикладываем её контактам,
даем команду W
2) сохранить прочитанный ключ в EEPROM
- выбираем ячейку (напоминаю, их у нас 36 - 0-до-9, и от a-до-z
(Вот почему команды выведены в заглавные буквы! Чтоб не путать с номерами ячеек!)
Для ячейки 4 выскочит вот такой ответ:
Selected key: 4
Selected addr: 32
- сохраняем прочитанный ключ в выбранную ячейку командой S
Как прошить болванку из сохраненных ранее ключей
1) выбрать адрес ячейки (0-9,a-z)
2) загрузить данные из ячейку командой L
3) прслонить болванку к контактам и записать ключ командой W