Show Posts
Pages: 1 [2] 3 4
16  International / Deutsch / Re: Wechselnde Stromquelle und Akku (Notstrom) automatisch Laden on: March 22, 2014, 01:24:53 pm
Wow. Ist ja schonmal ein ganz schöner unterschied..

Meinen Arduino Uno verwende ich ohne hin nur als kleineren WebServer, der dann eventuell Daten sammelt. Mal schaun smiley-wink Der hat zumindest kein Strom Problem. Ins Motorrad einbauen würde ich wenn überhaupt einen Arduino Pro mini. Und dieser Besitzt keinen USB to Serial Chip, aber eine LED.

Die Seite ist ja wirklich der Hammer! Die schau ich mir mal genauer an wo ich da alles Strom Sparen kann smiley Und mittels Relay schalte ich dann erst bei bedarf alle externen Quellen an..
Denkst du es ist ein Vorteil die externe I2C Clock laufen zu lassen und alle Timer am arduino selbst auszumachen oder Timer0 auf dem Pro mini laufen zu lassen und so gezielt aufzuwachen??

denke, dass die Pro Minis schon mal einen enormen Stromunterschied haben imgegensatz zum Uno board. Wenn ich dann auch einen Akku habe der mir 9V liefert, kann ich wahrscheinlich kaum Strom sparen durch Auslagerung?? Auf dem Pro mini ist ein Atmega328p-Au verbaut..

Die Sleep Funktion ist ja mal äußerst praktisch! Echt viiiielen vielen Dank für deinen Post! Hast mir schon mal um längen weiter geholfen smiley))

gruß mrlowalowa
17  International / Deutsch / Re: Wechselnde Stromquelle und Akku (Notstrom) automatisch Laden on: March 22, 2014, 11:44:32 am
Das ist auch eine Gute Idee! Find ich echt gut smiley

Aber kann man gleichzeitig den Akku laden und von ihm Strombeziehen?? Mein Platz ist natürlich auch begrenzt in einer kleinen 125iger... ^^

Kann man ein handelsübliches Ladegerät mit 12V betreiben? Unterspannungsschutz ist dafür, dass die der Akku nicht total ausgelutscht wird, nehme ich an? aber ich finde die Idee echt nicht schlecht! Sollte sich so realisieren lassen.

Ich müsste nur einen Umschalter haben, welcher dann meine ganzen externen Geräte vom Strom trennt, wenn ich den Arduino rund um die Uhr laufen lasse. Was ist denn wenn ich jetzt sagen wir mal eine Woche nicht den Akku auflade, weil ich nicht fahre, aber trotzdem möchte, dass der Arduino einmal Pro Tag angeht. Wie kriege ich den Geringsten Stromverbrauch? Bzw am besten natürlich keinen?

Habe mir ein i2c Real Time Clock Modul bestellt mit welchem ich ohne hin zeiten nehme. Ist es vielleicht möglich den Arduino dann mit einem Interrupt aufzuwecken und bringt das Stromtechnisch etwas? Es sollte nach Möglichkeit eben ein System sein, welches kein äußeres Zutun mehr braucht wenn es dann irgendwann einmal läuft  smiley-razz
18  International / Deutsch / Wechselnde Stromquelle und Akku (Notstrom) automatisch Laden on: March 22, 2014, 10:27:08 am
Hallo,

Ich plane ein Projekt bei dem mein Arduino über eine 12V Batterie eines Motorrades mit Strom versorgt wird. Ich möchte auf der anderen Seite den Arduino nicht die ganze Zeit laufen lassen. Daher bietet sich zum Beispiel die Möglichkeit an den Plus Pol an das Zündschloss zu schließen (d.h. Arduino wäre nur an, wenn das Motorrad läuft) und den - Pol an Masse oder Batterie - .

Jedoch will ich auch den Arduino einmal Pro tag oder mehrmals an gehen lassen. Werde an ihm auch einiges an I2C Geräten und ein GSM shild anschließen (sollte schon ein bisschen was an Strom ziehen) und wenn das Motorrad steht und somit die Batterie nicht geladen wird, wäre das eher kontra produktiv.

