nfcTagObject was not declared in this scope & programmer is not responding


#1

Hallo,

nachdem ich Step by Step die Anleitung durchgegangen bin (und erste Hürden mit der Firewall überwunden habe), kommt beim Kompilieren folgende Meldung.

’nfcTagObject’ was not declared in this scope

Was hat das zu bedeuten? Kann/muss das ignoriert werden? Ist ja keine Warnung, sonder eine Fehlermeldung.

Vielen Dank


#2

Hast du den Quelltext per copy paste in die arduino IDE eingefügt oder das zip File geladen und die tonuino.ino gestartet? Bei ersterem könnte es sein das eine geschweifte klammer fehlt


#3

Hi.

Ich habe das Zip File entpackt und die Datei aus dem Master Ordner ausgewählt.

Hier mal der Text, wo das kompilieren aufhört bzw. die Meldung kommt.

void writeCard(nfcTagObject nfcTag) {   **_Hier wird es ROT hinterlegt_**
  MFRC522::PICC_Type mifareType;
  byte buffer[16] = {0x13, 0x37, 0xb3, 0x47, // 0x1337 0xb347 magic cookie to
                                             // identify our nfc tags
                     0x01,                   // version 1
                     nfcTag.folder,          // the folder picked by the user
                     nfcTag.mode,    // the playback mode picked by the user
                     nfcTag.special, // track or function for admin cards
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

  byte size = sizeof(buffer);

  mifareType = mfrc522.PICC_GetType(mfrc522.uid.sak);

  // Authenticate using key B
  Serial.println(F("Authenticating again using key B..."));
  status = (MFRC522::StatusCode)mfrc522.PCD_Authenticate(
      MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));
  if (status != MFRC522::STATUS_OK) {
    Serial.print(F("PCD_Authenticate() failed: "));
    Serial.println(mfrc522.GetStatusCodeName(status));
    mp3.playMp3FolderTrack(401);
    return;
  }

  // Write data to the block
  Serial.print(F("Writing data into block "));
  Serial.print(blockAddr);
  Serial.println(F(" ..."));
  dump_byte_array(buffer, 16);
  Serial.println();
  status = (MFRC522::StatusCode)mfrc522.MIFARE_Write(blockAddr, buffer, 16);
  if (status != MFRC522::STATUS_OK) {
    Serial.print(F("MIFARE_Write() failed: "));
    Serial.println(mfrc522.GetStatusCodeName(status));
      mp3.playMp3FolderTrack(401);
  }
  else
    mp3.playMp3FolderTrack(400);
  Serial.println();
  delay(100);
}

