Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Czasami jedna lub dwie sekundy mogą uratować życie człowieka. Każdego dnia zdarzają się wypadki, a Me_Time ma na celu optymalizację interwencji medycznej.
Me_Time to system, który natychmiast udostępnia osobiste dane medyczne personelowi szpitala w celu obsługi pacjenta podczas wypadku lub nagłego wypadku.
Składa się z dwóch urządzeń, które wchodzą w interakcję, gdy są w pobliżu: Ja i Czas.
Ja jest chipem pamięci zainstalowanym u obywateli na szyi i zawiera skodyfikowane osobiste informacje medyczne.
Czas to urządzenie lektorskie umieszczone w ramieniu lekarza, pomocniczego lub pielęgniarki. Pozwala im na odczytanie informacji o Mnie i pokazanie ich przez ekran w skórze.
Dlatego system ten może pomóc pacjentom w każdej sytuacji, zwłaszcza jeśli ucierpieli w wypadku i nie mogą się wypowiedzieć.
Bo liczą się sekundy. Bo liczą się życia. Bo to Ja czas. Jedna sekunda, jedno życie.
Krok 1: KOMPONENTY
MATERIAŁ
- Arduino 1
- Deska do krojenia chleba
- Przewody
- Potencjometr
- Wyświetlacz LCD 16x2
- Odporność 220
- ZESTAW RFID RC522 (lekk + karta + pojemnik na klucze)
- Źródło elektryczne (3,3V i 5V)
- Linia bazowa
- Bandaż gipsowy
- Woda
- Biała szpachlówka w proszku
- miska
- Drewniany pasek lub łyżka
- Papier ścierny
- Czarny spray
PROGRAMY
IDE Arduino
Krok 2: OBWÓD
W tej części przedstawiono układ, który należy podłączyć tak, jak pokazano na obrazku.
Kluczowe punkty:
Lektor zestawu RFID RC522 należy połączyć z pinami GND, 3, 3 V oraz cyfrowymi.
Wyświetlacz LCD 16x2 należy połączyć z GND, 5 V, pinami cyfrowymi i potencjometrem.
Potencjometr należy połączyć z GND, 5V i wyświetlaczem LCD 16x2.
Krok 3: KOD
W tym kroku jest przedstawiony i wyjaśniony kod ME_TIME. Kod pomaga zarejestrować karty lub breloczki, skonfigurować ekran i zapisać informacje medyczne. Wykonany jest za pomocą oprogramowania Arduino IDE.
#include // włączenie biblioteki#include
#włączać
#define RST_PIN 9 // definicja położenia pinu, w którym się znajduje
#zdefiniuj SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN); // utwórz instancję MFRC522
LCD LiquidCrystal (7, 6, 5, 4, 3, 2); // utwórz instancję LiquidCrystal // definicja położenia pinu, w którym się znajduje
bajt LecturaUID[4] = {0x00, 0x00, 0x00, 0x00}; // przechowujemy odczytaną wartość UIDbyte Usuario1 [4] = {0xEB, 0x77, 0xB5, 0x1C}; // identyfikator karty // 0x na początku, aby wskazać, że liczba jest bajtem szesnastkowym Usuario2 [4] = {0xBA, 0xFB, 0x88, 0x15};
pusta konfiguracja () {
Serial.początek(9600); // zainicjuj komunikację szeregową z komputerem PC SPI.begin(); mfrc522. PCD_Init(); // inicjalizacja modułu czytnika // PCD: Proximity Coupling Device (moduł czytnika) Serial.println("BIENVENIDO AL SISTEMA"); // uruchamianie bez ekranu puste lcd.begin(16, 2); // inicjalizacja. Indica el tamaño del lcd de 16columnas y 2filas }
pusta pętla () {
if (! mfrc522. PICC_IsNewCardPresent()) // PICC: Zbliżeniowy układ scalony (karta lub brelok) // sprawdź, czy NIE ma żadnej karty return; // wykonaj powrót, wróć do poprzedniej funkcji // tak, dopóki nie wykryje karty lub pęku kluczy
if (! mfrc522. PICC_ReadCardSerial()) // jeśli wykryjesz kartę, zapytaj, czy możesz uzyskać z niej informacje
powrót; // jeśli nie możesz uzyskać informacji, zwróć
Serial.print("UID:"); // aby uzyskać tylko identyfikator karty lub pęk kluczy
for (byte i = 0; i < mfrc522.uid.size; i++) { // zmienna iteracyjna typu byte Loop będzie odczytywać po jednym bajcie if (mfrc522.uid.uidByte < 0x10) { / / sformatuj tekst, który ma być wyświetlany przez monitor Serial.print("0"); } else { Serial.print(" "); } Serial.print(mfrc522.uid.uidByte, HEX); // pokazuje odczyt pętli na monitorze, Hex wskazuje, że wyświetlany jest tekst w formacie szesnastkowym LecturaUID = mfrc522.uid.uidByte; // przejdź do wyświetlania bajtu na raz i jednocześnie go przechowuj }
Serial.print("\t"); // aby zostawić spację między identyfikatorem użytkownika a następującą liczbą
if (comparaUID(LecturaUID, Usuario1)) { // dokonuje porównania uid karty / pęku kluczy do którego podchodzimy do czytnika z uid użytkownika 1
Serial.println("n°1002 061055881 01 08 1 || penicylina, naproxeno sódico"); // jeśli to porównanie się powiedzie, prawdziwa wartość, wypisz tekst na ekranie
lcd.setCursor(3, 0); // miejsce, w którym zaczynamy pisać kolumnę i wiersz
lcd.print("Mariana Benitez"); // tekst wyświetlany na ekranie lcd.setCursor(3, 1); lcd.print("penicylina, naproxeno sodico");
for (byte j = 1; j < 20; j++) { // ogranicza funkcję przesunięcia tylko do 20 ruchów lcd.scrollDisplayLeft(); // opóźnienie funkcji przewijania w lewo(500); //czas } opóźnienie(1000); bajt LecturaUID[4] = {0x00, 0x00, 0x00, 0x00}; // ponownie wykonaj LecturaUID lcd.begin(16, 2); // ekran bez tekstu
}
else if (comparaUID(LecturaUID, Usuario2)) { // dokonuje porównania identyfikatora karty / pęku kluczy, że zbliżamy się do czytnika z identyfikatorem użytkownika 2 Serial.println("n°1007 041089231 03 06 1 | | sin alergias conocidas"); // ponownie, jeśli zwróci true, wypisuje tekst na ekranie lcd.setCursor(2, 0); lcd.print("Laura Escofet"); lcd.setCursor(2, 1); lcd.print("sin alergias conocidas");
for (bajt j = 1; j < 15; j++) { lcd.scrollDisplayLeft(); opóźnienie (500); } opóźnienie(1000); bajt LecturaUID[4] = {0x00, 0x00, 0x00, 0x00}; lcd.początek(16, 2); } else{ Serial.println("bez rejestracji"); // jeśli porównania nie powiodły się, wyświetlany jest tekst lcd.setCursor(0, 0); lcd.print("brak rejestracji"); opóźnienie (2000); bajt LecturaUID[4] = {0x00, 0x00, 0x00, 0x00}; lcd.początek(16, 2); }
mfrc522. PICC_HaltA(); // zakończenie komunikacji z kartą
}
wartość logiczna comparaUID (byte lectura, byte usuario){ // ta funkcja porównuje i zwraca fałszywą wartość, jeśli odczytany identyfikator jest inny niż użytkownika i true, jeśli oba są równe
for (byte i = 0; i < mfrc522.uid.size; i++) { if (lectura != usuario) // jeśli którakolwiek z wartości nie jest równa return (false); // opuszczamy funkcję zwracającą fałszywą wartość } return (true); // jeśli wszystko pasuje }
Krok 4: Makieta
W tym kroku wyjaśniono, w jaki sposób stworzyliśmy makietę, aby zasymulować, gdzie zostaną wszczepione różne urządzenia w ludzkim ciele.
Makieta jest wykonywana zgodnie z 3 procesami. Muszą odpoczywać za każdym razem, gdy kończy się jeden proces, i postępować zgodnie z rozkazem.
Pierwszy proces polega na wykonaniu wewnętrznej struktury ręki i głowy. Cel ten można osiągnąć postępując zgodnie z instrukcjami:
- Wybierz modelkę i umieść linię bazową w części ciała, która ma być replikowana.
- Pokrój taśmę gipsową na kawałki, wymieszaj ją z wodą w misce i zakryj dłoń oraz głowę modelki. Nie zakrywaj nosa, ust i oczu.
- Pozwól konstrukcji odpocząć 15 minut i wycofaj ją z ciała modelki, gdy nie jest całkowicie sucha.
- Użyj mokrych taśm gipsowych, aby zakryć ostatnie dziury
- Pozostaw do wyschnięcia na 20 minut.
Drugi proces ma na celu zwiększenie odporności struktury wewnętrznej. Kolejne kroki wyjaśniają, jak to zrobić:
1. Wymieszaj białą szpachlę w proszku z wodą w misce.
2. Pokryj wewnętrzną strukturę mieszanką.
3. Pozwól mu odpocząć przez jeden dzień.
4. Wypoleruj powierzchnię papierem ściernym.
Trzeci proces polega na pomalowaniu makiet czarnym sprayem i pozostawieniu do wyschnięcia.