Arduino nano

Bin von meinem Arduino Mega2560 R3 umgestiegen auf einen Arduino Nano möchte ich jetzt aber meinen Sketch hochladen kommt folgende Fehlermeldung (ANHANG). Board, Prozessor und Port wurde schon alles umgestellt auf Arduino Nano.

Unbenannt.JPG

Fehlermeldungen sind Texte und können problemlos in Codetags gepostet werden. Bil ist die schlechteste Variante.
Welche IDE nutzt Du? bei den aktuelleren kann man beim NANO --> Prozessor die Bootloader umschalten.

AtMega328P und AtMega328P (old bootloader)

Nimm mal den old bootloader.

Gruß Tommy

Danke für die schnelle Antwort.

Das Hochladen funktioniert nun mit dem alten Bootloader. Jedoch bekomme ich keine Reaktion auf mein Programm. Keine Ausgaben am seriell Monitor. Wenn ich mir die Boardinformation hole --> BN: Unbekanntes Board, verstehe ich nicht ganz.

Habe folgende Einstellungen vorgenommen:

Board: Arduino Nano
Prozessor: ATmega328P (Old Bootloader)
Port: COM8
Programmer: ASVRISP mkll

#define Eingang 2                             // Drehzahl-Eingang: Pin2 / Interrupt 0
#include<SoftwareSerial.h>
SoftwareSerial gsm(10,11);
const int sensorPin= 0; //sensor pin connected to analog pin A0
int liquid_level;
bool x = true;

void setup() {
  pinMode(Eingang, INPUT);                    // Eingangspin auf Eingang stellen
  digitalWrite(Eingang, HIGH);              // und Pullup-Widerstand einschalten
  pinMode(sensorPin, INPUT);
  gsm.begin(9600);
  Serial.begin(9600);
 
  // Interrupt 0 auf Routine readmicros setzen
  attachInterrupt(0, detectMagnet, FALLING);

}

void loop() {
  
wasserstand();

}


// Interrupt-Routine
// Diese Funktion wird immer dann aufgerufen, wenn ein Magnet vom Arduino erkannt wird
void detectMagnet() 
{
  gsm.println("ATD+1234567890;");  
}


void wasserstand()
{

liquid_level = analogRead(sensorPin); //arduino reads the value from the liquid level sensor
if (liquid_level>150 && x)
{
Serial.println("Es befindet sich Wasser im Schneewächter");

  
  gsm.println("AT+CMGF=1");
  delay(1000);
  gsm.println("AT+CMGS=\"+1234567890\"\r"); //replace x by your number
  delay(1000);
  gsm.println("Es befindet sich Wasser im Schneewaechter");
  delay(100);
  gsm.println((char)26);
  delay(1000);
  x=false;

}

if (liquid_level == 0)
{
   x=true;
}

  
}

[EDIT] Telefonummer aus dem Sketch entfernt. Uwe[/EDIT]

Wie sollen wir ohne Sketch dessen Funktion einschätzen? Du bist ja nicht erst seit heute hier. Neues Thema heißt auch alle Infos nochmal.

Gruß Tommy

println in einer Interrupt-Routine ist eine Todsünde.
( Dafür kam man früher™ in die Hölle :smiling_imp: )

Habe aber keine Erfahrung, ob da der Nano (328) einen kleineren Puffer als die vorige Version (2560) hat und daher empfindlicher ist.

Hat aber einwandfrei funktioniert bevor ich auf den Nano umgestiegen bin. Habe jetzt aber das Problem das ich keine Verbindung mehr zu meinem GSM Modul bekomme.

Versuch mal die GSM Geschichte außerhalb der Interruptroutine.

Außerdem sehe ich keine Notwendigkeit einen Interrupt für eine Erkennung von Wasser. auch wenn die Erkennung 1 sekunde später erfolgt ist es auch gut.

Grüße Uwe

Habe nun das Problem das ich generell einfach keine Verbindung zu meinem GSM Modul bekomme egal ob Nano oder mega. Habe meine IDE deinstalliert und noch mal neu installiert. Hatte das Problem schon einmal habe dann meinen Arduino resetet und ich konnte wieder eine Verbindung herstellen. Das Progamm dient nur zum testen des GSM Moduls.

#include<SoftwareSerial.h>
SoftwareSerial gsm(10,11);
void setup()
{
  Serial.begin(9600);
  gsm.begin(9600);
}
void loop()
{
  if(gsm.available())
  {
    Serial.write(gsm.read());
  }
  if(Serial.available())
  {
    byte a=Serial.read();
    if(a=='#')
    {
      gsm.write( 0x1a );
    }
    else
    {
      gsm.write(a);
    }
  }
}