Daher habe ich mir überlegt, ob es möglich wäre den Arduino auf Batterie/Akku betrieb umzustellen wenn die Stromversorgung über das Zündschloss nicht mehr vorhanden ist und auf der anderen Seite sollte es Idealerweise möglich sein, diesen Akku wieder aufzuladen, während der Arduino seinen Strom von der Motorradbatterie bezieht..

Wäre eine Solche Schaltung realisierbar? Eventuell über ein Relay, das auslöst sobald Strom vom Zündschloss kommt? Ohne irgendeinen IC am besten?

Und wie sähe eine Akku aufladung aus? Oder wäre es einfacher die Akkus manuell zu laden?


Hoffe auf viele Ideen oder Meinungen ^^
Schonmal vielen Dank an euch!

Mit freundlichen Grüßen
mrlowalowa
19  International / Deutsch / Re: Antrax GPS/GSM Shield in Verbindung mit Web Server on: March 20, 2014, 04:54:56 pm
nur ... Nachricht abändern!

Zum Beispiel: https://maps.google.de/maps?q=50.11834,8.66309

Weitere Infos auf dieser Seite zu den Parametern
http://www.joerg-buchwitz.de/temp/googlemapssyntax.htm

Sehr cool! Kann ich auch für mein Projekt gut gebrauchen und wird dem Thread startet sicherlich helfen! Danke! smiley
20  International / Deutsch / Re: Antrax GPS/GSM Shield in Verbindung mit Web Server on: March 20, 2014, 12:59:36 pm
Hallo,

Interessiere mich auch für ein ähnliches Projekt. Hast du es schaffen können die GPS Daten per GPRS zu senden??
Ich denke, dass man diese simpel über eine Post URL in eine Datenbank importieren könnte und über eine Website über Java o.ä. wiedergeben kann.. ?

Mit freundlichen Grüßen
mrlowalowa

P.S.: Oh, tschuldigung! habe gerade erst gesehen, dass du die Frage erst heute gestellt hast ^^
Denke also schon, dass es über einen normalen Webserver möglich wäre eine MySQL-Datenbank aufzubauen, welche simpel über PHP mit den Daten aus deinem HTTP-Request-Form gefüttert wird.

und dann kann man diese denke ich über Java auf google earth wiedergeben. Diesen teil weiß ich leider nicht genau. Kenne mich mit Java noch nicht sogut aus.

Theoretisch kann man das auch mit einem RaspberryPi machen denke ich. Um sich jetzt nicht einen Webserver mieten zu müssen. Ein Arduino wäre mit einer Solchen Aufgabe eventuell überfordert.. (???)
21  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: October 01, 2013, 04:14:03 pm
heillichers ^^

ich verwende aus der OneWire Bibliothek lediglich Sensors.begin und Sensors.getTempCByIndex und mit weiteren Spielereien der Bibliothek habe ich mich jetzt garnicht erst befasst smiley-wink

Ich hänge zur Zeit aber leider an dem Punkt, dass ich den Sollwert der Heizung verändern will. Dazu habe ich Die Anzeige gegliedert. Einmal in eine normale Anzeige mit den aktuellen Temperaturen. Und dann soll über das drücken von zwei knöpfen über eine Sekunde hinweg ein anderes Menü aufgerufen werden, indem die Soll-Temperatur gezeigt wird und wie diese dann durch drücken des einen bzw. das anderen knopfes verändert wird. durch wiederum drücken beider Knöpfe wird der Wert dann in den EEPROM geschrieben.

Leider Hüpft mein Code Sofort in den letzten Schritt (was auf dem DIsplay noch zu sehen ist) und sagt wert gespeicher obwohl ich nicht im Menü war...

Sieht vielleicht jemand einen Fehler in meinem Code? Ich denke, dass ich vielleicht etwas in den Argumenten verpfuscht habe... Aber seht selbst! smiley

