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

Die meisten Uno nachbauten zeigen auch COM Port mit Nahmen z.B. COM6(Arduino UNO), es gibt auch UNO mit SMD Chip drauf + CH340 so wie mit China Nachbau vom Atmega328 die wider rum sind nicht voll kompatibel mit Original.

OK
...
Wieder das Hochladeproblem :frowning:
Ich hatte nichts am Code oder sonst wie verändert.
Wollte nur bevor auch den NANO wegpacke, nochmal hochladen.
Aber jetzt habe ich die gleiche Fehlermeldung wie beim UNO jetzt auch beim NANO:

Bin nun wieder ratlos

Nimm die 1.8.19 als Portable. die ZIP azf den Desktop endpacken
danach in den Ordner neuen Ordner erstellen auf portable umbenennen.
@StefanL38 hat eine Anleitung geschrieben

Was auch wichtig ist die Portable geht eigenen weg und kollidiert nicht mit der 2.xxx

Danke
Ist eine Variante. Geht aber irgendwie aus andren Grüne nicht.
Möchte aber lieber die normale Programmversion verwenden,

Das war bei dem UNO auch so. Anfangs ging alle normal. Und nach den ich ein paarmal hochgeladen habe, kam dann plötzlich dieser Fehler.

Auch beim NONO war anfangs alle in Ordnung und nun auch dieser Fehler.

Woran kann den das liegen?

Hallo,
und welche Schnittstelle nutzt der Sensor am Nano bei dem Sketch ?
Heinz

Die IDE 2.xx wird von vielen Usern in Forum nicht genutzt, die macht manchmal unerklärliche Probleme, und was sehr wichtig ist die kann noch nicht Portable und was für ESP Nutzer wichtig ist kann kein Data Upload ohne zusätzlichen Sketch.
Persönlich habe die 2.0.0 damals probiert aber das was.

Kleiner Tipp Serial Monitor schließen IDE herunter fahren, neu starten, uploaden. Erst danach SerMon starten, nicht das die blöde IDE falsch ausschaltet den SerMon vor Upload und der Blockt dein Port.
Das der Serial monitor Blockt Den COM Port passiert auch bei der 1.8.9, nur da reich den beenden.

Stecke den Sensor vor dem Hochladen vom RX und TX der CPU ab. Dann erst Spannung dran, Programm Hochladen. Dann Spannung wieder weg, RX / TX Verbindung wieder dran, dann Spannung wieder anschließen. Wenn der Sensor an RX0 / TX0 hängt, macht er beim Laden Probleme.

Und den "Tipp" soll jemand ohne Ahnung vestehen?

Wie bitte? Der TO nutzt den Serial Port D0 , D1 für sein Sketch? Ist doch Unsinn dafür gibt es Software Serial, und glaube nicht dass das Modul streikt dabei.
@unold gebe doch dein Sketch in Code Task rein du meinst wohl nicht das jemand das abschreibt aus dem Bild!

SUPER :slight_smile:
Ich habe die Tipps von Franz und von fony beachtet. Jetzt geht alles wieder.
Was von beiden oder beides ausschlaggebend war, weiß ich nicht.
Ich denke beides :wink:
DANKE :slight_smile: :slight_smile:

Habe ich doch gemacht: siehe Post 55 - da steht der Code

Jemand ohne Ahnung könnte sich Ahnung verschaffen.
Mir bringt es nichts wenn ich das lerne!
Denn ich weiß das schon.
Und für andere bringt es nichts, wenn ich das nochmal lerne.
Bussystem

Ich verfolge das Thema nicht dauernd. Nur das hier ist mir noch im Kopf gewesen, was er vor ein paar Tagen geschrieben hat. Wenn er mit Soft-Serial wo anders hin ist, dann liege ich falsch. Das was ich noch wusste war er auf 0 und 1 mit RX/TX

OK, das habe ich nicht mit verfolgt. Wenn du mit TX/RX nicht auf D0 und D1 bist, kannst du das was ich geschrieben habe vergessen.

OK :wink: ist mir nicht aufgefallen
nimm doch Software Serial dafür
versuch das der PN 2,5 mus auf D2, D3 so wie beschrieben

#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();
  }

Beim Minima und Mega brauchts das nicht.
Beim UNO und Nano schon.

Der "Heiße Tipp" von Comby, den du sicher nicht verstanden hast, zielt auf das selbe Problem ab, wie das, was ich ich geschrieben habe.
"Die Serielle ist kein Bus System" vom Comby, soll heißen du bis mit D0 und D1 (RX/TX) Parallel auf den Ports, die von der USB Schnittstelle zum Programmieren benutzt wird. Deshalb wenn man diese beiden Pins unbedingt in einem Programm benutzen will, was man vermeiden sollte, dann mußt du zumindest wenn du dein Programm reinladen willst, die RX/TX von Sensor abstecken, dass der nicht deine Kommunikation mit dem Arduino beim Programm laden stört. Also Grundsätzlich immer vermeiden die USB Pins zu benutzen, und wenn es gar nicht anders geht, dann werend des Ladens nichts auf D0 und D1 anstecken. Der Mega hat mehrere Seriale da kann man ausweichen. Wenn es nur eine Serial Schnittstelle gibt, sollte man Soft Serial benutzen, das aber auch in manchen Konstilationen Stresse macht. Also ich möchte möglichst, wenn ich die Serial Schnittstelle auf eine CPU für einen Sensor brauche, eine CPU die mehrere Serial Schnittstellen anbietet.

Franz

Hat doch letztens mit UNO und Nano getestet, Das mit Mega ist mir Bewusst.
Mit Minima habe mich nicht beschäftigt, da ich den nicht nutze.

Das hier ist der aktuelle Code (Da steht doch nichts vom Software Port 2 und 3 :wink: )

#include "PMS.h"

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

void setup()
{
  Serial.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();
  }

  // Do other stuff...
}

Und ich verwende D0 (TX1) und D1 (RX0).

Sorry nochmal, dass ich die Profis verwirrt habe :wink: