Show Posts
Pages: [1] 2 3 ... 7
1  International / Deutsch / Re: AVR ISP mkII programmierung Sketch nach Neustart weg? on: June 27, 2014, 03:26:40 pm
Jetzt hab ich noch eine Frage
gibt es die Möglichkeit den Arduino Bootloader mit meinen Sketch zu kombinieren und als Hex Datei zu exportieren?
Diese würde ich dann mit dem ISP flashen und im Bootloader sollte dann die richtige Startadresse stehen.
2  International / Deutsch / Re: AVR ISP mkII programmierung Sketch nach Neustart weg? on: June 27, 2014, 03:02:51 pm
Ich habe die Fuses mal ausgelesen BOOTSZ ist auf 00 gesetzt wurde was heißt das die komplette Flash Größe benutzt wird von 4096 (somit müsste kein Bootloader vorhanden sein) die Start Adresse ist die 1F000 jetzt ist die Frage wohin schreibt  Atmel Studio meine Daten ? Wahrscheinlich an 0x0000 oder?

Der fuse BOOTRST ist auch gesetzt ist die für die Start Adresse zuständig?
3  International / Deutsch / Re: AVR ISP mkII programmierung Sketch nach Neustart weg? on: June 27, 2014, 10:29:03 am
Hi,

bevor ich irgendwas kaputt mache:
Ich habe den Atmega2560
Allerdings benutze ich einen Externen Oszilator mit 16 MHZ den kann ich im Menüeintrag gar nicht finden.

Wenn ich die Fuses einmal setze kann ich sie auch wieder ändern? Habe mal etwas von verfusten MCU gelesen, die dann nur anders zu retten sind.
Gruß
4  International / Deutsch / Re: AVR ISP mkII programmierung Sketch nach Neustart weg? on: June 27, 2014, 09:56:05 am
Im Atmel Studio habe ich ein haken bei "Erase device before programming" kann ich dann davon ausgehen das der Bootloader mitgelöscht wird?

Was kann ich machen das nach dem Bootloader das Programm gestartet wird?

Vielleicht kann es sein das durch das setzen der Fuses der Speicherbereich in dem sich der Bootloader befindet
gegen überschreiben und erase geschützt ist?
5  International / Deutsch / AVR ISP mkII programmierung Sketch nach Neustart weg? on: June 27, 2014, 08:04:24 am
Hallo,
ich habe mir ein AVR ISP mkII besorgt damit ich meine MCU und Arduinos über die ISP Schnittstelle programmieren kann (Programmiere inzwischen über Atmel Studio aber auch über die Arduino IDE ist gleiche Phänomen zu sehen).
Es funktioniert auch, das Programm wird übetragen ich kann den AVR aus der Schnittstelle abnehmen und das Programm bleibt im MCU. Sobald ich aber den Reset Button drücke (AVR nun nicht mehr angeschlossen) oder den Arduino neustarte ist der Sketch weg? Ist das normal? Ich schreibe auf den Flash Speicher eigentlich sollte der Sketch doch weiterhin drauf sein oder verstehe ich da was falsch?

Danke für eure Hilfe!
6  International / Deutsch / Re: Dringend! Fehler bei I²C Code unter Ubuntu "Wire.write(0);" nicht möglich?!?! on: February 10, 2014, 08:38:37 am
@jurs

Danke hat geklappt und vielen Dank für die Erklärung!
7  International / Deutsch / Re: Dringend! Fehler bei I²C Code unter Ubuntu "Wire.write(0);" nicht möglich?!?! on: February 10, 2014, 08:37:11 am
Sorry änder ich gleich mal.

Code:
#include <Wire.h>

#define sensor_address 0xDC
#define sensor_reg 0x03
const int start_address = 0x00;

void setup()
{
  Wire.begin();
  Serial.begin(9600);
  Serial.println("Start logging");
}

void auslesen()
{
  float humidity;
  float temp;
 
  byte bytearray[8];
  byte zero = 0x00;
 
  Wire.beginTransmission(sensor_address);
  Wire.write(sensor_reg);
  Wire.write(zero);
  Wire.write(4);
  Wire.endTransmission();
 
  Wire.beginTransmission(sensor_address);
  Wire.write(sensor_reg);
  Wire.write(zero);
  Wire.write(4);
  Wire.endTransmission();
 
  Wire.requestFrom(sensor_address, 8);
 
  for(byte a=0; a < 8; a++)
  {
    bytearray[a] = Wire.read();
  }
 
  humidity = bytearray[2];
  humidity *= 256;
  humidity += bytearray[3];
  humidity /= 10;
 
  temp = bytearray[4];
  temp *= 256;
  temp += bytearray[5];
 
  Serial.print("Feuchtigkeit= ");
  Serial.println(humidity);
 
  if(temp< 65536)
  {
    temp /= 10;
    Serial.print("Temperatur =");
    Serial.print(temp);
  }
  else
  { 
    temp = temp-65536;
    temp /= 10;
    Serial.print("Temperatur= -");
    Serial.println(temp);
  }

  delay(1000); 
 
}

void loop()
{
  auslesen();
 
}
8  International / Deutsch / [gelöst] Fehler bei I²C Code unter Ubuntu "Wire.write(0);" nicht möglich?!?! on: February 10, 2014, 08:21:26 am
Hallo,
ich vesuche gerade ein Temperatur Sensor auszulesen.
Der Sensor ist von Ardafruit und hat die bezeichnung AM2315.
Der Sensor hat eine I²C Schnittstelle unter der ich ihn auslese.
Der Code funktioniert unter Windows einwandfrei leider aber nicht unter Ubuntu.