Code:
#include <EEPROM.h> //Langzeitspeicher
#include <SPI.h> // Kommunikation mit Potentiometer
#include <LiquidCrystal.h> // Display
#include <OneWire.h> // Temperatur Sensor / Bussystem
#include <DallasTemperature.h> // Temperatur Sensor / Temperaturauswertung


//Temperatur Sensoren initialisierung
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(8, 6, 5, 4, 3, 2); // Konfiguration der Anschlüsse des Displays am Arduino
int contrast = 9; // pin 3 LCD und 9 Arduino
int powerp = 50; // 0 = stark ; über ca 170 nicht mehr erkennbar ; bis 255 möglich

byte address = 0x11;
int CS= 10; //Pin für SPI-Aktivierung am Digitalem-Poti

int heat_temp, pot_pos, temp; // Soll-wert, Wert des digitalen Potis, aktuelle Temperatur
int heat_step1, heat_step2, heat_step3, heat_step4, heat_step5, heat_step6, heat_step7; // Einzelne Abschnitte für Heizung
int heat_temp_eeprom = 1; //Position des Soll-Wertes im EEPROM
int heat_new = 0; //Zum verändern des Soll-Werts
int heat_new_buttons = 0; // Beide Knöpfe wurden 1 sek gedrückt --> Menü erscheint
int block_show_setup = 0; // Nach Aktivierung des Menü's passiert nichts mehr, wenn man beide 1 Sek gedrückt hält
int get_heat_temp = 0; // Bei 0 muss der Soll-Wert der Heizung erneut abgefragt werden und Schritte für Heizung generiert werden
int relay_heat = A0; // Analoger Ausgang als Digitalen Ausgang vordefinieren
int relay_peltie = A1; // Sicherungs Relay für das Peltieelement und Lüfter
int button_up_pin = A2; // Taster um Temperatur zu erhöhen /PIN
int button_down_pin = A3; // Taster um Temperatur zu erniedrigen /PIN
int button_up; // Für Statusabfrage
int button_down;
int time = 0; //Um Zeitintervalle zu erfassen / zwischenzuspeichern
int show_temp = 1; // Temperaturen am Display anzeigen: standardmäßig an
int show_setup = 0; // Soll-Wert Einstellung anzeigen: Standardmäßig aus
int lcd_counter = 0; //Zum verhindern von Störmeldungen && Geschwindigkeitsoptimierung


void setup(){
  
  pinMode(relay_heat, OUTPUT); // Heizung EIN/AUS
  digitalWrite(relay_heat, HIGH);
  pinMode(relay_peltie, OUTPUT); // Peltieelement EIN/AUS & Lüfter
  digitalWrite(relay_peltie, HIGH);
  pinMode(button_up_pin, INPUT); //Knöpfe zum einstellen des Soll-Wertes der Heizung
  digitalWrite(button_up_pin, HIGH);
  pinMode(button_down_pin, INPUT);
  digitalWrite(button_down_pin, HIGH);
  Serial.begin(9600);
  sensors.begin();
  Serial.print("Sensoren inizialisiert");
  pinMode (contrast, OUTPUT);
  analogWrite(contrast, powerp); //Kontrasteinstellung am LCD
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Nebelkammer v1.0");
  
  pinMode (CS, OUTPUT);
  SPI.begin();
  Serial.println("SPI inizialisiert");
  // adjust high and low resistance of potentiometer
  // adjust Highest Resistance .
   digitalPotWrite(0x00);
   delay(1000);
 
   // adjust  wiper in the  Mid point  .
   digitalPotWrite(0x80);
   delay(1000);
  
   // adjust Lowest Resistance .
   digitalPotWrite(0xFF);
   delay(1000);
  Serial.println("Digitaler Poti inizialisiert");
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("T1:00.00 T2:00.00");
  lcd.setCursor(0, 1);
  lcd.print("T3:00.00");
  
}


