Inhoudsopgave:
- Stap 1: Verzamel materiaal
- Stap 2: Gebruik de potentiometer om de RGB-LED aan te passen
- Stap 3: Integreer NFC
- Stap 4: Mogelijke aanpassingen
Video: Vooraf ingestelde waarden opslaan en herstellen met NFC (TfCD): 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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
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:
Meerdere analoge waarden lezen met één analoge pin - Ajarnpa
Meerdere analoge waarden lezen met één analoge pin: in deze tutorial laat ik je zien hoe je meerdere analoge waarden kunt lezen met slechts één analoge ingangspin
7-segment om ADC #Arduino-waarden, #Arduino weer te geven: 4 stappen
7-segment om ADC weer te geven #Arduino Values, #Arduino: In dit artikel zal ik een project maken dat nog steeds gerelateerd is aan het vorige artikel. Namelijk het verwerken van ADC-gegevens. U heeft dus geen seriële monitor nodig om de waarde van de adc-gegevens te zien. in dit artikel zal ik een ADC Value viewer-weergave maken. dus jij niet
Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen
Schermafbeeldingen automatisch opslaan in Windows met een Python-script: Meestal moeten we in Windows eerst een screenshot (afdrukscherm) maken en vervolgens Paint openen, plakken en vervolgens opslaan. Nu zal ik je leren hoe je een python-programma maakt om het te automatiseren. Dit programma zal een vouw
ADC-waarden lezen van potentiometers: 4 stappen:
Lees ADC-waarden van potentiometers: In dit artikel laat ik u zien hoe u ADC-waarden van een potentiometer kunt lezen. Dit is de basis van Arduino-programmering. die analoge waarden leest met behulp van de analoge pin die door Arduino wordt geleverd. Naast het gebruik van de potentio, zijn er verschillende sensoren die
Waarden lezen vanaf een BLE-apparaat met CSR1010 en Dragonboard 410c: 6 stappen
Waarden lezen van een BLE-apparaat met CSR1010 en Dragonboard 410c: deze tutorial laat zien hoe u waarden kunt lezen van BLE-apparaat CSR1010 met Dragonboard 410c met Linaro. In dit voorbeeld emuleert CSR1010 een hartslagsensor