Show Posts
Pages: 1 [2] 3 4 ... 6
16  International / Deutsch / Re: fio v3 und loggen über spi on: February 16, 2014, 05:31:12 am
Hallo,

wenn ich das Pinout von Sparkfun richtig interpretiere, ist diese Beschaltung falsch
logger -> fio v3
MOSI -> 16
MISO -> 17
CLK -> 15
CS -> 14
es müsste eigentlich diese sein:
logger -> fio v3
MOSI -> 16
MISO -> 14
CLK -> 15
CS -> 17

Gruß Ardubu
17  International / Deutsch / Re: Virtualwire und erweitertes Ambilight on: February 11, 2014, 03:43:42 am
Hallo dapeace,
wie sieht denn deine Ausgabe von Serial.print(buf) aus?
18  International / Deutsch / Projektvorstellung Regelung Fussbodenheizung on: February 10, 2014, 08:35:10 am
Hallo,
ich wollte mal kurz mein Projekt Einzelraumregelung für Fußbodenheizung vorstellen.
Da ich vor knapp 30 Jahren leider keine Kabel von den einzelnen Räumen zur Heizungsanlage verlegt habe, mußte ich jetzt alles mit Funksendern ausstatten. In den Sendekisten ist ein DS18B20, ein Poti zum Ändern der Raumtemperatur um +/- 5K, sowie ein billiger 433MHz Sender. Übertragen wird die ist-Temperatur, die eingestellte Temperaturdifferenz, die Batteriespannung, sowie eine ID für jeden Sender.
Auf der Empfangsseite habe ich einen billigen Empfänger, eine DS3231, sowie ein 8-fach SSR Relais Board an einem Pro Mini mit denen ich 8 Thermoelektrische Stellantriebe 230V NC ansteuere. Ich brauche bei mir keine Mischersteuerung und keine Außentemperatur abhängige Regelung, da das bereits meine Heizungsanlage macht.
Vielleicht hat jemand von euch ähnliche Probleme und kann die Regelung gebrauchen.
LG
Ardubu

Code:
/*ATtiny_DS18B20_1_Funk_Sender_ID_VBat_T_delta.ino
  Attiny Core Files von hier:https://code.google.com/p/arduino-tiny/
  Bevor das Programm auf den Attiny übertragen wird, muß der Bootloader installiert werden
  um den Attiny auf 8MHz zu Fusen
  5974 Bytes
  Bu.Kli.
  09.02.2014
Belegung des Attiny:
   1  (SS)PB5  |  \/  |  Vcc         8
   2 ADC3 PB3  |      |  PB2 (SCK)   7
   3      PB4  |      |  PB1 (MISO)  6
   4      GND  |      |  PB0 (MOSI)  5
8k Falsh, 512Bytes Ram
*/
#include <OneWire.h>
#include <VirtualWire.h> // bei verwendung von VirtualWire.h und JeeLib.h, die crc16.h
#include <JeeLib.h>      // von C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\util nach
                         //C:\Program Files (x86)\Arduino\libraries\VirtualWire\util kopieren
                         //und vorher die bestehende Datei umbenennen.

#undef abs
#undef double
#undef round

ISR(WDT_vect) {Sleepy::watchdogEvent();}
 
#define tx_Pin PB1 //auf dem ProMini 12
#define dallas_Data_Pin PB4 //auf dem ProMini 9
#define T_delta_Pin PB3 //auf dem ProMini 14
#define schlafzeit 39000 //zeit in ms, die der MC schlafen soll
char ID[5]="ID01"; //muß für jeden Sender fortlaufend einzeln vergeben werden von 00 bis xx
char UBat[5];
char Temp_ist[5];
char Temp_delta[5];
char line[22];
byte i;
byte present = 0;
byte data[12];
byte addr[8];
int T_ist;
int T_delta;

