<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <link href="https://funduinoshop.com/nl/blog/arduino/?sAtom=1" rel="self" type="application/atom+xml" />
    <author>
        <name>Funduinoshop</name>
    </author>
    <title>Blog / Atom feed</title>
    <id>https://funduinoshop.com/nl/blog/arduino/?sRss=1</id>
    <updated>2026-04-08T16:16:37+02:00</updated>
    
        <entry>
            <title type="text">De module MPU-6050: Gyroscoop en versnellingsmeter</title>
            <id>https://funduinoshop.com/nl/de-module-mpu-6050-gyroscoop-en-versnellingsmeter</id>
            <link href="https://funduinoshop.com/nl/de-module-mpu-6050-gyroscoop-en-versnellingsmeter"/>
            <summary type="html">
                <![CDATA[
                
                                            Er zijn maar weinig modules op de markt die de afgelopen maanden zo&#039;n hype hebben veroorzaakt als de MPU-6050 module. De twee-in-één printplaat combineert twee populaire...
                                        ]]>
            </summary>
            <content type="html">
                <![CDATA[
                 Er zijn maar weinig modules op de markt die de afgelopen maanden zo&#039;n hype hebben veroorzaakt als de MPU-6050 module. Het twee-in-één bord combineert twee populaire sensoreigenschappen: De module kan tegelijkertijd gebruikt worden als gyroscoop en als versnellingssensor.  Hoe dan? De sensor bestaat uit een 3-assige gyroscoop en een 3-assige versnellingsmeter op één en dezelfde chip. Dit betekent dat&amp;nbsp;alle (!) sensorwaarden tegelijkertijd kan oproepen. Dit betekent dat hobbyisten altijd goed op de hoogte zijn van de huidige sensorpositie. Deze functie is vooral interessant voor modelbouw, met name voor het uitbalanceren van chassis of drones. Daarnaast zijn externe magnetometers of andere sensoren toegankelijk via een extra master I2C bus, zodat ook deze sensorgegevens volledig kunnen worden vastgelegd.&amp;nbsp; 
 De sensorgegevens van de MPU-6050 (GY-521) in één oogopslag: 
 
 Chipset: MPU-6050 (ook bekend als GY-521) 
 Voeding: 3,3 - 5V DC 
 Vrijheidslijn: 6* 
 Interface: I2C 
 Pinafstand: 2,54 mm   
 
 Nu komen we bij het spannende gedeelte: de praktijk. Om je een goed overzicht te geven van de nuttige functies van de MPU-6050 module, hebben we een voorbeeldschakelschema voor je ontwikkeld. De MPU-6050 module wordt uitgelezen door een Funduino UNO R3 en de geregistreerde gegevens worden geëvalueerd.  We zijn voornamelijk geïnteresseerd in de sensorgegevens van de gyroscoop. We willen de waarden van de X-, Y- en Z-as uitlezen en bepalen of er een verandering is opgetreden in de positie van de sensor. De verandering in positie moet ons worden getoond met gekleurde LED&#039;s. 
   
 Tot zover alles goed: maar hoe implementeren we dit? 
 De programmacode van de MPU-6050 module 
 Nu is het tijd voor het echte werk: nou ja, de helft ervan. Eerst moeten we de juiste bibliotheek voor de MPU6050 module downloaden en deze integreren in onze Arduino IDE. De bibliotheek heet &quot;&amp;lt;MPU6050_tockn.h&amp;gt;&quot; en kan direct worden gevonden en geïnstalleerd via het bibliotheekbeheer van de Arduino IDE. 
 Na deze eerste stap beginnen we met de eigenlijke code. Eerst definiëren we de LED-aansluitingen voor onze LED&#039;s, die ons moeten dienen als indicatoren voor de aspositie. Daarna definiëren we twee variabelen voor de aspositie van elk van de drie assen.&amp;nbsp; 
 Je vraagt je waarschijnlijk af waarom we twee variabelen per as nodig hebben. Omdat we willen bepalen of de positie van de betreffende as is veranderd, moeten we eerst bepalen welke waarde de sensor heeft geregistreerd voor de huidige positie. We slaan deze sensorwaarde van de MPU-6050 voor een korte periode op in de eerste variabele. De waarde van de aspositie wordt even later opnieuw opgeslagen in de tweede variabele. We kunnen nu de twee geregistreerde meetwaarden met elkaar vergelijken. Als er een afwijking van de positie met een eerder gedefinieerd minimum is geregistreerd (+-3 in ons codevoorbeeld), kunnen we aannemen dat de sensor de positie heeft gewijzigd. In dat geval schakelen we de toegewezen LED in.&amp;nbsp; 
 Extra leuk: de vastgelegde meetgegevens kunnen goed worden weergegeven in de seriële plotter van de Arduino IDE.   
  // Deze sketch vergelijkt de hoeken van de X/Y/Z assen met de vorige waarden. 
 // Als ze +/-3° verschillen, schakelt de sketch de LEDs om. (elk.1 voor POS of voor NEG) 
 // Let op: dit zijn niet de absolute waarden, maar RELATIEVE waarden vergeleken met de vorige meting 


  #include   &amp;lt;MPU6050_tockn.h&amp;gt;   // Include bibliotheken  
  #include   &amp;lt;Wire.h&amp;gt;   // &amp;lt;-  

MPU6050 mpu6050 (Wire ,  0.1 ,  0.1 );  // Demping van de waarden. Hoe kleiner (richting &quot;0&quot;), hoe nerveuzer de // waarden 
                                  // hoe groter (richting &quot;1&quot;), hoe trager de waarden 

 const   int  ledXpos  =2 ;  //*** 
 const   int  ledXneg  =3 ;  // * 
 const   int  ledYpos  =4 ;  // * Stel de LED-aansluitingen in 
 const   int  ledYneg  =5 ;  // *
 const   int  ledZpos  =6 ;  // *
 const   int  ledZneg  =7 ;  //*** 

 int  xNowPos;  // variabele HUIDIGE X-Pos 
 int  yNowPos;  // variabele HUIDIGE Y-Pos 
 int  zNowPos; // variabele HUIDIGE   Z-Pos 

 int  xPrePos; // variabele   HUIDIGE X-Pos 
 int  yPrePos; // Variabele   HUIDIGE Y-Pos 
 int  zPrePos; // Variabele VORIGE   Z-Pos 

 int  verschil =  3 ;

 void   setup () {                   // Beginn Setup-Funktion 
   Serial . begin ( 115200 );          // Öffne serielle Übertragung (115200Baud) !!! Am Monitor ebenfalls einstellen !!! 
  
   pinMode (ledXpos,  OUTPUT );      //*** 
   pinMode (ledXneg,  OUTPUT );      //  * 
   pinMode (ledYpos,  OUTPUT );      //  * Festlegen dass LED-Anschlüsse Ausgänge sind 
   pinMode (ledYneg,  OUTPUT );      //  * 
   pinMode (ledZpos,  OUTPUT );      //  * 
   pinMode (ledZneg,  OUTPUT );      //*** 
  
   Wire . begin ();                  // Beginn I2C Protokoll 
  mpu6050. begin ();               // Start des Gyros 
  mpu6050.calcGyroOffsets();     // Gyro kalkuliert seine Offsets !!! Währenddessen ruhig liegen lassen !!! 
                                 // Benutze mpu6050.calcGyroOffsets(true), um es im seriellen Monitor zu verfolgen. 
 delay ( 1000 );                     // Darauf warten wir... 
}

 void   loop () {  // begin van de l us

  mpu6050.update();  // Nieuwe gegevensset in de gyro aanmaken 

xNowPos=(mpu6050.getGyroAngleX());  // Vraag nieuwe dataset op van de gyro, schrijf naar X variabele 
yNowPos=(mpu6050.getGyroAngleY());  // Verzoek nieuwe dataset van gyro, schrijf naar Y variabele
zNowPos=(mpu6050.getGyroAngleZ()); // Verzoek nieuwe dataset van   de gyro, schrijf naar Z variabele 

 if  (xNowPos &amp;lt; xPrePos-(verschil))  // Vergelijk oude dataset met nieuwe. Verschil &amp;lt; -3 ? 
{ digitalWrite (ledXpos,  LOW );  digitalWrite (ledXneg,  HIGH );}  // Schakel dan de LEDs overeenkomstig 
 anders   als  (xNowPos &amp;gt; xVorPos+(verschil))  // Vergelijk oude dataset met nieuwe. Verschil &amp;lt; +3 ? 
{ digitalWrite (ledXpos,  HIGH );  digitalWrite (ledXneg,  LOW );}  // Schakel dan de LEDs overeenkomstig 
 anders   // Of schakel alle X LED&#039;s uit ...
{ digitalWrite (ledXpos,  LOW );  digitalWrite (ledXneg,  LOW );}  // Schakel dan de LEDs dienovereenkomstig 

 if  (yNowPos &amp;lt; yPrePos-(verschil))  // Vergelijk oude dataset met nieuwe. Verschil &amp;lt; -3 ? 
{ digitalWrite (ledYpos,  LOW );  digitalWrite (ledYneg,  HIGH );}  // Schakel dan de LEDs overeenkomstig 
 anders   als  (yNowPos &amp;gt; yVorPos+(verschil))  // Vergelijk oude dataset met nieuwe. Verschil &amp;lt; +3 ? 
{ digitalWrite (ledYpos,  HIGH );  digitalWrite (ledYneg,  LOW );}  // Schakel dan de LEDs overeenkomstig 
 anders   // Of schakel alle Y-LED&#039;s uit ...
{ digitalWrite (ledYpos,  LOW );  digitalWrite (ledYneg,  LOW );}  // Schakel dan de LEDs dienovereenkomstig 

 if  (zNowPos &amp;lt; zPrePos-(verschil))  // Vergelijk oude dataset met nieuwe. Verschil &amp;lt; -3 ? 
{ digitalWrite (ledZpos,  LOW );  digitalWrite (ledZneg,  HIGH );}  // Schakel dan de LEDs overeenkomstig 
 anders   als  (zNowPos &amp;gt; zPrePos+(verschil)) //   Vergelijk oude dataset met nieuwe. Verschil &amp;lt; +3 ? 
{ digitalWrite (ledZpos,  HIGH );  digitalWrite (ledZneg,  LOW );}  // Schakel dan de LEDs overeenkomstig 
 anders   // Of schakel alle Z-LED&#039;s uit ...
{ digitalWrite (ledZpos,  LOW );  digitalWrite (ledZneg,  LOW );}  // Schakel dan de LEDs dienovereenkomstig 

xVorPos=xJetztPos;  // Werk de (tot nu toe) oude dataset bij 
yVorPos=yJetztPos;  // Werk de (tot nu toe) oude dat aset bij
zVorPos=zJetztPos;  // Werk de (tot nu toe) oude gegevensreeks bij 
                                     // Dan kan het in de volgende run weer vergeleken worden met &quot;ervoor&quot; 

 Serial  .print (xNowPos);  // &amp;gt;&amp;gt; seriële plotter&amp;lt;&amp;lt; eerlijke spelling [output X] 
 Serial  .print ( &quot; &quot; ) ;Serial  .print (yJetztPos);  // (&quot; &quot;) = (\t) = Nieuwe kleur [output   Y] 
 Serial  . print(&quot; &quot; ) ;Serial  .println (zNowPos);  // (&quot; &quot;) = (\t) = Nieuwe kleur [output Z] 
  delay  (15 );  // (minimale vertraging kalmeert de seriële uitvoer) 
  // einde van de lus 


 // Voel je vrij om een beetje te experimenteren met de demping in de derde regel van het programma 
 //-&amp;gt; MPU6050 mpu6050(Draad, 0,3, 0,3); 
 // of met de delay() aan het einde. Observeer dan de waarden in de &amp;gt;&amp;gt;seriële PLOTTER &amp;lt;&amp;lt;  
                ]]>
            </content>

                            <updated>2022-05-15T08:00:00+02:00</updated>
                    </entry>

    
    
        <entry>
            <title type="text">De PN532 NFC RFID-module - Near Field Communication</title>
            <id>https://funduinoshop.com/nl/de-pn532-nfc-rfid-module-near-field-communication</id>
            <link href="https://funduinoshop.com/nl/de-pn532-nfc-rfid-module-near-field-communication"/>
            <summary type="html">
                <![CDATA[
                
                                            In dit artikel laten we je zien hoe je ID-tags kunt lezen. De focus van het artikel is de PN532 NFC RFID module. De module is gebaseerd op de NXP PN532 chip. Deze chipset is vooral populair op het gebied van NFC (near field communication)....
                                        ]]>
            </summary>
            <content type="html">
                <![CDATA[
                 RFID? NFC? Wat is dat eigenlijk? 
 In dit artikel laten we je zien hoe je ID-tags kunt lezen. De focus van het artikel is de PN532 NFC RFID module.&amp;nbsp; 
 De module is gebaseerd op de NXP PN532 chip. Deze chipset wordt veel gebruikt op het gebied van NFC (Near Field Communication). Een voorwerp dat NFC ondersteunt, vaak een chequekaart met een NFC-chip, wordt tegen een NFC-lezer gehouden. Hierdoor kan in een fractie van een seconde informatie worden uitgewisseld.&amp;nbsp; 
 Klinkt dat abstract? Als je een nieuwere EC-kaart hebt en die gebruikt voor contactloos betalen, dan ken je NFC zelfs uit het dagelijks leven. Door de kaart op de betaalterminal te leggen, wordt de transactie gestart - snel en eenvoudig. 
 We willen graag wat dieper ingaan op de technische processen hierachter. De PN532 module is hiervoor bij uitstek geschikt, omdat hij zowel I2C als SPI ondersteunt. Het gewenste communicatietype kan direct op het PN532 bord worden geselecteerd door de schakelaars om te zetten. De stand van de schakelaars die nodig zijn voor de respectieve interfaces vind je rechts van het schakelschema, dat iets verderop op de pagina staat. 
 &amp;nbsp; 
 Het schakelschema: 
   
 Tip: Je kunt  hier  een hoge resolutie versie van deze afbeelding vinden. Daar kun je de pintoewijzing wat beter zien.   
 De programmacode (I2C versie) 
  //******************************************************************************************************* 
 //** Voorbeeldschets voor het lezen van ID-tags. Als de ID overeenkomt, wordt PIN 13 gedurende 2 seconden ingeschakeld ** 
 //** ingeschakeld (LED). Als de ID fout is, wordt er een toon gegenereerd op pin 12. (PASSIEVE zoemer / piezzo) ** 
 //** gebruik. In plaats van een LED kan ook een deurslot worden geschakeld (via TIP120 schakelversterker ** 
 //******************************************************************************************************* 

  #include   &amp;lt;Wire.h&amp;gt;   // Bibliotheek voor het I2C-protocol  
  #include   &amp;lt;Adafruit_PN532.h&amp;gt;   // Bibliotheek voor de NFC/RFID module !!!   Gelieve te laden via Arduino IDE !!!  


  #define  PN532_IRQ (2)  // Definieer de IRQ connector  
  #define  PN532_RESET (3)  // Definieer de reset-aansluiting  

 const   int  AlarmPin =  12 ;  // Pin 12 uitgang voor piëzoluidspreker 
 const   int  OutputPin =  13 ;  // Pin 13 uitgang voor LED of via TIP120 naar een magnetisch slot 
 unsigned   long  cardid;  // Variabele voor het gelezen TAG-ID 

 unsigned   long  TAGid1 =  1702536620 ;  // Hier kunnen ID&#039;s worden ingevoerd die geaccepteerd moeten worden
 unsigned   long  TAGid2 =  4070796058 ;  // Anders leeg laten. De ID van individuele TAGs kunnen worden ingevoerd met 
 unsigned   long  TAGid3 ;  // de seriële monitor (stel 115200 baud in) 

Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);  // instantie met I2C-protocol aanmaken 


 void    setup() // start setup-functie 
  pinMode (AlarmPin,  OUTPUT );  // Pin definiëren als uitgang 
   pinMode (OutputPin,  OUTPUT ); // Definieer   PIN als uitgang
  Serial  .begin  (115200 );  // Open seriële transmissie met 115200 baud (ser monitor dezelfde baud-instelling!) 
  Serial  .println ( &quot;Hello! &quot;); //   Stuur tekst &quot;Hello!&quot; naar seriële monitor 
  nfc .begin ();  // Start communicatie met RFID lezer 
  unsigned   long  versiondata = nfc.getFirmwareVersion();  // Versienummer van firmware lezen 
  als  (! versiondata) {                                    // Wenn keine Antwort kommt 
     Serial . print ( &quot;Kann kein Board finden !&quot; );             // Sende Text &quot;Kann kein...&quot; an seriellen Monitor 
     while  ( 1 );                                            // so lange Stopp 
  }

  Serial  .print ( &quot;Chip PN5 gevonden&quot; );  Serial  .println ((versiondata &amp;gt;&amp;gt;  24 ) &amp;amp;  0xFF , HEX);  // Stuur tekst en versie-info naar seriële poort van RFID-lezer
  Serial  .print ( &quot;Firmware ver. &quot; );  Serial  .print ((versiondata &amp;gt;&amp;gt;  16 ) &amp;amp;  0xFF , DEC);  // Controleer wanneer er antwoord komt van de printplaat 
  Serial  .print ( &#039;.&#039; );  Serial  .println ((versiondata &amp;gt;&amp;gt;  8 ) &amp;amp;  0xFF , DEC);  //  
  
  nfc.SAMConfig();  // Configureer het bord om RFID-tags te lezen 

  Serial  .println ( &quot;Wachten op een ISO14443A chip ...&quot; );  // Stuur tekst die wacht naar seriële monitor 
}


 void   loop () {  // Lusfunctie starten 
  uint8_t succes;  // Variabele aanmaken 
  uint8_t uid[] = {  0 ,  0 ,  0 ,  0 ,  0 ,  0 ,  0  };  // Buffer om de UID op te slaan 
  uint8_t uidLength;  // Lengte van de UID (4 of 7 bytes afhankelijk van ISO14443A Card/Chip Type) 

  // Wacht op een ISO14443A chip. Als er een wordt gedetecteerd, wordt de variabele // gevuld met de UID 
  // gevuld met de UID. Afhankelijk van de // lengte (4 bytes (Mifare Classic) of 
   7 bytes (Mifare Ultralight) wordt het // kaarttype herkend. 
  
  succes = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &amp;amp;uidLength);

  if  (succes) {  // Indien gedetecteerd, proces.... 
    Serial  .println ( &quot;ISO14443A kaart gevonden&quot; );
    Serial  .print ( &quot; UID Lengte: &quot; );  Serial  .print (uidLength, DEC);  Serial  .println ( &quot; bytes&quot; );
    Serial  . print(&quot;  UID Waarde: &quot; );
    nfc.PrintHex(uid, uidLength);  // informatie uitvoeren naar seriële monitor 

    als  (uidLength ==  4 ) {                                   // Hat die Karte/der Chip 4 byte Länge... 
                                                            // Mifare Classic Karte 
      cardid = uid[ 0 ];                                      // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // Setze die 4 byte Blöcke 
      cardid |= uid[ 1 ];                                     // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // zu einem einzigen Block 
      cardid |= uid[ 2 ];                                     // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // zusammen 
      cardid |= uid[ 3 ];                                     // 
       Serial . print ( &quot;Scheint eine Mifare Classic zu sein #&quot; );   // 
       Serial . println (cardid);                                  // Gib die Informationen aus 
       Serial . println ( &quot;&quot; );                                      //  
       Serial . println ( &quot;&quot; );                                      //  
    }
      als  ((cardid) == (TAGid1)||(cardid) == (TAGid2)||(cardid) == (TAGid3))  // vraag of de TAGs 1..2..3 verbonden zijn met de respectievelijke 
{ digitalWrite (OutputPin, HIGH );                                                 // überein stimmt. Dann schalte je nach dem 
 delay ( 2000 );
 digitalWrite (OutputPin, LOW );}                                                // aan of uit 
 anders 
{ tone (AlarmPin,  1000 );                                                         // Und gib ggf. einen Ton/Frequenz aus 
 delay ( 4000 );
 noTone (AlarmPin);}
    // Einde IF query/lus 
  // Einde van de lus  
 De programmacode (SPI-versie) 
  //******************************************************************************************************* 
 //** Voorbeeldschets voor het lezen van ID-tags. Als de ID geschikt is, wordt PIN 13 ** gedurende 2 seconden 
 //** ingeschakeld (LED). Als de ID fout is, wordt er een toon gegenereerd op pin 12. (PASSIEVE zoemer / piezzo) ** 
 //** gebruik. In plaats van een LED kan ook een deurslot worden geschakeld (via TIP120 schakelversterker ** 
 //******************************************************************************************************* 

  #include   &amp;lt;Wire.h&amp;gt;   // Bibliotheek voor het I2C-protocol  
  #include   &amp;lt;SPI.h&amp;gt;   // Bibliotheek voor het SPI-protocol  
  #include   &amp;lt;Adafruit_PN532.h&amp;gt;   // Bibliotheek voor de NFC/RFID module !!! Gelieve te laden via Arduino IDE !!!  

 const   byte  PN532_SCK =  2 ;  // 
 const   byte  PN532_MOSI  =3 ;  // Definieer de aansluitingen voor  
 const   byte  PN532_SS =  4 ;  // de SPI-verbinding naar de RFID  
 const   byte  PN532_MISO  =5 ;  // Board 

 const   int  AlarmPin =  12 ;  // Definieer  de aansluitingen voor 
 const   int  OutputPin =  13 ;  // de (schakelende) uitgangen 
 unsigned   long  cardid;  // Variabele voor de gelezen TAG-ID 

 unsigned   long  TAGid1 =  1702536620 ;  // Hier kunnen ID&#039;s worden ingevoerd die geaccepteerd moeten worden
 unsigned   long  TAGid2 =  4070796058 ;  // Anders leeg laten. De ID van individuele TAGs kunnen worden ingevoerd met 
 unsigned   long  TAGid3 ;  // de seriële monitor (stel 115200 baud in) 

Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS);  // instantie aanmaken met SPI-protocol 

 void    setup() // Start setup-functie 
  pinMode (AlarmPin,  OUTPUT );  // Pin definiëren als uitgang 
   pinMode (OutputPin,  OUTPUT );  // Definieer PIN als uitgang
  Serial  .begin  (115200 );  // Open seriële transmissie met 115200 baud (ser monitor dezelfde baud-instelling!) 
  Serial  .println ( &quot;Hello! &quot;); //   Stuur tekst &quot;Hello!&quot; naar seriële monitor 
  nfc .begin ();  // Start communicatie met RFID lezer 
  unsigned   long  versiondata = nfc.getFirmwareVersion();  // Versienummer van firmware lezen 
  als  (! versiondata) {                                    // Wenn keine Antwort kommt 
     Serial . print ( &quot;Kann kein Board finden !&quot; );             // Sende Text &quot;Kann kein...&quot; an seriellen Monitor 
     while  ( 1 );                                            // so lange Stopp 
  }

  Serial  .print ( &quot;Chip PN5 gevonden&quot; );  Serial  .println ((versiondata &amp;gt;&amp;gt;  24 ) &amp;amp;  0xFF , HEX);  // Stuur tekst en versie-informatie naar de   seriële poort van RFID-lezer
  Serial  .print ( &quot;Firmware ver. &quot; );  Serial  .print ((versiondata &amp;gt;&amp;gt;  16 ) &amp;amp;  0xFF , DEC);  // Controleer wanneer er antwoord komt van de printplaat 
  Serial  .print ( &#039;.&#039; );  Serial  .println ((versiondata &amp;gt;&amp;gt;  8 ) &amp;amp;  0xFF , DEC);  //  

  nfc.SAMConfig();  // Configureer het bord om RFID-tags te lezen 

  Serial  .println ( &quot;Wachten op een ISO14443A chip ...&quot; );  // Stuur tekst die wacht naar seriële monitor 
}


 void   loop () {  // Lusfunctie starten 
  uint8_t succes;  // Variabele aanmaken 
  uint8_t uid[] = {  0 ,  0 ,  0 ,  0 ,  0 ,  0 ,  0  };  // Buffer om de UID op te slaan 
  uint8_t uidLength;  // Lengte van de UID (4 of 7 bytes afhankelijk van ISO14443A Card/Chip Type) 

  // Wacht op een ISO14443A chip. Als er een wordt gedetecteerd, wordt de variabele // gevuld met de UID 
  // gevuld met de UID. Afhankelijk van de // lengte (4 bytes (Mifare Classic) of 
   7 bytes (Mifare Ultralight) wordt het // kaarttype herkend. 
 
  succes = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &amp;amp;uidLength);

  if  (succes) {  // Indien gedetecteerd, proces.... 
    Serial  .println ( &quot;ISO14443A kaart gevonden&quot; );
    Serial  .print ( &quot; UID Lengte: &quot; );  Serial  .print (uidLength, DEC);  Serial  .println ( &quot; bytes&quot; );
    Serial  . print(&quot;  UID Waarde: &quot; );
    nfc.PrintHex(uid, uidLength);  // informatie uitvoeren naar seriële monitor 

    als  (uidLength ==  4 ) {                                   // Hat die Karte/der Chip 4 byte Länge... 
                                                            // Mifare Classic Karte 
      cardid = uid[ 0 ];                                      // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // Setze die 4 byte Blöcke 
      cardid |= uid[ 1 ];                                     // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // zu einem einzigen Block 
      cardid |= uid[ 2 ];                                     // 
      cardid &amp;lt;&amp;lt;=  8 ;                                         // zusammen 
      cardid |= uid[ 3 ];                                     // 
       Serial . print ( &quot;Scheint eine Mifare Classic zu sein #&quot; );   // 
       Serial . println (cardid);                                  // Gib die Informationen aus 
       Serial . println ( &quot;&quot; );                                      //  
       Serial . println ( &quot;&quot; );                                      //  
    }
      als  ((cardid) == (TAGid1)||(cardid) == (TAGid2)||(cardid) == (TAGid3))  // vraag of de TAGs 1..2..3 verbonden zijn met de respectievelijke 
{ digitalWrite (OutputPin, HIGH );                                                 // überein stimmt. Dann schalte je nach dem 
 delay ( 2000 );
 digitalWrite (OutputPin, LOW );}                                                // aan of uit 
 anders 
{ tone (AlarmPin,  1000 );                                                         // Und gib ggf. einen Ton/Frequenz aus 
 delay ( 4000 );
 noTone (AlarmPin);}
    // Einde IF query/lus 
  // Einde van de lus  
 &amp;nbsp; 
                ]]>
            </content>

                            <updated>2022-05-10T11:30:00+02:00</updated>
                    </entry>

    
</feed>