In der Zeile "Wire.write(0);" taucht ein Fehler auf:

Code:
sketch_feb10a.cpp: In function ‘void auslesen()’:
sketch_feb10a.cpp:27:15: error: call of overloaded ‘write(int)’ is ambiguous
/usr/share/arduino/libraries/Wire/Wire.h:55:20: note: candidates are: virtual size_t TwoWire::write(uint8_t)
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:49:12: note:                 size_t Print::write(const char*)

Jetzt ist die Frage wie löse ich das Problem.
Der Fehler tritt auch auf wenn cih die "0" als Hex oder Bin Zahl ausgebe.

Wie gesagt unter Windows läufts ohne probleme.

Gruß gibsonuser

Falls gewünscht kann ich den ganzen Code hochladen.
9  International / Deutsch / Re: Hygrochip HYT 271 defekt oder ein Fehler von mir? on: January 24, 2014, 06:26:44 pm
ok danke !
10  International / Deutsch / Re: Hygrochip HYT 271 defekt oder ein Fehler von mir? on: January 24, 2014, 03:01:56 pm
Hi,
ja hab ich gerade getan, ein Lichtsensor:
Scanning...
I2C device found at address 0x39  !
Also das funktioniert einwandfrei.
11  International / Deutsch / Re: Hygrochip HYT 271 defekt oder ein Fehler von mir? on: January 24, 2014, 02:37:43 pm
hatte keinen 4,7k widerstand zur hand deswegen der 4,3k macht ja keinen großen unterschied.
12  International / Deutsch / Re: Hygrochip HYT 271 defekt oder ein Fehler von mir? on: January 24, 2014, 02:36:55 pm
Hallo,
die Leitungen sind etwa 10 cm ich habe jetzt zwischen SDA und VDD und zwischen SCL und VDD jeweils einen 4,3k Pullup Widerstand eingesetzt leider hat das auch nicht geholfen.
Gruß
13  International / Deutsch / Hygrochip HYT 271 defekt oder ein Fehler von mir? on: January 24, 2014, 01:29:22 pm
Hallo,
ich habe bei Conrad den HYT 271 gekauft.
Zunächst wollte ich den Sensor auf Funktionsfähigkeit prüfen mit den im Internet stehenden Codes, jedoch habe ich immer seltsame konstante Werte ausgespuckt bekommen "99.99% - temp: -40.01"


Ich habe vermutet das die standardmäßige I2C Adresse geändert wurde (0x28) und habe den in der playground i2c-scanner benutzt, um die richtige i2c-adresse rauszufinden. 

Code:
// --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
//
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 0x01; address < 0x7F; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }   
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Jetzt kommt das nächste Problem : der Scanner sagt :
"Scanning...No I2C devices found"

das heißt also entweder ich habe es falsch angeschlossen oder das teil ist kaputt oder?

Ich habs auf dem Duemilanove und auf einem Uno probiert.
Angeschlossen wurde es wie folgt:
HYT 271 -> Arduino
SDA->A4
GND->GND
VDD-> 3,3V und 5 V (beides ausprobiert)
SCL->A5
14  International / Deutsch / Re: Tlc 5940 RGB Fading on: December 10, 2013, 02:41:59 pm
Quote
Ich würde Dir mal rate ein C- Tutorial zu lesen um einige Grundlagen zu erlernen.
Grüße Uwe.

Recht hast du, ist schon ne weile her als ich das im Studium hatte
kannst du mir einen guten empfehlen?

Gruß
15  International / Deutsch / Re: Tlc 5940 RGB Fading on: December 09, 2013, 06:19:07 pm
Oh man ich frage mich warum ich nicht drauf komme...
Hier für alle mal der Code, er funktioniert einwandfrei!

Code:
Tlc.set(0,4095);  // rot
Tlc.set(2,0);  // blau
for (G = 0; G<=4095; G++)
  {
  Tlc.set(myPins[0,1,2,3],G); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  }
                 // fade von rot nach grün.
Tlc.set(1,4095);  // grün
Tlc.set(2,0);  // blau
for (R = 4095; R>=0; R--)
  {
  Tlc.set(0,R); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  }

//fade zu türkis 
Tlc.set(1,4095);  // grün
Tlc.set(2,0);  // blau
for (B = 0; B<=4095; B++)
  {
  Tlc.set(2,B); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  } 

//fade zu blau 
Tlc.set(2,4095);  // blau
Tlc.set(0,0);  // rot
for (G = 4095; G>=0; G--)
  {
  Tlc.set(1,G); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  } 
 
//fade zu lila 
Tlc.set(2,4095);  // blau
Tlc.set(0,0);  // rot
for (R = 0; R<=4095; R++)
  {
  Tlc.set(0,R); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  }

//fade zu rot 
Tlc.set(0,4095);  // rot
Tlc.set(1,0);  // grün
for (B = 4095; B>=0; B--)
  {
  Tlc.set(2,B); //
  Tlc.update();
  delay(2);  // Pause für die Fadegeschwindigkeit.
  } 

Jetzt stellt sich die Frage wie ich am einfachsten das Fading auf alle "Pixel" bekomme?
Habs mit einem Array probiert hat aber nicht geklappt, hat jemand eine gute Idee?

Mein versuch sah ungefähr so aus:

Code:
int myArray[] = {0, 3, 6, 9, 12, 15};
Tlc.set(myArray[],2000);
Tlc.update();

Gruß
Pages: [1] 2 3 ... 7