OneWire  ds(dallas_Data_Pin);
//___________________________________________________________________________________________________________________
int readVcc() {
  bitClear(PRR, PRADC); ADCSRA |= bit(ADEN); // AD-Wandler einschalten
  long result;
  // Read 1.1V reference against Vcc
  #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
    ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
    ADMUX = _BV(MUX5) | _BV(MUX0);
  #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
    ADMUX = _BV(MUX3) | _BV(MUX2);
  #else
    ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); //ATmega328
  #endif 

  delay(5);
  ADCSRA |= _BV(ADSC);
  while (bit_is_set(ADCSRA,ADSC));
  result = ADCL;
  result |= ADCH<<8;
  result = 1073434L / result;
  ADCSRA &= ~ bit(ADEN); bitSet(PRR, PRADC); // AD-Wandler ausschalten um Strom zu sparen
  return result;
}
//______________________________________________________________________________________________________________________
 void setup(void) {
   analogReference(INTERNAL);
    DDRB=6;//PB1 + PB2 als Ausgang setzen
    vw_setup(2000);
    vw_set_tx_pin(tx_Pin);
  }
//_______________________________________________________________________________________________________________________
void loop(void) {
   
 
   PORTB=4;//PB2 auf High setzen
   bitClear(PRR, PRADC);
   ADCSRA |= bit(ADEN); // AD-Wandler einschalten
   delay(5);
   T_delta=analogRead(T_delta_Pin);
   ADCSRA &= ~ bit(ADEN); bitSet(PRR, PRADC); // AD-Wandler ausschalten um Strom zu sparen
   
    //Dallas DS18B20 auslesen
    if ( !ds.search(addr)) {
    ds.reset_search();
    return;}
    ds.reset();
    ds.select(addr);
    ds.write(0x44,0);  // 0=ohne 1=mit parasite power
    delay(750);        // vielleicht sind 750ms genug
    present = ds.reset();
    ds.select(addr);   
    ds.write(0xBE);             
    for ( i = 0; i < 9; i++) {   
    data[i] = ds.read();}
    T_ist =  ((data[1] << 8) + data[0] );
      //Umwandlung Integer zu Char
      itoa(readVcc(),UBat,10);
      itoa(T_ist,Temp_ist,10);
      itoa(T_delta,Temp_delta,10);
        //Sendestring aufbereiten
        strcpy(line,ID);
        strcat(line,",");
        strcat(line,UBat);
        strcat(line,",");
        if (T_ist<1000){strcat(line,"0");}
        if (T_ist<100){strcat(line,"0");}
        if (T_ist<10){strcat(line,"0");}
        strcat(line,Temp_ist);
        strcat(line,",");
        if (T_delta<1000){strcat(line,"0");}
        if (T_delta<100){strcat(line,"0");}
        if (T_delta<10){strcat(line,"0");}
        strcat(line,Temp_delta);
    //Senden
    vw_send((uint8_t *)line, strlen(line));
    vw_wait_tx();     

    PORTB=0;//alle Ausgänge auf 0 setzen
      Sleepy::loseSomeTime(schlafzeit);  //Schlafzeit in ms max 60000
   
}

19  International / Deutsch / Re: Fehler: invalid conversion from const char* to unit8_t on: February 02, 2014, 11:42:55 am
Hallo Rudi,
warum benutzt du an einigen Stellen lcd.write statt lcd.print? z.B. Zeile 162
Das Grad Zeichen ist lcd.write (223)
20  International / Deutsch / Re: zweidimensionales Array on: January 31, 2014, 06:28:34 pm
Hallo Serenifly,
vielen Dank, es funktioniert. Zusatzfrage: kann man hinterher noch Zeilenweise die Werte in´s Array schreiben?
21  International / Deutsch / zweidimensionales Array on: January 31, 2014, 05:50:29 pm
Hallo,
ich versuche im Moment ein zweidimensionales Array zu deklarieren und mit int Werten zu füllen, was leider nicht funktioniert.
Code:

#define az 8 //Anzahl der Heizkreise
#define sz 2 //Anzahl der Schaltzeiten je Heitzkreis

//int zeiten[az][sz];//Einschaltzeit, Ausschaltzeit
int zeiten[0][sz]={930,2130};
int zeiten[1][sz]={800,2200};

void setup()
{
  Serial.begin (9600);
}

