проект рфид считыватель на дверь . Помогите
- Войдите на сайт для отправки комментариев
Втр, 03/01/2017 - 23:02
нашёл вот такой скейч 003 Servo dimkaservo; 004 005 #include <SPI.h> 006 007 #include <MFRC522.h> // это скачанная библиотека "RFID". 008 009 /* 010 011 подключение для Arduino Uno и Mega, производится к разным Pin! 012 013 ---------------------------------------------------— Nicola Coppola 014 015 * Pin layout should be as follows: 016 017 * Signal Pin Pin Pin 018 019 * Arduino Uno Arduino Mega MFRC522 board 020 021 * —--------------------------------------------------------— 022 023 * Reset 9 5 RST 024 025 * SPI SS 10 53 SDA 026 027 * SPI MOSI 11 51 MOSI 028 029 * SPI MISO 12 50 MISO 030 031 * SPI SCK 13 52 SCK 032 033 */ 034 035 // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. 036 037 // !(SS - он же - SDA). 038 039 #define SS_PIN 10 040 041 #define RST_PIN 9 042 043 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. 044 045 unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате 046 047 //************************************************************* 048 049 // Массив 4 Светодиодов, для визуального контроля. 050 051 //************************************************************* 052 053 int ledPins[] = { 054 055 2,3,4,5}; 056 057 int LedPinSindex; // индекс, для массива Светодиодов. 058 059 void setup() { 060 061 Serial.begin(9600); // Initialize serial communications with the PC. 062 063 Serial.println("Prilozhite kartu / Waiting for card..."); 064 065 SPI.begin(); // инициализация SPI / Init SPI bus. 066 067 mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. 068 069 dimkaservo.attach(7); // servo подключён к 7 Pin. 070 071 dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания.// весь массив светодиодов делаем OUTPUT. 072 073 for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) 074 075 { 076 077 pinMode(ledPins[LedPinSindex],OUTPUT); 078 079 } 080 081 } 082 083 void loop() { 084 085 // Поиск новой карточки / Look for new cards. 086 087 if ( ! mfrc522.PICC_IsNewCardPresent()) { 088 089 return; 090 091 } 092 093 // Выбор карточки / Select one of the cards. 094 095 if ( ! mfrc522.PICC_ReadCardSerial()) { 096 097 return; 098 099 } 100 101 uidDec = 0; 102 103 // Выдача серийного номера карточки "UID". 104 105 for (byte i = 0; i < mfrc522.uid.size; i++) 106 107 { 108 109 uidDecTemp = mfrc522.uid.uidByte[i]; 110 111 uidDec = uidDec*256+uidDecTemp; 112 113 } 114 115 Serial.println("Serijnyj nomer karty / Card UID: "); 116 117 Serial.println(uidDec); 118 119 // —--------------------— 120 121 // начинаем сравнивать номер "UID", поднесённой к ридеру карты, 122 123 // с записанным номером "UID" карты в sketch. 124 125 // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. 126 127 if (uidDec == 422455350) // если "UID" номер совпал. 128 129 { 130 131 // включим светодиод. 132 133 digitalWrite(ledPins[0], HIGH); 134 135 // Печатаем в Serial монитор . 136 137 Serial.println("Hi Dmitry"); 138 139 // поворачиваем servo на 170 градусов. 140 141 dimkaservo.write(170); 142 143 } 144 145 // также и с другими номерами карт. 146 147 else if (uidDec == 959884118) 148 149 { 150 151 digitalWrite(ledPins[1], HIGH); 152 153 Serial.println("Hi Sergey"); 154 155 dimkaservo.write(170); 156 157 } 158 159 else if (uidDec == 695670870) 160 161 { 162 163 digitalWrite(ledPins[2], HIGH); 164 165 Serial.println("Hi Peter"); 166 167 dimkaservo.write(170); 168 169 } 170 171 else if (uidDec == 695670614) 172 173 { 174 175 digitalWrite(ledPins[3], HIGH); 176 177 Serial.println("Hi Vasily"); 178 179 dimkaservo.write(170); 180 181 } 182 183 else // если "UID" номер карты не совпал. 184 185 { 186 187 // включим все светодиоды. 188 189 for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); 190 191 Serial.println("Neizvestnaja karta / unknown card"); 192 193 } 194 195 Serial.println("====================================="); 196 197 delay(3000); // пауза 3 секунды. 198 199 dimkaservo.write(10); // возвращаем servo обратно. 200 201 // и выключим все светодиоды. 202 203 for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); 204 205 }
Но мне тут не хвотает одного, хочу поставить на торец двери кантакты кагда мы поворачиваем серво картой и открываем дверь тогда на торце двери размыкаются контакты то тогда серво не должна поворачиватся через 3 сек обратно. А если мы повернули серво картой и дверь не открылась в течении 3 сек тогда серво поворачиваем обратно.ПОМОГИТЕ ДОПИСАТЬ СКЕЙЧ Я ВАМ БУДУ ОЧЕНЬ БЛОГОДАРЕН.
не подскажите куда id карты писать
Попробовал исправит Ваш код, не проверял потому что не начем. Кнопка на двери, когда дверь открыта замыкает на минус
Спасибо я попробую просто сейчас не дома
сматри проблема такая он все правельный но когда я загружаю в ардуино и прислогняю карту серво поворачивается и все больше чего бы ты не делал размыкал или замыкал контакты
Смысл там должен быть такой:
Поднес карточку - серва сработала, открыли дверь и только после того как закроем дверь серва через 3 секунды вернется назад. Если дверь после сработки не открыть то серва не закроет а будет ждать открытия.
Что в этой гогике не сработало?
а у меня сматри как я подношу карту серво сробатывает кантакты замкнуты кагда размыкаеш серво через 3 сек не сробатывает а стоит в открытом состоянии двери
Поправил, сейчас должна работать следуещим образом:
1)Поднес карточку - серва сработала, открыли дверь и только после того как закроем дверь серва через 3 секунды закроет.
2)Если серва сработала но дверь не открылась - то серва через 3 ск. закроет
сматори может я кнопку не правельног подключаю . действия такиеже
Ну да кнопка должна быть подключена на вывод и землю без резисторов лишних. А может вы еще умудрились заливать скетч на неподсоединеную ардуину.
Тоесть я кнопку не правельно подключил?
Ну может еще что-то еще НЕ ПРАВЕЛЬНО сделал. Но что бы работало нормально , надо все сделать правильно.
сейчас я все соберу проверю и отпишусь
В #3 посте я же написал "Кнопка на двери, когда дверь открыта замыкает на минус" НЕ ЧИТАЛИ?
все подсаеденил правельно 1000 раз перепроверил и все ровно такаеже хрень
пя вот так подключил кнопку так или нет
Побробуй упрощеный скетч. Там открывается кнопками. Внимание я переподключил пины.
Убедитесь пожалуста , что работает серва = "закрывает замок", когда вывод геркона на земле "дверь закрыта". Закрывать замок , когда дверь открыта думаю бесмысленно.
здесь также без резисторов все да подсоеденять
ОН НЕ РАБОТАЕТ НИ КАК
Ну да, у меня работает, а у вас нет. А вот сканер для моих rfid карточек
я все правильно собираю но кнопки и геркон без резистоора да также ?
"я все правильно собираю но кнопки и геркон без резистоора да также ?"
Это настораживает! Я так понял что на дверях у Вас стоит геркон, который Мы в скетче назвали кнопка, или у Вас стоит отдельно геркон и отдельно кнопка?
уйди код куда вставлять
суда
Ну вы же не пазл собираете. Это из кучи бумажек можно сложить картинку. А в электричестве и электронике (позже) плохие контакты валят всю конструкцию. А если раздолбаный бреадбоард то хрень еще та. Я от него давно отказался.
В кнопке или герконе используются нормаль замкнутые кондакты тоесть если не воздействувать на кнопку (геркон) то контакты замкнуты на на минус
уйди код куда вставлять
суда
Если про это#1 то сюда
ну 3D 78 D3 AE и 0x3D 0x78 0xD3 0xAE различаете? Есть такая вещь, как шестнадцатиричные цифры и правило их записывание.
а как из моего зделать 16 ричный я то ваше не в курсе
не увидел спасибо щя папробую
Я не пойму но у меня он тоже не работает может что у меня с ардуино потомучто все правельно подсоединяю
начните с простых скетчей. Blink, зажигание светодиода по состоянию кнопки, поворот сервы по нажатию кнопки и возврат по отжатию. Просто этот проект немного сложен для Вас.
да все в том то и дело работает пробовал и тот скейч каторый первый я прикреплял а эти фиг
qwone вы тоже делаете проект открывангие двери пластиковыми картами ?
Нет. Это просто отработка технологии и подхода к программированию.Поиск подводных камней.
Совершено верно без этого не начать!!!!!!!!!!