Inhoudsopgave:

Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen
Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen

Video: Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen

Video: Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen
Video: Vergelijkende tests van GU10 Zigbee-lampen, Tuya Smart, Ewelink, iHost, Home Assistant 2024, November
Anonim
Image
Image
Materiaal verzamelen
Materiaal verzamelen

We willen testen hoe het werkt om een bepaalde waarde of instelling aan te passen en deze instelling later weer op te roepen. Voor dit experiment hebben we een NFC-tag gebruikt om de waarde erop te lezen en vervolgens op te slaan. Later kan de tag opnieuw worden gescand en de waarde terugsturen om een bepaalde instelling te herstellen. Om de interactie te simuleren hebben we een Arduino Uno gebruikt als controller en een RGB LED ring als verstelbaar onderdeel. Met een potmeter kan de RGB-tint worden ingesteld. De communicatie tussen de Arduino en de NFC-tag is opgezet met een NFC-shield.

(Dit project was een oefening voor de TU Delft, Integrated Product Design, cursus: TfCD)

Stap 1: Verzamel materiaal

Voor dit project hebben we het volgende materiaal gebruikt:

- Arduino uno- NFC schild & tag (https://www.elecrow.com/wiki/index.php?title=NFC_Shield)- Mokugi t-WS2812B-8LED- Potentiometer (10 3B 42 5V) - Schakelaar- 10K Ohm weerstand - (Broodplank)

Stap 2: Gebruik de potentiometer om de RGB-LED aan te passen

Gebruik de potentiometer om de RGB-LED aan te passen
Gebruik de potentiometer om de RGB-LED aan te passen
Gebruik de potentiometer om de RGB-LED aan te passen
Gebruik de potentiometer om de RGB-LED aan te passen

Controleer eerst of de LED waarmee u werkt functioneert, door een andere testcode uit te voeren. Vervolgens kunt u de potentiometer aansluiten om de RGB van de LED aan te passen. Bouw hiervoor de schakeling zoals op de afbeelding. Sluit aan op voeding (5V) en aarde, en sluit de potentiometer aan op pin A0.

Als u het model wilt opschalen en later verschillende waarden wilt opslaan, kunt u bij deze stap al meer potentiometers gebruiken.

De code voor deze test is ook bijgevoegd. Om de code te laten werken, moet je de Adafruit_NeoPixel.h-bibliotheek downloaden.

We mixen de tint van de RGB LED als volgt: We hebben ervoor gekozen om rood continu aan te hebben en deze naar paars aan te passen door er blauw bij te mengen. Als de potentiometer hoog staat, is blauw volledig aan, wanneer deze laag is, is blauw uit. Hiervoor we brengen de uitlezing van de potmeter in kaart:

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

Om drift van de ingangswaarde van de potentiometer te voorkomen, veranderen we de nieuwe waarde van de blauwe LED alleen als het verschil tussen de huidige en de vorige potwaarde groot genoeg is:

int diff = abs(val-oldVal);

if (diff > TOLERANTIE) { ChangeLED();

Stap 3: Integreer NFC

Integreer NFC
Integreer NFC
Integreer NFC
Integreer NFC

De volgende stap is het integreren van de NFC. Sluit eerst het NFC-shield aan op de Arduino.

Voeg ook de schakelaar toe zoals getoond op de foto's. De schakelaar wordt gebruikt om te wisselen tussen lezen en schrijven naar de NFC-tag.

Download de bibliotheek PN532.h voor het NFC-schild. De bijgevoegde code is een aanpassing van de voorbeeldcodes in de bibliotheek. Het wordt zo veranderd dat de RGB-waarde van de LED wordt overgedragen.

U kunt ook eerst alleen het lezen of schrijven testen met de twee codes die apart zijn bijgevoegd.

Uitleg laatste code

Eerst worden alle gebruikte variabelen geïnitialiseerd.

Vervolgens wordt in de void setup de nfc-verbinding ingesteld.

De lege lus begint met het lezen van de status van de schakelaar.

Geval 0 is wanneer de knopstatus HOOG is. In dit geval wordt eerst de functie Reading() aangeroepen. Deze leest de RGB-waarde die is opgeslagen in blok 8 van de NFC-tag op de eerste plaats van de array (Blauw = blok[0];). Vervolgens wordt de functie ChangeLEDRead() aangeroepen, die de tint van de LED verandert in de waarde die zojuist van de NFC-tag is afgelezen.

Geval 1 is wanneer de knopstatus LAAG is. In dit geval wordt eerst de functie ReadPot() aangeroepen, wat betekent dat je nu handmatig de tint van de LED's kunt aanpassen met de potentiometer. Deze invoer van de potmeter wordt vervolgens toegewezen aan een waarde tussen 0 en 255. De functie ChangeLEDPot() regelt vervolgens de LED-kleur met behulp van de invoer van de potmeter. In dit geval wordt ook de functie Writing() aangeroepen. Dit zorgt ervoor dat zodra een NFC-tag dicht bij het schild wordt geplaatst, de huidige waarde van blauw erop wordt geschreven in de eerste plaats van blok 8.

Stap 4: Mogelijke aanpassingen

Hetzelfde principe zou ook in andere gevallen kunnen worden toegepast en is niet alleen beperkt tot NFC. Er zijn vele implementaties mogelijk, waarbij u bepaalde waarden naar uw voorkeur wilt aanpassen, opslaan en uw persoonlijke instellingen dan op een later moment weer wilt herstellen.

Denk bijvoorbeeld aan een gedeelde werkplek, waar je de hoogte van je stoel, rugleuninghoek en de hoogte van de tafel aanpast naar jouw persoonlijke voorkeur. Je voorkeur sla je op door snel te scannen met een NFC-tag. Als je een andere dag terugkomt, scan je je tag opnieuw, en de werkplek verandert in je instellingen.

In plaats van een NFC-chip kun je ook je smartphone gebruiken. Als interface kan een speciale applicatie of website worden gebruikt.

Een andere implementatie zou bijvoorbeeld kunnen zijn om een vingerafdruk te scannen in plaats van de NFC-tag te scannen. De vingerafdruk kan vervolgens worden gekoppeld aan een bepaald gebruikersprofiel waarin voorkeuren worden opgeslagen.

Aanbevolen: