Cuprins:

Salvați și restaurați valorile presetate cu NFC (TfCD): 4 pași
Salvați și restaurați valorile presetate cu NFC (TfCD): 4 pași

Video: Salvați și restaurați valorile presetate cu NFC (TfCD): 4 pași

Video: Salvați și restaurați valorile presetate cu NFC (TfCD): 4 pași
Video: Fiecare vis inseamna ceva; Cum sa le intelegem si ce vor sa ne transmita? Prof. Lavinia Barlogeanu 2024, Noiembrie
Anonim
Image
Image
Colectează material
Colectează material

Vrem să testăm cum funcționează pentru a regla o anumită valoare sau setare și, mai târziu, să reamintim această setare. Pentru acest experiment am folosit o etichetă NFC pentru a citi și apoi pentru a salva valoarea pe ea. Mai târziu, eticheta poate fi scanată din nou și trimite valoarea înapoi pentru a restabili o anumită setare. Pentru a simula interacțiunea, am folosit un controler Arduino Uno și un inel LED RGB ca piesă reglabilă. Cu un potențiometru nuanța RGB poate fi setată. Comunicarea dintre Arduino și eticheta NFC a fost configurată cu un scut NFC.

(Acest proiect a fost un exercițiu pentru TU Delft, Design integrat de produs, curs: TfCD)

Pasul 1: Colectează material

Pentru acest proiect am folosit următorul material:

- Arduino uno- Scut și etichetă NFC (https://www.elecrow.com/wiki/index.php?title=NFC_Shield)- Mokugi t-WS2812B-8LED- Potențiometru (10 3B 42 5V) - Comutator- Rezistor 10K Ohm - (Breadboard)

Pasul 2: utilizați potențiometrul pentru a regla LED-ul RGB

Utilizați potențiometrul pentru a regla LED-ul RGB
Utilizați potențiometrul pentru a regla LED-ul RGB
Utilizați potențiometrul pentru a regla LED-ul RGB
Utilizați potențiometrul pentru a regla LED-ul RGB

Mai întâi asigurați-vă că funcționează LED-ul cu care lucrați, executând un alt cod de test. Apoi puteți conecta potențiometrul pentru a regla RGB-ul LED-ului. Pentru aceasta construiți circuitul așa cum se arată în imagine. Conectați-vă la alimentare (5V) și la masă și conectați potențiometrul la pinul A0.

Dacă doriți să măriți modelul și apoi să salvați mai multe valori diferite, puteți utiliza deja mai multe potențiometre la acest pas.

Codul pentru acest test este, de asemenea, atașat. Pentru ca codul să funcționeze, trebuie să descărcați biblioteca Adafruit_NeoPixel.h.

Amestecăm nuanța LED-ului RGB după cum urmează: Am ales să avem roșu aprins continuu și să-l reglăm spre mov amestecând albastru. Dacă potențiometrul este ridicat, albastrul este complet aprins, când este scăzut, albastrul este oprit. mapăm citirea potmetrului:

void ReadPot () {val = analogRead (Pot); val = hartă (val, 0, 1023, 0, 255);

Pentru a evita derivarea valorii de intrare a potențiometrului, schimbăm noua valoare a LED-ului albastru, când diferența dintre curent și valoarea precedentă a potului este suficient de mare:

int diff = abs (val-oldVal);

if (dif> TOLERANȚĂ) {ChangeLED ();

Pasul 3: Integrarea NFC

Integrează NFC
Integrează NFC
Integrează NFC
Integrează NFC

Următorul pas este integrarea NFC. Mai întâi conectați scutul NFC la Arduino.

Adăugați și comutatorul așa cum se arată în fotografii. Comutatorul este utilizat pentru a comuta între citire și scriere pe eticheta NFC.

Descărcați biblioteca PN532.h pentru scutul NFC. Codul atașat este o adaptare a exemplelor de coduri furnizate în cadrul bibliotecii. Se schimbă în felul în care valoarea RGB a LED-ului este transferată.

De asemenea, puteți testa mai întâi doar citirea sau scrierea cu cele două coduri atașate separat.

Explicație cod final

Mai întâi sunt inițializate toate variabilele utilizate.

Apoi, în setarea nulă, conexiunea nfc este configurată.

Bucla de gol începe cu citirea stării comutatorului.

Cazul 0 este când starea butonului este HIGH. În acest caz mai întâi se numește funcția Reading (). Aceasta citește valoarea RGB salvată în blocul 8 al etichetei NFC pe primul loc al matricei (Albastru = bloc [0];). Apoi se numește funcția ChangeLEDRead (), care schimbă nuanța LED-ului în valoare, care tocmai a fost citită din eticheta NFC.

Cazul 1 este atunci când starea butonului este scăzută. În acest caz mai întâi se numește funcția ReadPot (), ceea ce înseamnă că acum puteți regla manual nuanța LED-urilor cu potențiometrul. Această intrare de la potmeter este apoi mapată la o valoare cuprinsă între 0 și 255. Funcția ChangeLEDPot () controlează apoi culoarea LED folosind intrarea de la potmeter. În acest caz se numește și funcția Writing (). Acest lucru vă asigură că de îndată ce o etichetă NFC este plasată aproape de scut, valoarea curentă a albastrului va fi scrisă pe ea în primul loc al blocului 8.

Pasul 4: Adaptări posibile

Același principiu ar putea fi folosit și în alte cazuri și nu se limitează doar la NFC. Există multe implementări posibile, în care doriți să ajustați anumite valori la preferința dvs., să le salvați și să restabiliți setările personale, apoi, din nou, într-un moment ulterior.

Gândiți-vă, de exemplu, la un loc de muncă comun, unde reglați înălțimea scaunului, unghiul spătarului și înălțimea mesei la preferințele personale. Vă salvați preferința scanând rapid cu o etichetă NFC. Când reveniți în altă zi, vă scanați din nou eticheta, iar locul de muncă se modifică la setările dvs.

În loc de un cip NFC, puteți utiliza și smartphone-ul. O aplicație specială sau un site web poate fi folosit ca interfață.

O altă implementare ar putea fi, de exemplu, scanarea unei amprente digitale în loc de scanarea etichetei NFC. Amprenta poate fi apoi legată de un anumit profil de utilizator în care sunt salvate preferințele.

Recomandat: