Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Биометрический датчик в Motorcycle Hornet

Компоненты и расходные материалы

Arduino Mini 05
× 1
Реле (универсальное)
× 1
Биометрический датчик - Модель:FPM10A
× 1
Модуль регулятора напряжения Digilent
× 1

Необходимые инструменты и машины

Паяльник (общий)
Проволока для припоя, без свинца
Лента, электрика
Плоскогубцы, длинный нос

Приложения и онлайн-сервисы

Веб-редактор Arduino

Об этом проекте

Перед лицом такого большого количества краж мотоциклов мы использовали Arduino Pro Mini для разработки противоугонной системы, которая подключает велосипед через цифровую регистрацию пользователя.

Канал Сандро Мескита Роботикаменте

Код

  • Код системы безопасности мотоцикла
Код системы безопасности мотоцикла Arduino
 / ********************************************* ***** Это пример эскиза нашего оптического датчика отпечатков пальцев, разработанного специально для работы с Adafruit BMP085 Breakout ----> http://www.adafruit.com/products/751 Эти дисплеи используют последовательный порт TTL для связи, Для интерфейса требуется 2 контакта. Adafruit вкладывает время и ресурсы в предоставление этого открытого исходного кода, пожалуйста, поддержите Adafruit и оборудование с открытым исходным кодом, покупая продукты у Adafruit! Автор Лимор Фрид / Ладада для Adafruit Industries. Лицензия BSD, весь текст выше должен быть включен в любое повторное распространение. ************************************* ************** / int chave =0; int verde =5; int azul =4; int vermelho =6; int release =7; #include  // Вкл. Леонардо / Микро или другие с аппаратным серийным номером, используйте их! # 0 - зеленый провод, # 1 - белый // раскомментируйте эту строку:// #define mySerial Serial1 // Для UNO и других устройств без аппаратного последовательного порта мы должны использовать программный последовательный порт ... // контакт # 2 находится в состоянии IN от датчика ( ЗЕЛЕНЫЙ провод) // контакт №3 ВЫХОДИТ от arduino (БЕЛЫЙ провод) // прокомментируйте эти две строки при использовании оборудования serialSoftwareSerial mySerial (2, 3); Adafruit_Fingerprint finger =Adafruit_Fingerprint (&mySerial); void setup () {pinMode (4, ВЫВОД); pinMode (5, ВЫХОД); pinMode (6, ВЫХОД); pinMode (7, ВЫХОД); digitalWrite (релиз, 1); //Serial.begin(9600); // while (! Serial); // Для Юн / Лео / Микро / Ноль / ... delay (100); //Serial.println("\n\nAdafruit finger detect test "); digitalWrite (азул, 1); // устанавливаем скорость передачи данных для последовательного порта датчика finger.begin (57600); / * if (finger.verifyPassword ()) {Serial.println ("Обнаружен датчик отпечатков пальцев!"); } else {Serial.println ("Не удалось найти датчик отпечатков пальцев :("); while (1) {delay (1);}} * / //finger.getTemplateCount (); //Serial.print("Sensor contains " ); Serial.print (finger.templateCount); Serial.println ("шаблоны"); //Serial.println( "Ожидание действительного пальца ..."); digitalWrite (azul, 0); digitalWrite (vermelho, 1); digitalWrite (verde, 0);} void loop () // запускаем снова и снова {if (getFingerprintIDez () ==1) {chave =! chave; delay (500);} digitalWrite (release,! chave); digitalWrite (verde, chave); digitalWrite (vermelho, digitalRead (release)); delay (50); // не нужно запускать это на полной скорости.} uint8_t getFingerprintID () {uint8_t p =finger.getImage (); switch (p) {case FINGERPRINT_OK://Serial.println(" Изображение снято "); break; case FINGERPRINT_NOFINGER://Serial.println("Нет отпечатков пальцев"); return p; case FINGERPRINT_PACKETRECIEVEERR://Serial.println ( «Ошибка связи»); return p; case FINGERPRINT_IMAGEFAIL://Serial.println("Imaging error "); return p; default://Serial.println("Unknown error"); return p; } // ОК, успех! p =finger.image2Tz (); switch (p) {case FINGERPRINT_OK://Serial.println(" Изображение преобразовано "); ломать; case FINGERPRINT_IMAGEMESS://Serial.println( "Изображение слишком грязное"); return p; case FINGERPRINT_PACKETRECIEVEERR://Serial.println(" Ошибка связи "); return p; case FINGERPRINT_FEATUREFAIL://Serial.println( "Не удалось найти функции отпечатка пальца"); return p; case FINGERPRINT_INVALIDIMAGE://Serial.println( "Не удалось найти функции отпечатка пальца"); return p; по умолчанию://Serial.println(" Неизвестная ошибка "); return p; } // ОК преобразовано! p =finger.fingerFastSearch (); if (p ==FINGERPRINT_OK) {//Serial.println("Найдено соответствие печати! "); } else if (p ==FINGERPRINT_PACKETRECIEVEERR) {//Serial.println(" Ошибка связи "); return p; } else if (p ==FINGERPRINT_NOTFOUND) {//Serial.println("Не удалось найти совпадение "); return p; } else {//Serial.println(" Неизвестная ошибка "); return p; } // найдено совпадение! //Serial.print("Found ID # "); Серийный отпечаток (finger.fingerID); //Serial.print ("с уверенностью"); Serial.println (finger.confidence); return finger.fingerID;} // возвращает -1 в случае неудачи, в противном случае возвращает ID #int getFingerprintIDez () {uint8_t p =finger.getImage (); если (p! =FINGERPRINT_OK) вернуть -1; p =finger.image2Tz (); если (p! =FINGERPRINT_OK) вернуть -1; p =finger.fingerFastSearch (); если (p! =FINGERPRINT_OK) вернуть -1; // найдено совпадение! //Serial.print("Found ID # "); Серийный отпечаток (finger.fingerID); //Serial.print ("с уверенностью"); Serial.println (finger.confidence); вернуть finger.fingerID; } 

Схема


Производственный процесс

  1. Детектор языка TinyML на основе Edge Impulse и Arduino
  2. Цифровые игральные кости Arduino
  3. Многотемпературный датчик
  4. Рулетка DIY 37 LED
  5. MyRiver
  6. Мини-аркада ATtiny85:Змейка
  7. Переносимый детектор дальности
  8. Гальваника медью
  9. NeoMatrix Arduino Pong
  10. Местная метеостанция