Pages: 1 2 [3]   Go Down
Author Topic: Alarmanlage  (Read 3217 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

Ich habe 820 Ohm vorgeschaltet ohne Erfolg.
Spannungsfolger mit einem Operationsverstärker habe ich nicht zur Hand.

Gruss savana
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

habe mir vor lauter Verzweiflung  einen Arduino Mega 2560 von einem Bekannten ausgeliehen.
Und siehe da es funktioniert.
Uwe kann es sein das der Bootloader im Arduino UNO etwas hat.
Vor ein paar Tagen wollte der Arduino UNO den Bootloader laden ,ist dann aber willkürlich abgebrochen beim laden.
Muss dieser vielleicht richtig nachgeladen werden.Wenn ja wie?

Sorry für die Umstände Uwe und besten Dank für Deine Hilfe.

@ All       nochmals vielen Dank für den Support .

Gruss savana
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3501
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Bootloader ist sowieso eine ständige Kummerquelle. Wenn es nicht auf jeden Euro ankommt, dann kauf Dir einen ISP. Den AVR ISP MK II gibt's schon unter 30 Euro (inkl. Versandkosten) http://de.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6962563. Damit lassen sich alle Bootloader Probleme nachhaltig umgehen und außerdem wird das Flashen dadurch schneller.
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Udo,

vielen Dank für die Info bzw.URL

Mich würde noch interessieren wie ich den Bootloader auf einen Atmega168 oder 328 lade, und
woher beziehe ich den diesen Bootloader.
Somit kann ich in Zukunft diese Kummerquelle umgehen.
Das wäre eine prima Sache.

Vielen Dank vorab.

Gruss savana
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3501
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das steht im Playground beschrieben. Der Witz dabei ist: Du brauchst einen ISP um den Bootloader zu brennen. Wenn Du einen ISP hast brauchst Du aber keinen Bootloader mehr. Es gibt auch Tricks um den Bootloader ohne ISP zu flashen, aber das nervt. Wie es geht steht im Playground.
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Udo,

besten Dank für die Information.

Gruss savana
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 272
Posts: 21940
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

habe mir vor lauter Verzweiflung  einen Arduino Mega 2560 von einem Bekannten ausgeliehen.
Und siehe da es funktioniert.
Uwe kann es sein das der Bootloader im Arduino UNO etwas hat.
Vor ein paar Tagen wollte der Arduino UNO den Bootloader laden ,ist dann aber willkürlich abgebrochen beim laden.
Muss dieser vielleicht richtig nachgeladen werden.Wenn ja wie?

Sorry für die Umstände Uwe und besten Dank für Deine Hilfe.

@ All       nochmals vielen Dank für den Support .

Gruss savana
Ich bezweifle, daß der Bootloader Grund für Dein Problem ist, es sei denn Du kannst den Sketch nicht hochladen und findest noch den vorigen Sketch geladen.
Der Bootloader kontrolliert nach einem Reset ob über die USB_schnittatelle ein Sketch hochgeladen werden soll und läd ihn hoch. Danach, oder falls keines hochgeladen wird, springt er zum gespeicherten Sketch und wird nicht mehr aufgerufen.
Der Sketch ist eigentlich zu klein um Probleme mit der Größe des vorhandenen RAMs zu haben.
Grüße Uwe
« Last Edit: July 10, 2011, 02:57:43 pm by uwefed » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Uwe,

aus irgend einem Grund, warum auch immer hat es nach dem tausch Arduino Mega 2560 funktioniert.
Habe übrigens einen anderen Arduino UNO zum testen genommen da funktioniert es auch.Gleicher Sketch!!
Es ist nur seltsam das der scheinbar defekte Arduino UNO einen Upload zu lässt, mir aber danach genau den gleichen Fehler wie schon beschrieben zeigt.
Ich kann es mir selber nicht erklären.
Werde versuchen nächste Woche den Bootloader in den scheinbar defekten Arduinio zu laden .
Dann werde ich sehen ob es so ist. Oder er hat eine Elektronischen defekt.

Danke für deine Hilfe.

Gruss savana
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo werte Arduino Gemeinde,

habe  den Alarmanlagen Sketch ein wenig erweitert.

1.   Habe eine Alarmzeit hinzugefügt, wenn einer der beiden Linien(Schleifen) Ohmisch
        verändert  werden wird ein Alarm ausgelöst je nach dem welche Zeit eingestellt ist.

2.   Der Signalgeber ist diesmal ein Globaler Ausgang , egal welcher der beiden Linien Auslössen,
        wird nur dieser angesprochen.

3.   Möchte ich weitere Funktionen einbauen

     a.   Eine Schärfung (über einen Taster) die über einen Eingang (Schalt Impuls von 1sec.) (Digitaler Eingang 7)
        aktiviert wird , die aber erst dann aktiviert werden kann wenn alle Linien in Ruhe sind.
        Wenn das der Fall ist soll für 3 sec. eine Scharfschalt Quittierung schalten (Digitaler Ausgang 11 )
        Wenn die Schärfung nicht möglich ist weil einer der Linien nicht in Ruhe sind, soll der gleiche Ausgang 11 eine
        negativ Quittierung  3 mal Hintereinander im 0.5 sec Takt schalten.

     b.   Ist die Alarmanlage geschärft und es kommt zu einem Alarm muss der Globale Signalgeber (LED) leuchten

     c.   Wenn dann unscharf geschaltet wird über einen 2ten Taster(Schalt Impuls von 1sec.) (Digitaler Eingang 6)
        wird der Signalgeber Abgeschaltet.
    
Habe zu Punkt 3 noch keinen richtigen Ansatz gefunden vielleicht hat jemand eine Idee bzw. Ansatz dazu.

Aktuellen Sketch füge ich hinzu.


Code:

/*******************
*   Alarmanlage    *
********************/
int StatusEingang1 = 0;  //Variable zum speichern des eingelesen Wertes
int ledPinAlarm = 13;    //Variable LED1
int Alarmlinie1 = A0;    //Mittlerer Anschluss Pin des Poti an Analog PIN A0
int val1 = LOW;
unsigned long ledMillis = 0;

int StatusEingang2 = 0;  //Variable zum speichern des eingelesen Wertes
int ledPinAlarm2 = 12;   //Variable LED2
int Alarmlinie2 = A1;    //Mittlerer Anschluss Pin des Poti an Analog PIN A1
int val2 = LOW;
unsigned long led2Millis = 0;

void setup()         // Initialisierung
{                            
 //pinMode(ledPinAlarm,OUTPUT);  // LED-Pin13 als Alarm Ausgang 1
 pinMode(ledPinAlarm2,OUTPUT);   // LED-Pin12 als Globaler Alarm Ausgang
 Serial.begin(9600);
}

void loop()           // Endlosschleife
{
  StatusEingang1=analogRead(Alarmlinie1);   // Status eingang1 wird eingelesen, Widerstandswert
  StatusEingang2=analogRead(Alarmlinie2);   // Status eingang2 wird eingelesen, Widerstandswert
  val1=digitalRead(ledPinAlarm);
  val2=digitalRead(ledPinAlarm2);
  //Serial.println(StatusEingang1);
  Serial.println(StatusEingang2);
  
 /******** 1te Abfrage Linie 1  ***********************************************************************************/
  if (StatusEingang1 <400 || StatusEingang1>620 || val2 == HIGH && led2Millis == 0) // Abfrage ob kleiner oder größer Wert 512 (Spannung ca.2,5V)

  {
     digitalWrite(ledPinAlarm2, HIGH);   // Alarm LED einschalten für Zeit x
     led2Millis = millis();
     //Serial.println(StatusEingang1);
  }
  else if (led2Millis + 3000 < millis())
  {
     digitalWrite(ledPinAlarm2, LOW);   // Alarm LED Aus
     led2Millis =0;
     //Serial.println(StatusEingang1);
  }
  
 /******** 2te Abfrage Linie 2 ***********************************************************************************/
  if (StatusEingang2 <400 || StatusEingang2 >620) //&& val2 == HIGH && led2Millis == 0) // Abfrage ob kleiner oder größer Wert 512 (Spannung ca.2,5V)
  {
     digitalWrite(ledPinAlarm2, HIGH);   // Alarm LED einschalten für Zeit x
     led2Millis = millis();
     //Serial.println(StatusEingang2);
  }
  else if (led2Millis + 3000 < millis())
  {
     digitalWrite(ledPinAlarm2, LOW);   // Alarm LED Aus
     led2Millis =0;
     //Serial.println(StatusEingang2);
  
  }
  
}



@  Uwe

SPI Programmer bekomme ich Ende der Woche werde dann den Bootloader auf den scheinbar defekten Arduino UNU laden.

Besten Dank vorab

Gruss savana













 
« Last Edit: July 11, 2011, 02:39:58 pm by savana » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 272
Posts: 21940
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Einige Definitionen:  smiley-wink smiley-wink
SPI ist Serial Peripheral Interface
http://de.wikipedia.org/wiki/Serial_Peripheral_Interface
die Programmierschnittstelle für den Controller heißt ISP oder ICSP
ISP In-System-Programmierung ICSP In Circuit System Programmierung
http://de.wikipedia.org/wiki/In-System-Programmierung
Grüße Uwe
« Last Edit: July 11, 2011, 04:29:18 pm by uwefed » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke für die Info.
Habe mich verschrieben, meinte ISP.

Gruss savana
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 272
Posts: 21940
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wußte ich doch, aber manchmal machts Spaß meinen Senf dazuzugeben.  smiley-wink smiley-wink smiley-wink
Gute Nacht Uwe
Logged

Pages: 1 2 [3]   Go Up
Jump to: