контроль доступа! помогите!
- Войдите на сайт для отправки комментариев
Пт, 29/05/2015 - 09:44
Добрый день уважаемые форумчани! Я имею код для ардуино на фид метки с серво приводом (от Дмитрия Осипова) я его реализовал на своей входной двери всё отлично работает. Теперь я хочу сделать тоже самое но для гаражных ворот тоесть мне нужно вместо сервы поставить 2реле и 2 кнопки после активации системы запускается первое реле и роботает до тех пор пока не будет нажата первая кнопка арнуинка делает настраеваемую паузу и активирует вторую реле до тех пор пока не будет нажата вторая кнопка. Очень сильно нужна ваша помощ!
*/
#include <Servo.h>
Servo dimkaservo;
#include <SPI.h>
#include <MFRC522.h> // это скачанная библиотека "RFID".
/*
подключение для Arduino Uno и Mega, производится к разным Pin!
----------------------------------------------------- Nicola Coppola
* Pin layout should be as follows:
* Signal Pin Pin Pin
* Arduino Uno Arduino Mega MFRC522 board
* ------------------------------------------------------------
* Reset 9 5 RST
* SPI SS 10 53 SDA
* SPI MOSI 11 51 MOSI
* SPI MISO 12 50 MISO
* SPI SCK 13 52 SCK
*/
// два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде.
// !(SS - он же - SDA).
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance.
unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате
//*************************************************************
// Массив 4 Светодиодов, для визуального контроля.
//*************************************************************
int ledPins[] = {
2,3,4,5};
int LedPinSindex; // индекс, для массива Светодиодов.
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC.
Serial.println("Prilozhite kartu / Waiting for card...");
SPI.begin(); // инициализация SPI / Init SPI bus.
mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card.
dimkaservo.attach(7); // servo подключён к 7 Pin.
dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания.
// весь массив светодиодов делаем OUTPUT.
for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)
{
pinMode(ledPins[LedPinSindex],OUTPUT);
}
}
void loop() {
// Поиск новой карточки / Look for new cards.
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Выбор карточки / Select one of the cards.
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
uidDec = 0;
// Выдача серийного номера карточки "UID".
for (byte i = 0; i < mfrc522.uid.size; i++)
{
uidDecTemp = mfrc522.uid.uidByte[i];
uidDec = uidDec*256+uidDecTemp;
}
Serial.println("Serijnyj nomer karty / Card UID: ");
Serial.println(uidDec);
// ------------------------
// начинаем сравнивать номер "UID", поднесённой к ридеру карты,
// с записанным номером "UID" карты в sketch.
// замените!!! "UID" № "422455350", на номер "UID" № вашей карты.
if (uidDec == 422455350) // если "UID" номер совпал.
{
// включим светодиод.
digitalWrite(ledPins[0], HIGH);
// Печатаем в Serial монитор .
Serial.println("Hi Dmitry");
// поворачиваем servo на 170 градусов.
dimkaservo.write(170);
}
// также и с другими номерами карт.
else if (uidDec == 959884118)
{
digitalWrite(ledPins[1], HIGH);
Serial.println("Hi Sergey");
dimkaservo.write(170);
}
else if (uidDec == 695670870)
{
digitalWrite(ledPins[2], HIGH);
Serial.println("Hi Peter");
dimkaservo.write(170);
}
else if (uidDec == 695670614)
{
digitalWrite(ledPins[3], HIGH);
Serial.println("Hi Vasily");
dimkaservo.write(170);
}
else // если "UID" номер карты не совпал.
{
// включим все светодиоды.
for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH);
Serial.println("Neizvestnaja karta / unknown card");
}
Serial.println("=====================================");
delay(10000); // пауза 10 секунды.
dimkaservo.write(10); // возвращаем servo обратно.
// и выключим все светодиоды.
for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW);
}
забыл добавить ардуинка уно.
Гыыыы нравятся мне все эти "учителя" с ютуба.. смарите типа повторяйте... гыы если долго долго повторять то есть шансы что человек начнет понимать код?
ну впринципе то что написано я понимаю я незнаю как писать но прочитать могу конечно не всё но всётаки.
и зачем мне чтото понимать с ютуба если там готовые системы. мне надо то 2-3 три вещи на ардуинке и что мне теперь всё програмирование нужно изучить ради этого? если вам нужно сварить 2 железяки вмести вы же не пойдёте покупать сварочной аппарат! вы пойдёте к соседу и попросите его сварить эти детали и сварит он вам их бесплатно так как мелоч (когда умееш) и зачем тогда покупать сварочный и учиться варить???
digitalWrite(Relay1, HIGH); while(digitalRead(Button1) == LOW){}; digitalWrite(Relay1, LOW); delay(настраиваемая пауза); digitalWrite(Relay2, HIGH); while(digitalRead(Button2) == LOW){}; digitalWrite(Relay2, LOW);огромное спасибо за помощ! не хочеться надоедать но немогли бы вы всё это вставить в общий код и указать выходы для подключения? так как я в этом деле полный профан. зарание благодарю!
Интересно, если у гипотетического соседа - сварщика, несколько тысяч соседей не желающих покупать сварочный аппарат. И желающих использовать его услуги задаром.. как быстро он начнет их посылать в пешие путешествия?
тогда сварщик сосед должен будет озвучить сумму за свои услуги! а не срать в коментах. я доходчиво обьясняю?
как собственно я и делаю если у меня есть свободная минута я просто беру и делаю за простое человеческое спасибо потому что это моё хобби. ну а ели сосед приходит и просит сварить полноценную металоконструкцию то тут уж извеняйте но время деньги. и к слову сказать я мозг некому не е...у я просто говорю сумму и всё!
Тш-тш! Это - БИБЛИОТЕКА!!!111!!!.
Товарисч, если вы пришли сюда поругаться - вам туда -> ( | )
Назначьте сумму за ваш вот этот скетч - сделаем.
Назначьте сумму за ваш вот этот скетч - сделаем.
сумму называет иполнитель! (продовец) или вы когда приходите в магазин вы сами назначаете суммы за товары?
OK. 500 рублей - и я напишу
я х/з не у кого некаких гарантий :/
Гыыы. Я буду гарантией. Деньги вперед. Код сюды после получения оплаты. Если он не напишет. Я напишу его бесплатно.
держи!
Куда кинуть скетч?
Куда кинуть скетч?
Тут выложи.
Могу и тут...по согласию покупателя)
Могу и тут...по согласию покупателя)
да конечно здесь выкладывай можеть ещё кому пригодиться.
#include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате int Relay1Pin = 1; //Изменить на свои пины реле int Relay2Pin = 2; int but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) int but2Pin = 4; int pause = 1000; // Изменить на время задержки в мс //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* int ledPins[] = { 5,6,7,8}; int LedPinSindex; // индекс, для массива Светодиодов. void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); // поворачиваем servo на 170 градусов. digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); } /* // также и с другими номерами карт. else if (uidDec == 959884118) { digitalWrite(ledPins[1], HIGH); Serial.println("Hi Sergey"); dimkaservo.write(170); } else if (uidDec == 695670870) { digitalWrite(ledPins[2], HIGH); Serial.println("Hi Peter"); dimkaservo.write(170); } else if (uidDec == 695670614) { digitalWrite(ledPins[3], HIGH); Serial.println("Hi Vasily"); } */ else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } Serial.println("====================================="); delay(10000); // пауза 10 секунды. // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); }МА-ЛА-ДЕЦ
возми с китайской полки свой фен... прическу не испорти :)
ты серво оставил? оно тоже будет функционировать?
Серво?не оставил)
#include <Servo.h> Servo dimkaservo; #include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* int ledPins[] = { 2,3,4,5}; int LedPinSindex; // индекс, для массива Светодиодов. int Relay1Pin = 1; //Изменить на свои пины реле int Relay2Pin = 2; int but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) int but2Pin = 4; int pause = 1000; // Изменить на время задержки в мс void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. dimkaservo.attach(7); // servo подключён к 7 Pin. dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); // поворачиваем servo на 170 градусов. dimkaservo.write(170); } // также и с другими номерами карт. else if (uidDec == 959884118) { digitalWrite(ledPins[1], HIGH); Serial.println("Hi Sergey"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else if (uidDec == 695670870) { digitalWrite(ledPins[2], HIGH); Serial.println("Hi Peter"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else if (uidDec == 695670614) { digitalWrite(ledPins[3], HIGH); Serial.println("Hi Vasily"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } Serial.println("====================================="); delay(10000); // пауза 10 секунды. dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); }Стоп стоп стоп.
1.Деньги вперед.
2.Сумма равна стоимости промышленного варианта + разработка = минимум 6000 рублей российских.
3.Вероятность успеха классическая 50%.
Заказчик потратит денег больше и еще время потеряет.
потавил вои пины и максимум что происходит открывается одна релюха
#include <Servo.h> Servo dimkaservo; #include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* int ledPins[] = { 6,8,}; int LedPinSindex; // индекс, для массива Светодиодов. int Relay1Pin = 4; //Изменить на свои пины реле int Relay2Pin = 5; int but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) int but2Pin = 2; int pause = 1000; // Изменить на время задержки в мс void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. dimkaservo.attach(7); // servo подключён к 7 Pin. dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); // поворачиваем servo на 170 градусов. dimkaservo.write(170); } // также и с другими номерами карт. else if (uidDec == 959884118) { digitalWrite(ledPins[1], HIGH); Serial.println("Hi Sergey"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else if (uidDec == 695670870) { digitalWrite(ledPins[2], HIGH); Serial.println("Hi Peter"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else if (uidDec == 695670614) { digitalWrite(ledPins[3], HIGH); Serial.println("Hi Vasily"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){} digitalWrite(Relay2Pin,LOW); dimkaservo.write(170); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } Serial.println("====================================="); delay(10000); // пауза 10 секунды. dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); }На 3м пине какой уровень до нажатия на кнопку 1 и когда нажать на кнопку 1?
На 3м пине какой уровень до нажатия на кнопку 1 и когда нажать на кнопку 1?
что значит уровень? после активации системы запускается первое реле и роботает до тех пор пока не будет нажата первая кнопка арнуинка делает настраеваемую паузу и активирует вторую реле до тех пор пока не будет нажата вторая кнопка.
потавил вои пины и максимум что происходит открывается одна релюха
Если это максимум, то цикл закручивается. Надо посмотреть уровни напряжения на пине 3. Мультиметром или цшкой любой (да хоть светодиодом с резистором) подцепиться между землей и 3м пином и посмотреть какое напряжение когда кнопка отжата и когда нажата.
щас гляну
потавил вои пины и максимум что происходит открывается одна релюха
Если это максимум, то цикл закручивается. Надо посмотреть уровни напряжения на пине 3. Мультиметром или цшкой любой (да хоть светодиодом с резистором) подцепиться между землей и 3м пином и посмотреть какое напряжение когда кнопка отжата и когда нажата.
0 напряжения нет вообще
поставил свои пины и максимум что происходит открывается одна релюха
....и код виснет до ресета ?
кнопка 2 левая :( , под замену
а если не нажимать кнопки 1 и 2 - то код повесится... не нужно ли ввести имитацию нажатия этих кнопок по дефолту времени ?
поставил свои пины и максимум что происходит открывается одна релюха
....и код виснет до ресета ?
кнопка 2 левая :( , под замену
а если не нажимать кнопки 1 и 2 - то код повесится... не нужно ли ввести имитацию нажатия этих кнопок по дефолту времени ?
я их сейчас прото отпаяю и попробую обычным замыканием проводов попробовать
эффект нуливой! может там масив ветодиодов мешает?
поменял кнопки на 6-8 пины делаю простое замыкание проводами эффект 0
строку 99 из #25
while(digitalRead(but1Pin)){}перепишите как
while(digitalRead(but1Pin)){Serial.println("........forward pressing button 1");}строку 103 из #25
while(digitalRead(but2Pin)){}перепишите как
while(digitalRead(but2Pin)){Serial.println("........forward pressing button 2");}что в сериале на каждом этапе ?
строки 165....168 - не там стоят.... делей на 10 сек всё портит...
наверное нужно перенести эти строки в каждый блок ?
.....в строки 106А , 106B , 106C , 106D ( и так по каждому подписанному юзеру )
что в сериале на каждом этапе ?
???????
MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance.
выдал ош..ку и выдилил эту троку
строки 165....168 - не там стоят.... делей на 10 сек всё портит...
наверное нужно перенести эти строки в каждый блок ?
.....в строки 106А , 106B , 106C , 106D ( и так по каждому подписанному юзеру )
непонел в какой блок?
в конец блоков кода :
93...106 для Димы
113...122 для Сергея
128...137 для Пети
-"-"-"-"-"-
MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance.
....где-то проводок отвалился
#include <Servo.h> Servo dimkaservo; #include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* byte ledPins[] = {6,8,}; byte LedPinSindex; // индекс, для массива Светодиодов. byte Relay1Pin = 4; //Изменить на свои пины реле byte Relay2Pin = 5; byte but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) byte but2Pin = 2; int pause = 1000; // Изменить на время задержки в мс void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. dimkaservo.attach(7); // servo подключён к 7 Pin. dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){Serial.println("........forward pressing button 1");} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){Serial.println("........forward pressing button 2");} digitalWrite(Relay2Pin,LOW); // поворачиваем servo на 170 градусов. dimkaservo.write(170); delay(10000); // пауза 10 секунды. dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } }в парке... монитор бликует , ничё не видно , мог и ошибиться :(
#include <Servo.h> Servo dimkaservo; #include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* byte ledPins[] = {6,8,}; byte LedPinSindex; // индекс, для массива Светодиодов. byte Relay1Pin = 4; //Изменить на свои пины реле byte Relay2Pin = 5; byte but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) byte but2Pin = 2; int pause = 1000; // Изменить на время задержки в мс void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. dimkaservo.attach(7); // servo подключён к 7 Pin. dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){Serial.println("........forward pressing button 1");} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){Serial.println("........forward pressing button 2");} digitalWrite(Relay2Pin,LOW); // поворачиваем servo на 170 градусов. dimkaservo.write(170); delay(10000); // пауза 10 секунды. dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } }в парке... монитор бликует , ничё не видно , мог и ошибиться :(
ну вот теперь обе релюхи включаются и не выключаються серво молчит кнопки не работают:(((
#include <Servo.h> Servo dimkaservo; #include <SPI.h> #include <MFRC522.h> // это скачанная библиотека "RFID". /* подключение для Arduino Uno и Mega, производится к разным Pin! ----------------------------------------------------- Nicola Coppola * Pin layout should be as follows: * Signal Pin Pin Pin * Arduino Uno Arduino Mega MFRC522 board * ------------------------------------------------------------ * Reset 9 5 RST * SPI SS 10 53 SDA * SPI MOSI 11 51 MOSI * SPI MISO 12 50 MISO * SPI SCK 13 52 SCK */ // два Pin (SS и RST) допускают произвольное подключение и конфигурируются в коде. // !(SS - он же - SDA). #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // объект MFRC522C / reate MFRC522 instance. unsigned long uidDec, uidDecTemp; // для отображения номера карточки в десятичном формате //************************************************************* // Массив 4 Светодиодов, для визуального контроля. //************************************************************* byte ledPins[] = {6,8,}; byte LedPinSindex; // индекс, для массива Светодиодов. byte Relay1Pin = 4; //Изменить на свои пины реле byte Relay2Pin = 5; byte but1Pin = 3; // Изменить на свои пины кнопок(подключить между пином и GND) byte but2Pin = 2; int pause = 1000; // Изменить на время задержки в мс void setup() { Serial.begin(9600); // Initialize serial communications with the PC. Serial.println("Prilozhite kartu / Waiting for card..."); pinMode(Relay1Pin,OUTPUT); pinMode(Relay2Pin,OUTPUT); pinMode(but1Pin,INPUT_PULLUP); pinMode(but2Pin,INPUT_PULLUP); SPI.begin(); // инициализация SPI / Init SPI bus. mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card. dimkaservo.attach(7); // servo подключён к 7 Pin. dimkaservo.write(10); // устанавливаем положение servo, в момент подачи питания. // весь массив светодиодов делаем OUTPUT. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void loop() { // Поиск новой карточки / Look for new cards. if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Выбор карточки / Select one of the cards. if ( ! mfrc522.PICC_ReadCardSerial()) { return; } uidDec = 0; // Выдача серийного номера карточки "UID". for (byte i = 0; i < mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec*256+uidDecTemp; } Serial.println("Serijnyj nomer karty / Card UID: "); Serial.println(uidDec); // ------------------------ // начинаем сравнивать номер "UID", поднесённой к ридеру карты, // с записанным номером "UID" карты в sketch. // замените!!! "UID" № "422455350", на номер "UID" № вашей карты. if (uidDec == 422455350) // если "UID" номер совпал. { // включим светодиод. digitalWrite(ledPins[0], HIGH); // Печатаем в Serial монитор . Serial.println("Hi Dmitry"); digitalWrite(Relay1Pin,HIGH); while(digitalRead(but1Pin)){Serial.println("........forward pressing button 1");} delay(pause); digitalWrite(Relay1Pin,LOW); digitalWrite(Relay2Pin,HIGH); while(digitalRead(but2Pin)){Serial.println("........forward pressing button 2");} digitalWrite(Relay2Pin,LOW); // поворачиваем servo на 170 градусов. dimkaservo.write(170); delay(10000); // пауза 10 секунды. dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],LOW); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++)digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } }а в Сериале что ?
а в Сериале что ?
нуливая реакция. нечегошеньки.
ну! и! он его не написал!!)))
ну! и! он его не написал!!)))
Он его написал! Ровно что спросили, ровно то и написал! А что, куда и как вы там подключаете это даже в хрустальном шаре не видно.
Реле от старого холодильнике? Провода 25 метров ?
Пуско-наладочные работы от 500 баксов. Оплачивайте в кассу и будет смотреть.
Привет всем. вернулся. какие проблемы с кодом?
Привет всем. вернулся. какие проблемы с кодом?
С кодом никаких, все согласно тз.
Ждемс когда будет оплата за пуско-наладочные работы. :)
Привет всем. вернулся. какие проблемы с кодом?
да нефига не работает!
ну! и! он его не написал!!)))
бог подаст!
Ну тогда молитесь что бы заработало. :)
С кодом все нормально, согласно тз все работает.