void loop()
{
  Serial.println(zeiten[0][0]);
  Serial.println(zeiten[0][1]);
 
}
es kommt folgende Fehlermeldung:
Code:
sketch_jan31a:7: error: too many initializers for 'int [0][2]'
leider kann ich mit der Fehlermeldung nichts anfangen. Vielleicht kann mir jemand auf die Sprünge helfen.
Vielen Dank Ardubu
22  International / Deutsch / Re: Uno als AVR Programmer on: January 27, 2014, 09:51:30 am
Hallo,
der Pro Micro wird nur noch als unbekanntes Gerät erkannt.
23  International / Deutsch / Re: Uno als AVR Programmer on: January 27, 2014, 07:50:09 am
Hallo sschultewolter,
ich habe ein ähnliches Problem mit meinem Pro Micro. Nachdem ich ihn mal wieder umprogramieren wollte, wird er nach dem anstecken an USB nicht mehr erkannt. Den Treiber http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Shields/ProMicroDriver.zipvon Sparkfun habe ich runtergeladen und entpackt, aber ich bekomme ihn nicht installiert, der Rechner sagt immer, die Treibersoftware für das gerät wurde nicht gefunden. Ich habe Win8. Vielleicht kannst du mir verraten wie du den Treiber eingebunden hast.
Danke im Voraus
Ardubu
24  International / Deutsch / Re: digitalRead als Text ausgeben on: January 16, 2014, 05:47:05 am
danke Dani, wieder was dazu gelernt.
25  International / Deutsch / Re: digitalRead als Text ausgeben on: January 16, 2014, 05:02:15 am
Hallo Bohemia,

außerdem hast du die if und bei else die geschwungenen Klammern vergessen, damit wird immer  lcd.print("AN"); ausgeführt.
Gruß Ardubu
26  International / Deutsch / Re: Problem mit Virtual Wire auf ATTiny85 on: January 14, 2014, 04:32:25 pm
Hallo Jurs,
nachdem ich die Core Files aus deinem Link eingebaut habe funktioniert es. Vielen Dank
LG
Ardubu smiley
27  International / Deutsch / Re: Problem mit Virtual Wire auf ATTiny85 on: January 14, 2014, 11:54:06 am
Ich habe diesehttps://github.com/damellis/attiny installiert.
28  International / Deutsch / Re: Problem mit Virtual Wire auf ATTiny85 on: January 14, 2014, 11:09:54 am
Sorry Jurs,
das ist noch vom Pro Mini, da hatte ich den Sender an Pin 7, am Tiny hängt er am PB1
29  International / Deutsch / Problem mit Virtual Wire auf ATTiny85 on: January 14, 2014, 10:26:19 am
Hallo,
ich versuche eine Datenübertragung mit 433MHz Sender/Empfänger von einem ATTiny85 zu einem Nano hinzubekommen, leider ohne Erfolg. Von einem Pro Mini zum Nano funktioniert es einwandfrei.
Hier mein Test Sketch für den Sender:
Code:
// 433 Mhz-Sender angeschlossen an PIN 7
/*

Belegung des Attiny:
   1 (SS)PB5  |  \/  |  Vcc         8
   2     PB3  |      |  PB2 (SCK)   7
   3     PB4  |      |  PB1 (MISO)  6
   4     GND  |      |  PB0 (MOSI)  5

*/
#define txPin PB1
#define LED_Pin PB2
 
#include <VirtualWire.h>
 
#undef int
#undef abs
#undef double
#undef float
#undef round
 
void setup()
{
     
    pinMode(LED_Pin,OUTPUT);
    // Initialise the IO and ISR
    vw_setup(1000);                 // Bits per sec
    vw_set_tx_pin(txPin);           // pin 3 is used as the transmit data out into the TX Link module, change this as per your needs 
}
 
void loop()
{
   digitalWrite(LED_Pin,HIGH);
   delay(500);
   const char *msg = "Test";       // this is your message to send
 
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx();                                          // Wait for message to finish
   digitalWrite(LED_Pin,LOW);
   delay(500);
}

Die LED habe ich eingebaut um zu sehen ob der Tiny läuft.
Nach dem Übertragen des Sketches leuchtet die LED ständig mit halber Kraft und am Nano kommt nichts an.
Nehme ich aus dem Setup und der Loop die VW Sachen heraus, blinkt die LED wie erwartet munter vor sich hin.
Auf den Tiny habe ich den Booloader gebrannt und danach den Sketch übertragen.
Ich hoffe Ihr könnt mir weiter helfen. Vielen Dank im Voraus.
Gruß Ardubu
30  International / Deutsch / Re: Problem beim Upload eines Sketches >4kB auf einen Attiny 85 on: January 13, 2014, 09:00:14 am
Hallo,
das mit dem Linker war's, jetzt läuft's 7
Gruß Ardubu
Pages: 1 [2] 3 4 ... 6