проект рфид считыватель на дверь . Помогите
- Войдите на сайт для отправки комментариев
Втр, 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 сек тогда серво поворачиваем обратно.ПОМОГИТЕ ДОПИСАТЬ СКЕЙЧ Я ВАМ БУДУ ОЧЕНЬ БЛОГОДАРЕН.
/* //#1 светодиод -> 8 (Led_pin) 0 горит/ 1 нет GND -> GND серва -> 5 (servo_pin) геркон -> A3 (gercon_pin) 0 дверь закрыта / 1 нет //#2 кнопка1 -> A1 (btm1_pin) 0 нажата/ 1 нет GND -> GND кнопка2 -> A2 (btm2_pin) 0 нажата/ 1 нет GND -> GND //#3 Arduino Uno RFID_RC522 RST -> 9 (RST_pin) SDA(SS)-> 10 (SDA_pin) MOSI -> 11 (MOSI_pin) MISO -> 12 (MISO_pin) SCK -> 13 (SCK_pin) 3,3В -> 3,3В GND -> GND Card UID: E6 38 FE 13 брелок Card UID: 5A 5D 39 D5 пластик */ //#1 const int Led_pin = 8 ; // нога светодиода uint8_t Led ; const int interval = 2000 ; // интервал после нажатия клавиши 2 сек #include <Servo.h> Servo myservo; const int servo_pin = 5 ; // нога серво const int servo_OFF = 0; // серва закрыта const int servo_ON = 90; // серва открыта const int gercon_pin = A3 ; // нога геркона uint8_t gercon ; //#2 const int btm1_pin = A1 ; // нога кнопки const int btm2_pin = A2 ; // нога кнопки //#3 byte uidCard1[4] = {0xE6, 0x38, 0xFE, 0x13}; byte uidCard2[4] = {0x5A, 0x5D, 0x39, 0xD5}; #include <SPI.h> #include <MFRC522.h> const int SDA_pin = 10; const int RST_pin = 9; MFRC522 rfid(SDA_pin, RST_pin); // Instance of the class void setup() { //#1 pinMode(Led_pin, OUTPUT); digitalWrite(Led_pin, Led = 0); myservo.attach(servo_pin); pinMode(gercon_pin, INPUT_PULLUP); //#2 pinMode(btm1_pin, INPUT_PULLUP); pinMode(btm2_pin, INPUT_PULLUP); //#3 SPI.begin(); // Init SPI bus rfid.PCD_Init(); // Init MFRC522 } void loop() { static uint32_t MILLIS ; MILLIS = millis() ; //#1 static uint32_t future1 = 0 ; gercon = digitalRead(gercon_pin); // опрос состояния двери if (!gercon && !Led && (MILLIS >= future1)) { // убеждаемся что дверь закрыта и подошло время закрывать на замок digitalWrite(Led_pin, Led = 1); myservo.write(servo_OFF); // закрываем } //#2 if (!digitalRead(btm1_pin)) { // первая открывающая кнопка digitalWrite(Led_pin, Led = 0); future1 = millis() + interval; myservo.write(servo_ON); } if (!digitalRead(btm2_pin)) { // вторая открывающая кнопка digitalWrite(Led_pin, Led = 0); future1 = millis() + interval; myservo.write(servo_ON); } //#3 static uint32_t future3 = 0 ; if (MILLIS >= future3) { future3 = MILLIS + 1000 ; if ( rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) { if (rfid.uid.uidByte[0] == uidCard1[0] || rfid.uid.uidByte[1] == uidCard1[1] || rfid.uid.uidByte[2] == uidCard1[2] || rfid.uid.uidByte[3] == uidCard1[3] ) { digitalWrite(Led_pin, Led = 0); future1 = millis() + interval; myservo.write(servo_ON); } if (rfid.uid.uidByte[0] == uidCard2[0] || rfid.uid.uidByte[1] == uidCard2[1] || rfid.uid.uidByte[2] == uidCard2[2] || rfid.uid.uidByte[3] == uidCard2[3] ) { digitalWrite(Led_pin, Led = 0); future1 = millis() + interval; myservo.write(servo_ON); } } } }не подскажите куда id карты писать
Попробовал исправит Ваш код, не проверял потому что не начем. Кнопка на двери, когда дверь открыта замыкает на минус
нашёл вот такой скейч 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 #define knopka 6 bool f_OnOf; unsigned long time1; 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. pinMode(knopka, INPUT_PULLUP); // пин, как вход + подтягивающий резистор 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("====================================="); if(!digitalRead(knopka)) { time1 = millis(); f_OnOf = 1; } if(f_OnOf && digitalRead(knopka)) { if(millis() - time1 >= 3000) // пауза 3 секунды. { dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. f_OnOf = 0; for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { digitalWrite(ledPins[LedPinSindex],LOW); } } } }Спасибо я попробую просто сейчас не дома
сматри проблема такая он все правельный но когда я загружаю в ардуино и прислогняю карту серво поворачивается и все больше чего бы ты не делал размыкал или замыкал контакты
Смысл там должен быть такой:
Поднес карточку - серва сработала, открыли дверь и только после того как закроем дверь серва через 3 секунды вернется назад. Если дверь после сработки не открыть то серва не закроет а будет ждать открытия.
Что в этой гогике не сработало?
а у меня сматри как я подношу карту серво сробатывает кантакты замкнуты кагда размыкаеш серво через 3 сек не сробатывает а стоит в открытом состоянии двери
Поправил, сейчас должна работать следуещим образом:
1)Поднес карточку - серва сработала, открыли дверь и только после того как закроем дверь серва через 3 секунды закроет.
2)Если серва сработала но дверь не открылась - то серва через 3 ск. закроет
нашёл вот такой скейч 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 #define knopka 6 bool f_OnOf; unsigned long time1; 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. pinMode(knopka, INPUT_PULLUP); // пин, как вход + подтягивающий резистор for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { pinMode(ledPins[LedPinSindex],OUTPUT); } } void onOf(){ dimkaservo.write(170); time1 = millis(); f_OnOf = 1; } 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 градусов. onOf(); } // также и с другими номерами карт. else if (uidDec == 959884118) { digitalWrite(ledPins[1], HIGH); Serial.println("Hi Sergey"); onOf(); } else if (uidDec == 695670870) { digitalWrite(ledPins[2], HIGH); Serial.println("Hi Peter"); onOf(); } else if (uidDec == 695670614) { digitalWrite(ledPins[3], HIGH); Serial.println("Hi Vasily"); onOf(); } else // если "UID" номер карты не совпал. { // включим все светодиоды. for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { digitalWrite(ledPins[LedPinSindex],HIGH); Serial.println("Neizvestnaja karta / unknown card"); } } Serial.println("====================================="); if(!digitalRead(knopka)) { time1 = millis(); f_OnOf = 1; } if(f_OnOf && digitalRead(knopka)) { if(millis() - time1 >= 3000) // пауза 3 секунды. { dimkaservo.write(10); // возвращаем servo обратно. // и выключим все светодиоды. f_OnOf = 0; for(LedPinSindex = 0; LedPinSindex <= 3; LedPinSindex++) { digitalWrite(ledPins[LedPinSindex],LOW); } } } }сматори может я кнопку не правельног подключаю . действия такиеже
Ну да кнопка должна быть подключена на вывод и землю без резисторов лишних. А может вы еще умудрились заливать скетч на неподсоединеную ардуину.
Тоесть я кнопку не правельно подключил?
Ну может еще что-то еще НЕ ПРАВЕЛЬНО сделал. Но что бы работало нормально , надо все сделать правильно.
сейчас я все соберу проверю и отпишусь
В #3 посте я же написал "Кнопка на двери, когда дверь открыта замыкает на минус" НЕ ЧИТАЛИ?
все подсаеденил правельно 1000 раз перепроверил и все ровно такаеже хрень
пя вот так подключил кнопку так или нет
Побробуй упрощеный скетч. Там открывается кнопками. Внимание я переподключил пины.
/*millis_lock.ino //#1 светодиод -> 2 (Led_pin) 0 горит/ 1 нет GND -> GND //#2 геркон -> 3 (gercon_pin) 0 дверь закрыта / 1 нет //#3 серва -> 4 (servo_pin) //#4 кнопка1 -> 5 (btm1_pin) 0 нажата/ 1 нет GND -> GND кнопка2 -> 6 (btm2_pin) 0 нажата/ 1 нет GND -> GND */ //#1 светодиод горит=замок открыт const int Led_pin = 2 ; // нога светодиода uint8_t Led ; //#2 геркон на двери const int gercon_pin = 3 ; // нога геркона uint8_t gercon ; //#3 серва #include <Servo.h> Servo servo1; const int servo_pin = 4 ; // нога серво const int servo_OFF = 90; // серва закрыта const int servo_ON = 0; // серва открыта const int Time_OFF = 2000 ; // интервал закрытия замка после нажатия клавиши 2 сек //#4 const int btm1_pin = 5 ; // нога кнопки const int btm2_pin = 6 ; // нога кнопки void setup() { //#1 pinMode(Led_pin, OUTPUT); digitalWrite(Led_pin, Led = 0); // //#2 геркон pinMode(gercon_pin, INPUT_PULLUP); //#3 серва servo1.attach(servo_pin); servo1.write(servo_ON); //#4 pinMode(btm1_pin, INPUT_PULLUP); pinMode(btm2_pin, INPUT_PULLUP); } void loop() { //#1,#2,#3 static uint32_t past_1 = 0 ; gercon = digitalRead(gercon_pin); // опрос состояния двери if (!gercon && !Led && (millis() - past_1 >= Time_OFF)) { // убеждаемся что дверь закрыта и подошло время закрывать на замок digitalWrite(Led_pin, Led = 1); // гасим светодиод servo1.write(servo_OFF); // закрываем замок } //#4 if (!digitalRead(btm1_pin)) { // первая открывающая кнопка digitalWrite(Led_pin, Led = 0); // вкл светодиод past_1 = millis() ; servo1.write(servo_ON); } if (!digitalRead(btm2_pin)) { // вторая открывающая кнопка digitalWrite(Led_pin, Led = 0); // вкл светодиод past_1 = millis() ; servo1.write(servo_ON); } }Убедитесь пожалуста , что работает серва = "закрывает замок", когда вывод геркона на земле "дверь закрыта". Закрывать замок , когда дверь открыта думаю бесмысленно.
здесь также без резисторов все да подсоеденять
ОН НЕ РАБОТАЕТ НИ КАК
Ну да, у меня работает, а у вас нет. А вот сканер для моих rfid карточек
/*rfid_reader.ino RFID_RC522 RST -> 9 (RST_pin) Arduino Uno SDA(SS)-> 10 (SDA_pin) MOSI -> 11 (MOSI_pin) MISO -> 12 (MISO_pin) SCK -> 13 (SCK_pin) 3,3В -> 3,3В GND -> */ #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 // Configurable, see typical pin layout above #define SS_PIN 10 // Configurable, see typical pin layout above MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); // Initialize serial communications with the PC while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 card for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } } void loop() { delay(500); if ( ! mfrc522.PICC_IsNewCardPresent()) return; if ( ! mfrc522.PICC_ReadCardSerial()) return; Serial.print(F("Card UID:")); dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); Serial.println(); } void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } }я все правильно собираю но кнопки и геркон без резистоора да также ?
"я все правильно собираю но кнопки и геркон без резистоора да также ?"
Это настораживает! Я так понял что на дверях у Вас стоит геркон, который Мы в скетче назвали кнопка, или у Вас стоит отдельно геркон и отдельно кнопка?
уйди код куда вставлять
суда
Ну вы же не пазл собираете. Это из кучи бумажек можно сложить картинку. А в электричестве и электронике (позже) плохие контакты валят всю конструкцию. А если раздолбаный бреадбоард то хрень еще та. Я от него давно отказался.
В кнопке или герконе используются нормаль замкнутые кондакты тоесть если не воздействувать на кнопку (геркон) то контакты замкнуты на на минус
уйди код куда вставлять
суда
Если про это#1 то сюда
byte uidCard1[4] = {0xE6, 0x38, 0xFE, 0x13}; // строка 40 byte uidCard2[4] = {0x5A, 0x5D, 0x39, 0xD5};// строка 41ну 3D 78 D3 AE и 0x3D 0x78 0xD3 0xAE различаете? Есть такая вещь, как шестнадцатиричные цифры и правило их записывание.
а как из моего зделать 16 ричный я то ваше не в курсе
не увидел спасибо щя папробую
Я не пойму но у меня он тоже не работает может что у меня с ардуино потомучто все правельно подсоединяю
начните с простых скетчей. Blink, зажигание светодиода по состоянию кнопки, поворот сервы по нажатию кнопки и возврат по отжатию. Просто этот проект немного сложен для Вас.
да все в том то и дело работает пробовал и тот скейч каторый первый я прикреплял а эти фиг
qwone вы тоже делаете проект открывангие двери пластиковыми картами ?
Нет. Это просто отработка технологии и подхода к программированию.Поиск подводных камней.
Совершено верно без этого не начать!!!!!!!!!!