Probleme mit dem UNO und den PN 2,5 Sensor PMS5003

Dh. Ich sollte lieber die Variante mit D2 und D3 verwenden.
Was muss ich da an welcher Stelle in den Code schreiben?

Und muss ich für

#include "PMS.h"

PMS pms(Serial);
PMS::DATA data;

was anderes schreiben? Oder kann das bleiben?

Habe dir doch im #76 alles angepasst, hochladen testen

So langsam verstehe ich, was du hier meinst (hoffe ich),.
Dh. dass der R4 im Gegensatz zum R3 statt nur einen zwei Serials hat?
Und die Mega sogar noch mehr?
Ist das richtig?

Das wäre dann ja gut, wenn bei den Beispielen in den Libraries das reinschreiben würden, für welche Boards der Code funktioniert (oder ich habe es übersehen :wink: ).

Dan schau mall auf dem Mega wie oft dort RX, TX steht manchmal auch mit _Bezeichnung 1, 2, 3 ;)

Habe ich ja gemacht, aber da kommt beim kompilieren folgende Fehler

 #include "PMS.h"
          ^~~~~~~           
compilation terminated.

exit status 1

Compilation error: SoftwareSerial.h: No such file or directory

Das verstehe ich (noch) nich.

Die Coder der Lib gehen davon aus das man ein wenig Ahnung von der Materia hat, und die Ahnungslose Forum Quellen :rofl: :rofl: :rofl:

Ich habe keinen Mega

Ich bin doch noch Anfänger und lehre laufend dazu :wink: Dank euch :slight_smile:

Ok damit hat sich das erledigt was ist mit "meiner" Anpassung geht, geht nicht?

lerne

Auf Bleistift Klicken und Fehler beheben :wink:

Ok danke für den Tipp. Wieder was gelernt.
In anderen Foren ist das immer etwas anders.

Software Serial ist doch in den Libs was wurden für Nano Uno installiert, noch eine Sache was die 2,xx nicht kann ?

Mach mal das, habe bei kopieren zu viel mitbekommen, nämlich dein Kommentar unten :roll_eyes:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

#include "PMS.h"

PMS pms(mySerial);
PMS::DATA data;

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
  delay(3000);
  Serial.print("Versuch Daten vom PMS5003 zu lesen");
}

void loop()
{
  if (pms.read(data))
  {
    Serial.print("PM 1.0 (ug/m3): ");
    Serial.println(data.PM_AE_UG_1_0);

    Serial.print("PM 2.5 (ug/m3): ");
    Serial.println(data.PM_AE_UG_2_5);

    Serial.print("PM 10.0 (ug/m3): ");
    Serial.println(data.PM_AE_UG_10_0);

    Serial.println();
  }

}

Kompiliert sauber für Nano R3

Der Sketch verwendet 3928 Bytes (12%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 430 Bytes (20%) des dynamischen Speichers, 1618 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Wen dir die Software Serial fehlt habe die gezip.
SoftwareSerial.zip (9.9 KB)
Entpacken und in Libraries Verschieben.

Vielen Dank.
Hatte ich einen weile gesucht. und erst kurz vorher gefunden. Trotzdem danke.

I`// Biblio­thek ein­bin­den

include <SoftwareSerial.h>

// Zuord­nung von RX und TX: TX -> 2, RX -> 3
SoftwareSerial mySerial (2,3)

#include "PMS.h"

PMS pms(mySerial);
PMS::DATA data;

void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
delay(3000);
Serial.print("Versucht Daten vom PMS5003 zu lesen");
}

void loop()
{
if (pms.read(data))
{
Serial.print("PM 1.0 (ug/m3): ");
Serial.println(data.PM_AE_UG_1_0);

Serial.print("PM 2.5 (ug/m3): ");
Serial.println(data.PM_AE_UG_2_5);

Serial.print("PM 10.0 (ug/m3): ");
Serial.println(data.PM_AE_UG_10_0);

Serial.println();

}

// Do other stuff...
}`

Aber es kommt immer der Fehler: "Compilation error: 'PMS' does not name a type"

Ich weiß damit leider als Anfänger nichts anzufangen.

bei D0 und D1 hat er an diesen Stellen nicht gemeckert

Also das Ding will unbedingt Hardware Serial.
nur warum macht er das bei mir nicht welche PMS lib hast du ?
in dem PMS Ordner ist library.properties kopiere den Inhalt hier

PMS_Library

image

fony, welche hast du genommen?