/**
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

#4

Bitte in Zukunft den </> Knopf für Source Code nutzen! Danke!

Zu Deinem Problem ist hier im Forum auch eigentlich schon (mehrfach) alles gesagt worden. Bitte nutze die Suchfunktion: “was not declared in this scope”. Dort findest du Lösungsansätze. Dann sollte das eigentlich klappen.


#5

Hallo,

ich habe nun den Quellcode mal kopiert und auch kompilieren können.
Aber irgendwas passt immer noch nicht.

Er bricht nun beim Hochladen ab.

Ich denke ich habe ein Treiber Problem.

Der Tonuino wird bei mir nur als “USB Serial Port” und nicht als USB CH 340 erkannt.

Den Treiber habe ich gerade neu geladen…
Treiber von WCH

Wenn ich mittels Adruino SW die Boardinformationen hole, kommen folgende Infos:
BN: unbekanntes Board
VID: 0403
PID: 6001
SN: Laden Sie irgendeinen Sketch hoch, um sie abzurufen

Dankeschön


#6

Die Boardinfos haben bei mir noch nie (> 5 Nanos) funktioniert. Darauf brauchst nicht gehen. Zumindest bei den Clonen.
Woher kommt Dein Arduino Nano?

Stell mal den Bootloader um, evtl hast du schon den neuen.

Der Gerätemanager zeigt dir bei “Anschlüsse (Com & LPT)” keinen Port an?
Dann kannst du den natürlich in deiner Arduino IDE auch nicht auswählen und nicht hochladen.

Nimm mal einen anderen USB Port am Rechner und ein anderes Kabel. Manche billigen Kabel sind nur zum Laden gedacht und die Datenleitungen sind nicht vorhanden. Das könnte auch noch sein.


#7

Hallo.

Mein Arduino kommt von dem Paket, welches man von Amazon bestellen kann (AZDelivery).

Also USB Kabel habe ich schon ein “dickeres” genommen, weil ich die Vermutung auch schon hatte.


#8

Arduino2

Am Arduino leuchtet auch “nur” die rote LED falls das was zu sagen hat.


#9

Also in der Arduino IDE müsste demnach bei dir COM 8 zur Auswahl stehen.


#10

Dem ist auch so.

Aber es kommt wieder die Fehlermeldung. Auch mit “neuem” Bootloader.

Arduino: 1.8.8 (Windows 7), Board: "Arduino Nano, ATmega328P"
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30
Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

#13

Lustig, mein Arduino hat nur rote LEDs…
Die Ausgabe sagt, dass er den Arduino an dem Port nicht findet… Wenn du ihn in einen anderen usbport steckst dran müsstest du auch nen anderen comport auswählen können.


#14

Hi.
Also wenn ich den USB-Port wechsle, verschwindet klar mal kurz das USB Serial Port Ding im Geräte Manager. Sobald ich aber das Kabel wieder einstecke (egal welcher Port am PC) wird da wieder Port 8 daraus.

In der Arduino Software steht halt nur Port1, Port2, Port3, Port8 drin.
Also hinter “Port1-x” steht was auf den Arduino schließen lässt.


#15

Dann geh die Ports in der Software doch mal einzeln durch und schau mal, ob er immer die selbe Fehlermeldung ausgibt. Hättest du denn Treiber installiert, bevor du den Arduino das erste mal angeschlossen hast?Wer eigentlich installiert sich ab win 7 der geringer für ein USB Gerät selber beim einstecken… Nur wenn er ihn nicht findet, dann muss man ein Treiber manuell installieren.


#16

Vor allem steht da FTDI in dem Screenshot. Der Treiber für den CH340/341 ist also gar nicht notwendig.


#17

ok, du hast bisher den “old bootloader” drin gehabt?

Kompiliere mal die Software und kurz vor dem hochladen drückst du den Reset Button auf dem Nano.


#18

Hallo.

  1. Die POrts gehe ich gerne mal so durch. Kann mir jedoch nicht vorstellen, dass es daran liegt. Der POrt wird ja klar im GeräteManager angezeigt.
  2. Den Treiber hatte ich glaube ich schon vor Erstinstallation (Hardwareseitig) installiert. Denke jedoch, dass er eigentlich richtig angezeigt wird, oder?
  3. @Barni. Das werde ich jetzt mal versuchen.

#19

Also wenn ich bei mir das usb Kabel an nem andern Port anschließe,dann wechselt auch der com Port… Das muss auch so sein. Wenn er trotz dem Tipps jetzt nicht will, deinstalliere mal den Treiber und stecke den Arduino noch mal an, dann sollte er sich selbst mit nem Treiber installieren.


#20

Hallo.

Also das mit dem Reset-Button hat nicht geklappt.
Nun habe ich mal den Adruino abgezogen und die Treiber komplett gelöscht.

Nun erscheint im Geräte Manager folgendes…

Also jetzt steht dort zumindest FT232R USB UART.
Jetzt benötige ich für dieses Teil noch den richtigen Treiber (WIn7 64bit).
Dann sollte es doch hoffentlich klappen.


#21

Sooo

Treiber neu installiert…

Altes Problem. Irgendwas scheint nicht zu stimmen.

Muss man an der Baudrate oder so noch was einstellen?


#22

nein. nicht unter windows.

Du nutzt schon ein stinknormales USB A zu Mini USB Kabel?

Diese Bezeichnung, die es dir anzeigt kenn ich sonst nur von so komischen USB zu Serial Adapter Kabeln.