Официальный сайт компании Arduino по адресу arduino.cc
Блок-схема скетча
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 21/03/2020 - 00:27
Здравствуйте! Нужна помощь! Нужна блок-схема алгоритма работы вот этого скетча, нарисованная в Visio.
#include <Adafruit_Fingerprint.h>
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial);
int id = 0;
#define POWER 5
#define BTN_1 2
#define BTN_2 3
#define LED_1 7
//#define LED_2 8
#define LED_3 13
#define REL_1 10
#define REL_2 11
#define REL_3 12
bool flagBtn1 = false, flagBtn2 = false;
int user_auth = 0;
int getFingerprintID()
{
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
finger.confidence;
return finger.fingerID;
}
void setup()
{
pinMode(POWER, INPUT); digitalWrite(POWER, LOW);
pinMode(BTN_1, INPUT); digitalWrite(BTN_1, HIGH);
pinMode(BTN_2, INPUT); digitalWrite(BTN_2, HIGH);
pinMode(LED_1, OUTPUT); digitalWrite(LED_1, LOW);
// pinMode(LED_2, OUTPUT); digitalWrite(LED_2, LOW);
pinMode(LED_3, OUTPUT); digitalWrite(LED_3, LOW);
pinMode(REL_1, OUTPUT); digitalWrite(REL_1, HIGH);
pinMode(REL_2, OUTPUT); digitalWrite(REL_2, HIGH);
pinMode(REL_3, OUTPUT); digitalWrite(REL_3, HIGH);
delay(1000);
//Serial.begin(57600);
finger.begin(57600);
finger.verifyPassword();
finger.getTemplateCount();
Serial.print("Sensor contains ");
Serial.print(finger.templateCount);
Serial.println(" templates");
Serial.println("Waiting for valid finger...");
//for(int i = 0; i < 180; i++) deleteFingerprint(i);
}
void loop()
{
// Если нет питания (тоесть ПК выключен)
if(digitalRead(POWER) == LOW)
{
int u = getFingerprintIDez();
if(u == 11)
{
user_auth = u;
digitalWrite(REL_1, LOW);
digitalWrite(REL_2, LOW);
delay(1000);
digitalWrite(REL_3, LOW);
delay(4000);
digitalWrite(REL_3, HIGH);
delay(5000);
}
if(u == 22)
{
user_auth = u;
digitalWrite(REL_1, HIGH);
digitalWrite(REL_2, HIGH);
delay(1000);
digitalWrite(REL_3, LOW);
delay(4000);
digitalWrite(REL_3, HIGH);
delay(5000);
}
if(digitalRead(BTN_1) == LOW && flagBtn1 == false)
{
flagBtn1 = true;
delay(100);
}
if(digitalRead(BTN_1) == HIGH && flagBtn1 == true)
{
flagBtn1 = false;
deleteFingerprint(11);
delay(100);
while (! getFingerprintEnroll(11) );
delay(5000);
}
if(digitalRead(BTN_2) == LOW && flagBtn2 == false)
{
flagBtn2 = true;
delay(100);
}
if(digitalRead(BTN_2) == HIGH && flagBtn2 == true)
{
flagBtn2 = false;
deleteFingerprint(22);
delay(100);
while (! getFingerprintEnroll(22) );
delay(5000);
}
}
else
{
int u = getFingerprintIDez();
if(u == 11 && user_auth == 11)
{
user_auth = 0;
digitalWrite(REL_3, LOW);
delay(4000);
digitalWrite(REL_3, HIGH);
delay(5000);
}
if(u == 22 && user_auth == 22)
{
user_auth = 0;
digitalWrite(REL_3, LOW);
delay(4000);
digitalWrite(REL_3, HIGH);
delay(5000);
}
}
}
uint8_t getFingerprintID2()
{
uint8_t p = finger.getImage();
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_NOFINGER:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
return p;
case FINGERPRINT_IMAGEFAIL:
return p;
default:
return p;
}
p = finger.image2Tz();
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_IMAGEMESS:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
case FINGERPRINT_INVALIDIMAGE:
return p;
default:
return p;
}
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK)
{
}
else if (p == FINGERPRINT_PACKETRECIEVEERR)
{
return p;
}
else if (p == FINGERPRINT_NOTFOUND)
{
return p;
}
else
{
return p;
}
finger.fingerID;
finger.confidence;
return finger.fingerID;
}
int getFingerprintIDez()
{
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
finger.fingerID;
finger.confidence;
return finger.fingerID;
}
uint8_t getFingerprintEnroll(int item)
{
int p = -1;
digitalWrite(LED_3, HIGH);
while (p != FINGERPRINT_OK)
{
p = finger.getImage();
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_NOFINGER:
break;
case FINGERPRINT_PACKETRECIEVEERR:
break;
case FINGERPRINT_IMAGEFAIL:
break;
default:
break;
}
}
p = finger.image2Tz(1);
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_IMAGEMESS:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
case FINGERPRINT_INVALIDIMAGE:
return p;
default:
return p;
}
delay(2000);
digitalWrite(LED_3, LOW);
p = 0;
while (p != FINGERPRINT_NOFINGER)
{
p = finger.getImage();
}
p = -1;
digitalWrite(LED_3, HIGH);
while (p != FINGERPRINT_OK)
{
p = finger.getImage();
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_NOFINGER:
break;
case FINGERPRINT_PACKETRECIEVEERR:
break;
case FINGERPRINT_IMAGEFAIL:
break;
default:
break;
}
}
p = finger.image2Tz(2);
switch (p)
{
case FINGERPRINT_OK:
break;
case FINGERPRINT_IMAGEMESS:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
case FINGERPRINT_INVALIDIMAGE:
return p;
default:
return p;
}
p = finger.createModel();
if (p == FINGERPRINT_OK)
{
}
else if (p == FINGERPRINT_PACKETRECIEVEERR)
{
return p;
}
else if (p == FINGERPRINT_ENROLLMISMATCH)
{
return p;
}
else
{
return p;
}
digitalWrite(LED_3, LOW);
p = finger.storeModel(item);
if (p == FINGERPRINT_OK)
{
digitalWrite(LED_1, HIGH);
//if(item == 11) digitalWrite(LED_1, HIGH);
//if(item == 22) digitalWrite(LED_2, HIGH);
}
else if (p == FINGERPRINT_PACKETRECIEVEERR)
{
return p;
}
else if (p == FINGERPRINT_BADLOCATION)
{
return p;
}
else if (p == FINGERPRINT_FLASHERR)
{
return p;
}
else
{
return p;
}
}
uint8_t deleteFingerprint(uint8_t id)
{
uint8_t p = -1;
p = finger.deleteModel(id);
if (p == FINGERPRINT_OK)
{digitalWrite(LED_1, LOW);
//if(id == 11) digitalWrite(LED_1, LOW);
//if(id == 22) digitalWrite(LED_2, LOW);
}
else if (p == FINGERPRINT_PACKETRECIEVEERR)
{
return p;
}
else if (p == FINGERPRINT_BADLOCATION)
{
return p;
}
else if (p == FINGERPRINT_FLASHERR)
{
return p;
}
else
{
return p;
}
}
500 р
maslachenko767@mail.ru пиши обсудим
Как скоро справитесь?
Как скоро справитесь?
вчера
кстати в скетче две ошибки
Отлично! Меня это устраивает. На ошибки не обращайте внимание
Хорошо. Сделаю схему с ошибками
Что по оплате?
500 ?
Ок. Карта, номер?
после работы
мой ящик perun-32@yandex.ru
Как закончите, сообщите, часть алгоритма сбросите, я посмотрю
весь сброшу
Хорошо
Здравствуйте! Что там по алгоритму?
Здравствуйте! Что там по алгоритму?
От скифобармалея обещанного три года ждут, как известно. А если серьёзно - то это один из двух местных кидал. Второй - сирожа звягинцев, который карамзин.
Я назначил срок? Я взял предоплату за работу? Я дал свою почту заказчику? Я его кинул? Я его даже не поднимал. Пусть учится сам.
Ты же сам видишь, что там галиматья очередного студента. Содранная где то. Он даже не понимает, о чём там программа. К тому же с ошибками. Или не видишь... Ты же сюда только пофлудить заходишь.
Я назначил срок?
Назначил.
http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524764
и схему наобещал
http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524768
а теперь "пусть сам учится". Молодец.
Если и не собирался исполнять, нахрена тогда вылез со своим предложением, причом, самым первым?
http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524756
Я назначил срок? Я взял предоплату за работу? Я дал свою почту заказчику? Я его кинул? Я его даже не поднимал. Пусть учится сам.
Ты же сам видишь, что там галиматья очередного студента. Содранная где то. Он даже не понимает, о чём там программа. К тому же с ошибками. Или не видишь... Ты же сюда только пофлудить заходишь.
Как быстро ты в воздухе переобуваешься, скиф - прям как в истории с Чечако. Дет выше ответил, склеротичный ты наш.
Я не очень понимаю почему админы к этому СкифоБармалею так лояльно относятся ? Он просто извращает раздел "Ищу исполнителя". Объявляет не вменяемые цены, за которые ничего не делает. Что сделает заказчик пересекшийся с ним, он просто больше не привет сюда. Да может быть он не потеряет денег, но он потеряет время, потеряет желание. Этот деятель ни чем не лучше Алегира. Админы, вы реально этого не понимаете !?
За всё что брался, я сделал. По невменяемым для вас ценам. Я не в москве живу. Для меня цены вполне вменяемые.
Хоть в одной теме есть жалобы на меня?
А траглодита, скифа, питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали? Но то их проблемы.
А этому заказчику я написал сразу, что у него программа с ошибками. Он ответил - ну и пусть. Делать блок-схему тоже с ошибками я не умею. Не сходится она. А исправлять чужие ошибки он не заказывал. Работать даром я тоже не хочу.
А траглодита, скифа, питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали?
ты без вранья ни одного поста написать не можешь? скиф и бармалей - один персонаж.
За всё что брался, я сделал. По невменяемым для вас ценам. Я не в москве живу. Для меня цены вполне вменяемые.
Хоть в одной теме есть жалобы на меня?
А траглодита, скифа, питекантропа, чичаку мне не приплетайте. Я так понимаю, они тоже цены не накручивали? Но то их проблемы.
А этому заказчику я написал сразу, что у него программа с ошибками. Он ответил - ну и пусть. Делать блок-схему тоже с ошибками я не умею. Не сходится она. А исправлять чужие ошибки он не заказывал. Работать даром я тоже не хочу.
Ну а почему это не озвучил ? То что с ошибками - делать не умеешь ? Действия то провакационные. Из твоего поведения у всех сложилось впечатление, что ты взял заказ, взял - значит делай. Я же говорю именно про атмосферу которую ты создаешь в этом разделе. Сделал ты или нет - вопрос второй. Алегир тоже никого не кидал. Просто мозг выносил. И где он теперь ?
Почитай выше. Я заказчику озвучил что с ошибками. Теми, что уже в глаза бросились. Дальше проверять не стал. Потом почитай его ответ. Он не просил ошибки исправить. Там уже другая цена.
А делал ему не я. Он где то содрал халявную программу.
А атмосфера - если программа типа блинка, а за неё просят несколько штук - наверное, я порчу атмосферу, предлагая сделать за пиво. Виноват. Прости засранца.
А алигеров тут много. Не заметил разве, они не интересуются ТЗ, просят сначала озвучить бюджет. Но даже если заказчик и озвучивает, не берутся же писать. Пришли просто пофлудить. Меня они тоже бесят.
Почитай выше. Я заказчику озвучил что с ошибками. Теми, что уже в глаза бросились. Дальше проверять не стал. Потом почитай его ответ. Он не просил ошибки исправить. Там уже другая цена.
А делал ему не я. Он где то содрал халявную программу.
А атмосфера - если программа типа блинка, а за неё просят несколько штук - наверное, я порчу атмосферу, предлагая сделать за пиво. Виноват. Прости засранца.
Да делай хоть со своей доплатой. НО ДЕЛАЙ, а не балаболь.... Причем делай как нужно, а не на от...сь. Пока все твои дела именно так выглядят. Не серьезный подход, не гарантированный результат, негативная реакция сообщества. Можешь спорить сколько угодно, действительность под тебя не прогнется.
Всё за что брался - сделал. С гарантией. Если не могу - не берусь. И потом контачу постоянно с заказчиками.
Можешь у них сам спросить.
Все проще, прежде чем обещать и выкладывать цену, подумайте, не можете, не стоит даже писать в этом разделе.
Всё за что брался - сделал. С гарантией. Если не могу - не берусь. И потом контачу постоянно с заказчиками.
Хорошо. Сделаю схему с ошибками
Тогда я повторю свой вопрос:
Если и не собирался исполнять, нахрена тогда вылез со своим предложением, причом, самым первым?
http://arduino.ru/forum/ishchu-ispolnitelya/blok-skhema-sketcha#comment-524756
Дет, прасти засрантса. Сразу не заметил, что с ашипками там невазможно сделать блок схему. Не состыковываитса.
Я не очень понимаю почему админы к этому СкифоБармалею так лояльно относятся ? Он просто извращает раздел "Ищу исполнителя". Объявляет не вменяемые цены, за которые ничего не делает. Что сделает заказчик пересекшийся с ним, он просто больше не привет сюда. Да может быть он не потеряет денег, но он потеряет время, потеряет желание. Этот деятель ни чем не лучше Алегира. Админы, вы реально этого не понимаете !?
Вопрос спорный. И, по сути, упирается в другой - а зачем вообще нужен форум вообще и данный раздел в частности?
По мне, так единственная польза от этого раздела в том, чтобы посылать сюда (а не в какое другое место) любителей халявы.
Если же всерьез рассматривать коммерческую составляющую, то возникает другой вопрос, а что с этого имеет форум как посредник? Интересно, исполнители делятся каким-либо процентом от своих заказов с владельцем ресурса? В зависимости от ответа на этот вопрос и следует политика администрирования данного раздела форума.
Вопрос спорный. И, по сути, упирается в другой - а зачем вообще нужен форум вообще и данный раздел в частности?
По мне, так единственная польза от этого раздела в том, чтобы посылать сюда (а не в какое другое место) любителей халявы.
Если же всерьез рассматривать коммерческую составляющую, то возникает другой вопрос, а что с этого имеет форум как посредник? Интересно, исполнители делятся каким-либо процентом от своих заказов с владельцем ресурса? В зависимости от ответа на этот вопрос и следует политика администрирования данного раздела форума.
Ну давайте тогда тут гадить ? Или считаешь , что тут можно реально заработать ? Суть вопроса в том что два персонажа, Алегир и этот. Одного гасят, другого нет. Причина не понятна. Что же касается "отстегнуть владельцам ресурса", то эти владельцы тогда должны не только получать прибыль, но и минимизировать риски. Так что коммерческие рассуждения тут не усместны. Вообще это похоже на какой то подлиз :) Интересно, зачтется ? :)
Гадить пожалуйста в "Отвлеченные темы".