void loop(){
  button_up = digitalRead(button_up_pin);
  button_down = digitalRead(button_down_pin);
  if(block_show_setup == 0){
    if(button_up == LOW && button_down == LOW){ // Beide müssen gedrückt sein
      if(time == 0){
        time = millis();
       }
       if(millis() - time > 1000){ // Wenn beide eine Sekunde gedrückt wurden schaltet das Display auf das Setup-Menü um
         show_temp = 0;
         show_setup = 1;
         block_show_setup = 1;
         time = 0;
       }
   }
   if((button_up ==LOW) || (button_down == LOW) || (button_down == LOW && button_up == LOW)){
     time = 0; //Zurücksetzten des Zeitintervalles, falls nicht beide Knöpfe gedrückt wurden
   }
  }
  Serial.println("Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");
  
  if ((sensors.getTempCByIndex(0) || sensors.getTempCByIndex(1) || sensors.getTempCByIndex(2) == -127.00){
    
  }
  
  if (show_temp == 1){
    // Temperaturen am Display ausgeben
    if(lcd_counter == 20){ // um Störsignalen entgegenzuwirken
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("T1:00.00 T2:00.00");
      lcd.setCursor(0, 1);
      lcd.print("T3:00.00");
      lcd_counter = 0; //Zähler zurücksetzten
      Serial.println("LCD Counter zurückgesetzt");
    }
    lcd.setCursor(3, 0);
    lcd.print(sensors.getTempCByIndex(0));
    lcd.setCursor(12, 0);
    lcd.print(sensors.getTempCByIndex(1));
    lcd.setCursor(3, 1);
    lcd.print(sensors.getTempCByIndex(2));
    Serial.println("Temperaturen ausgegeben");
    Serial.println("");
    lcd_counter = lcd_counter ++;
    Serial.println("LCD Counter:");
    Serial.print(lcd_counter);
    Serial.println("");
  }
  
  if(get_heat_temp == 0){
  heat_temp = EEPROM.read(heat_temp_eeprom); //auslesen des Soll-Werts aus dem nichtflüchtigem Speicher
  heat_step1 = heat_temp - 10;
  heat_step2 = heat_temp - 7;
  heat_step3 = heat_temp - 5;
  heat_step4 = heat_temp - 2;
  heat_step5 = heat_temp - 1;
  heat_step6 = heat_temp + 1;
  heat_step7 = heat_temp + 5;
  get_heat_temp = 1;
  }
  
  if (show_setup == 1){
    if(heat_new == 0){
      heat_new = heat_temp;
      heat_new_buttons = 1;
    }
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Soll-Wert:");
    lcd.print(heat_temp);
    lcd.setCursor(0, 1);
    lcd.print("Neu:");
    lcd.print(heat_new);
  }
  
  if (heat_new_buttons == 1){
    if(button_up == LOW){
      heat_new = heat_new ++; // erhöhen der Temperatur um 1°C
      delay(500); //Zeit zum Loslassen
    }
    if(button_down == LOW){
      heat_new = heat_new --; // erniedrigen der Temperatur um 1°C
      delay(500); //Zeit zum loslassen
    }
    if(button_down == LOW && button_down == LOW){
      heat_new_buttons = 0; //Knöpfe wieder ohne funktion
      show_setup = 0; // Setup-Menü verschwindet
      show_temp = 1; // Aktuelle Temperatur wird angezeigt
      EEPROM.write(heat_temp_eeprom, heat_new); // neuen Wert im EEPROM im Block 1 gespeichert
      heat_new = 0; // zurücksetzen der Variable, falls die Temperatur erneut verändert werden soll
      get_heat_temp = 0; //neuer Soll-Wert muss vom System geladen werden, Steps generieren
      block_show_setup = 0; // Menü zum Einstellen kann wieder eingestellt werden.
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Einstellungen");
      lcd.setCursor(0, 1);
      lcd.print("gespeichert");
      delay(750);
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("T1:00.00 T2:00.00");
      lcd.setCursor(0, 1);
      lcd.print("T3:00.00");    
    }
  }
  
  temp = sensors.getTempCByIndex(3); // Abrufen der aktuellen Temperatur
  
  
  if(temp<=heat_step1){
    pot_pos = 255;
  }
  else if(temp<=heat_step2 && temp>heat_step1){
   pot_pos = 200;
  }
  else if(temp<=heat_step3 && temp>heat_step2){
   pot_pos = 180;
  }
  else if(temp<=heat_step4 && temp>heat_step3){
   pot_pos = 150;
  }
  else if(temp<=heat_step5 && temp>heat_step4){
   pot_pos = 127;
  }
  else if(temp<=heat_step6 && temp>heat_step5){
   pot_pos = 90;
  }
  else if(temp<heat_step7 && temp>heat_step6){
   pot_pos = 30;
  }
  else if (temp>= heat_step7){
   relay_heat = HIGH; // Verbindung der Heizspannung wird unterbrochen --> Kühlung, HIGH weil so weniger Strom verbraucht wird
   pot_pos = 0;
  }
  
  if (relay_heat == HIGH && temp < heat_step7){
    relay_heat = LOW;
  }
  
  digitalPotWrite(pot_pos);
  delay(10);
}

int digitalPotWrite(int value)
{
  digitalWrite(CS, LOW);
  SPI.transfer(address);
  SPI.transfer(value);
  digitalWrite(CS, HIGH);
}

MfG
mrlowalowa
22  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: September 17, 2013, 10:34:08 am
Wenn Kosten relevant sind: wieso nicht mit 8MHz und ohne Quarz laufen?

weil der Arduino einiges zu tun hat.. Allein für den Temperaturfühler Dallas DS18B20 bin ich mir nicht sicher ob ein so niedriger Tackt ausreichen würde. Desweiteren wird gleichzeitig noch ein LiquidCrystal Display betrieben, ein Relay als sicherung für Peltieelemente (die bei Überhitzung defekt gehen würden und daher abgeschaltet werden müssen) und Lüfter und zu guter letzt eine Digitaler-Poti für die Versorgungsspannung einer "Widerstand"-Heizung. Da ich die Heizung auch noch aus den Temperaturen generieren muss denke ich, dass der ATmega einiges zu tun hat und die richtige Frequenz nicht unbedingt schadet smiley-wink

Aber danke für den Tipp smiley
23  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: September 15, 2013, 09:39:56 am
fehler gefunden.... smiley-roll

Auf der Laborplatine war auf dem Foto mit der roten LED unten die "+" ---- "-" Leiste kurzgeschlossen...!!!!!!!  smiley-mad smiley-mad smiley-mad

So ein dreck.. powered by chinesischer Bucht...



Trotzdem vielen vielen dank euch allen.. Auf sowas wäre ich echt nicht gekommen... Alles Stückweise abgemacht und geschaut wann die Spannung abfällt. Irgendwann waren keine teile mehr da.. Ich dachte mir nur.. WTF?!?!?!?

Gruß
mrlowalowa
24  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: September 15, 2013, 07:47:04 am
Soo.. hab mal die Standalone von der Seite hier probiert. Erster Erfolg. Die Power LED war an *___* (aber ohne arduino...)

Arduino haar genau so angeschlossen wie in der Tutorial und es leuchtet keine LED mehr.

Wie kann ich den Arduino auf einen Kurzschluss prüfen???


Wenn ich Ihn in meinen Arduino Uno einsetzen würde.. Sehe ich dann ob er geht oder laufe ich hier gefahr meine Hardware zu zerschießen?? Meinen eigentlichen Uno Chip möchte ich jetzt nicht einbauen, da ich mir nicht sicher bin, ob ich diesen dann auch noch schießen würde..

Kann es sein, dass der "Quarz" nicht schwingt und so einen Kurzschluss verursacht??
25  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: September 15, 2013, 07:10:21 am
Hallo,


ich hab jetzt mal mit einem Labor netzteil versucht 5 V anzulegen. Jedoch fällt die Analoge nadel bei gleichen EInstellungen sofort auf 0V wenn ich es anschließe. Das schaut ganz stark nach einem Kurzschluss aus.

jetzt habe ich mal Spaßeshalber nur den Spannungsstabilisator mit den 2 Kondensatoren und einer LED angeschlossen.. Die LED Leuchtet immer noch nicht. Eventuell Sind schon die Kondensatoren kaputt?? Jemand eine Idee wie ich diese überprüfen kann??

Gruß mrlowalowa
26  International / Deutsch / Re: Arduino auf eigene Platine übertragen on: September 13, 2013, 12:14:51 am
Morgen, Danke für deine Antwort!

Die Versorgungsspannung ist bei mir über 7 V gewesen. (Gleichstrom soweit ich das beurteilen kann Bzw eine 9 V Batterie)

ergibt irgendwie sinn.. smiley-grin

Ich habe hier noch eine alte platine Rumliegen. Da sind auch solche Keramikkondensatoren drauf mit dem aufdrock 104 (gleicher aufdruck bei denen aus dem Set sprich 100nF). Dieses sind jedoch fast doppelt sogroß. Haben die dann auch 100nF? weil dann hätte ich auch schon meine 5 Kondensatoren smiley

Das Projekt zahle nicht ich sondern die Schule, die mich mit dem Projekt beauftragt hat. Und die möchte nunmal sparen wo es geht... smiley-wink Ich würde da auch einfach meinen Arduino Uno rein klatschen und hätte keine Bauchschmerzen mit.. aber naja. smiley-wink

Vielen Dank schonmal! smiley

Gruß
mrlowalowa
27  International / Deutsch / Arduino auf eigene Platine übertragen on: September 12, 2013, 05:02:52 pm
Hallo alle zusammen,

ich habe ein Projekt, bei dem es wichtig ist, den Arduino aus kosten Gründen auf das wesentliche zu reduzieren. Außerdem möchte ich meinen Arduino gerne weiter für Experimente etc verwenden.

Dafür habe ich mir ein Set aus der Bucht (ebay) bestellt, welches einen ATmega328P-Pu und laut Beschreibung die nötigen Bauteile beinhaltete um ihn ohne weiteres zu tun zu betreiben.

Teile Liste:
  • 1x Mosfet (bezeichnung von Chip: L780u5CV (erste Zeile)
  • 330 Ohm für "Power"-Led und 100k für Reset taster + taster
  • einen 100 uF, einen 10 uF Kondensator
  • 2x 22pF
  • 2x 100pF Keramikkondensatoren
  • einen Quarz (denke ich zumindest) für die Takt angabe

Vorweg. Kann das System so überhaupt klappen?

Habe einen freien Schaltplan dazu bekommen. Auf dem Waren auch schön gezeigt wie der Mosfet angeschlossen werden muss (Pinbelegung) und hat auch eigentlich keine Abweichungen von der CAD zeichnung eines Arduino Uno's (vom grundgerüst ausgehend).

Auf dem Schaltplan ist jedoch nur einer der 100pF Keramikkondensatoren eingezeichnet.

Ich habe meines Wissens genau nach plan gearbeitet und die Power LED leuchtet nicht. Was für mich ein Indiz ist, dass irgendwas falsch ist.
Habe auch schon mal die LED mit dem wiederstand überprüft. Außerhalb des Systems kein Problem.
Die restlichen Wiederstände scheinen auch zu funktionieren.

Wie ich jedoch den Rest der Teile überprüfen kann ist für mich nicht recht ersichtlich.


Ich habe auch ein paar fotos von euch gemacht. Vielleicht sieht jemand auf den ersten Blick, dass ich mich irgendwo verschalten hab, etc.

Wäre echt cool wenn mir jemand helfen könnte! smiley

mfg
mrlowalowa
28  International / Deutsch / Re: Neuer mit Fragen Querbeet on: June 15, 2013, 11:28:45 am
einfache methode um deinen EEprom zu erweitern ist weitere Microchips (IC's) zu verwenden.

So kannst du deinen Arduino als Herzstück verwenden und dann Daten darüber austauschen und in anderen CHips bearbeiten lassen. Das schafft auch gleich zusätzliche i/o ports.

Wegen dem LCD-Shild würde ich mir keine großen sorgen machen. Kannst du ja einfach mal neu zuweisen wie es mit den Pins so aussieht.
Was da ziemlich sicher geht ist die pins ohne das ~ zu versetzten. mit ~ kann es sein, dass der pin quasi ein analoges Signal ausgibt. Das bezweifle ich aber bei den Digitalen pins für das LCD board.. Ist nur meine Meinung dazu.

Taster kannst du praktisch 6 stück Analog und so viele anschließen wie du digitale ports frei hast. Das kommt ganz auf die taster an. vielleicht findest du auch ein Bussystem für taster. so kannst du dann recht viele (ca 128 stück) an nur einen digitalen Pin anschließen.
Vielleicht bietet dir der I2C Bus da was.


10 und 9 bieten unter anderem PWM unterstützung. Das ist eben die schon angesprochene simulierte ausgabe eines ANalogen Signales zwischen 0 und 255.

Hoffe, dass ich dir ein bisschen weiterhelfen konnte. Bei allen anderem kann ich dir jetzt nicht direkt weiterhelfen bzw nicht sehr kompetent.
Viel Glück und spaß noch mit deinem Arduino! smiley-wink
29  International / Deutsch / Re: versch. Arrays dynamisch ansprechen on: June 15, 2013, 11:16:25 am
Hey cool,

Hab die Funktion gerade auch per zufall gefunden, während ich in den beispiel Sketches geforstet habe.

Den Beispiel Code kurzerhand in das hier abgewandelt und ich bekomme das was ich wollte:

Code:
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 7

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
int i;

void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();
}

void loop(void)
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");
  for(i = 0; i<11; i++){
    Serial.print("Temperature for the device");
    Serial.print(i);
    Serial.print (" (index ");
    Serial.print(i);
    Serial.print(") is: ");
    Serial.println(sensors.getTempCByIndex(i));
  }
  Serial.println("");
 
  delay(1000);
}


Die frage ist nur, ob der index immer bleibt? wenn ich jetzt zum Beispiel zu jedem sensor mit einem kabel einzeln hingehe(sternförmig) und am datenpin die Sternformation endet.. wie weiß ich dann welcher Sensor welchen index hat?

Oder sollte ich einfach versuchen ein kette zubilden. Das letzte Glied ist dann sozusagen der höchste Index?
30  International / Deutsch / Re: versch. Arrays dynamisch ansprechen on: June 15, 2013, 10:48:23 am
Maverick1509 hat mich glaub ich am besten verstanden. ^^

jurs hat mich auch verstanden aber klappt das ja leider nicht, da ich mit int i nicht auf den Array mit der Nummer zugreifen kann, welche dann in die andere Funktion umgeleitet wird.


Wusste garnicht, dass man einem array ganze Funktionen zuordnen kann. Das probiere ich gleich einmal aus.
Wenn ich dann eure beiden kombiniere ist es quasi perfekt.

So läuft i nämlich immer durch und ruft gleichzeitig die passende Temperatur dazu auf.



Was ich eigentlich versucht hatte war einen Namen eines Arrays zu modifizieren. Quasi Name = termo

abrufen = Name "+"(erweitern um) i
Was dann eben thermo0 oder thermo1 etc ergeben sollte. Und das sollte dann nicht nur einen Namen ergeben, sondern den "Array" repräsentieren. dabei fällt mir gerade auf, dass die device Adressen garkeine Arrays sind aufgrund des fehlenden []...

Ich probiere jedoch nun mal mavericks lösungsansatz durch smiley

Für weitere Ideen bin ich gerne offen und danke schonmal!
Pages: 1 [2] 3 4