Show Posts
Pages: [1]
1  Using Arduino / Displays / Re: Pervasive Displays [no power displays - e-paper] on: February 13, 2013, 01:58:21 pm
The NDA situation seems to have changed now.

Much more detailed information about how to drive the display is now available here:
http://repaper.org/doc/cog_driving.html

MrPozor

Many thanks for the info. I am really interested in this and it is good news that in one month the first devices with breakout and cable will be shipped
2  International / Deutsch / Re: Wie ATTiny85 mit Arduino Mega 2560 Programmieren? on: February 11, 2013, 04:34:18 am
habe mir mal den detector angeschaut....

dort kommt dieses bei raus:
Code:
Atmega chip detector.
Entered programming mode OK.
Signature = 1E 07 00
Unrecogized signature.
LFuse = 00
HFuse = 00
EFuse = 00
Lock byte = 00
Clock calibration = 00

First 256 bytes of program memory:

0: 00 00 00 00 00 00 00 00 00 00 01 3F 00 00 00 00
10: 00 00 01 01 02 02 03 03 00 00 01 01 00 00 01 01
20: 00 00 01 09 02 02 03 03 04 04 05 0D 06 06 07 07
30: 00 00 01 01 02 02 03 1F 00 00 01 1D 06 02 03 01
40: 30 0C 02 00 23 FF 11 10 60 13 05 05 06 16 07 07
50: 08 08 09 09 0A 0A 0B 0B 3F 0F 0D 0D 0E 0E 0F 0F
60: 00 00 01 18 02 0A 03 0B 04 04 05 05 0E 0E 07 07
70: 00 00 01 01 0A 02 03 03 04 04 05 05 06 0E 07 07
80: 00 1F 01 21 02 02 03 23 04 24 05 05 46 06 01 47
90: 08 08 09 3F 0A 0A 0B 0B 2C 2C 0D 0D 0E 0E 0F 01
A0: 68 7F 1A 31 0C 0C 0C 06 0D 3A 15 15 36 16 17 17
B0: 0E 01 0E 1E 3C 56 1B 3B 3E 1F 3F 19 37 1E 1F 3F
C0: 10 00 01 3F 02 02 03 03 04 04 05 05 06 06 07 07
D0: 18 3F 09 09 0A 1A 0B 0B 0C 0C 0D 2D 1E 0E 0F 0F
E0: 10 70 01 01 02 02 03 73 04 14 05 05 06 1F 07 07
F0: 18 08 09 09 0A 1A 0B 0B 0C 0F 0D 0D 0E 0E 0F 0F


da stimmt was nicht. Die Signatur deutet nicht auf einen Attiny85
Siehe http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/signature_bytes
3  International / Deutsch / Re: SainSmart 3.2" TFT Touch Screen LCD wieviel Kabel und wohin? on: February 11, 2013, 01:10:42 am
hier steht, wie die Verkabelung läuft ... PIN für PIN, ausgeschrieben. Du solltest nur nicht direkt verkabeln, da das Display nicht mit 5V arbeitet. Was ich gemacht habe, ist, dass ich mir sog. "male/female Dupont cable" bei ebay/Watterott gekauft habe und das Schield nicht direkt sondern über diese Kabel angeschlossen habe. Erstmal ganz einfach, so wie es das Schield vorsieht. Hat übrigends den netten Effekt, dass Du statt den Pins 0-7 auch 41-49 benutzen kannst. Musst halt bei der Initialisierung aufpassen. Somit hast Du bis auf die Stromanschlüsse alle Anschlüsse auf der doppelreihe Pins
http://arduino.cc/forum/index.php/topic,145665.0.html
4  International / Deutsch / Re: Wie ATTiny85 mit Arduino Mega 2560 Programmieren? on: February 11, 2013, 01:00:35 am
schau Dir mal diese Anletung an. Du musst halt nur aufpassen, weil die Anleitung für einen Uno ist. Die Mega Verkabelung hast Du ja schon selber gepostet.
http://www.gammon.com.au/forum/?id=11637
5  International / Deutsch / Re: 24C08 Wiring & Sketch on: February 02, 2013, 11:33:08 am
Danke für die Infos.
Im Datenblatt für den 24C65 (hat den schon mal jemand mit einem Arduino genutzt?) ist folgendes angegeben:
Code:
Endurance:
- 10,000,000 E/W cycles guaranteed for High Endurance Block
- 100,000 E/W cycles guaranteed for a Standard Endurance Block

Kann mir das mit dem "High Endurance Block" und dem "Standard Endurance Block" bitte mal jemand erklären?

Dirk

Du hast das falsche Datasheet verlinkt. Im richtigen Datasheet
http://www.datasheetcatalog.org/datasheet2/6/0r8hiw9dchrha5s4p07uhzqe7sfy.pdf
steht:
"The 24XX65 offers a relocatable
4K bit block of ultra-high-endurance memory for data
that changes frequently. The remainder of the array, or
60K bits, is rated at 1,000,000 erase/write (E/W) cycles
ensured."

Sprich, es ist ein spezieller Speicherbereich der länger hält.
6  International / Deutsch / 24C08 Wiring & Sketch on: February 02, 2013, 05:31:19 am
Hallo,

keine Ahnung, ob es irgend jemand interessiert. Da der 24C08 EEPROM doch etwas anders ist als die anderen EEPROMs, kopiere ich mein Sketch mal hierhin.
Da der 24C08 nur einen Adressbereich von einem Byte hat womit sich aber nicht der ganze Speicherbereich von 1024 Byte adressieren lässt, hat jeder EEPROM vier unterschiedliche I2C Adressen.  Es lassen sich max. zwei Chips benutzen, da nur ein Eingang für die I2C Adresse vorgesehen ist. Interessant an dem Chip ist, dass STM 1 Mio Schreib-/Löschzyklen garantiert. Da ich gestern lange gegrübelt habe und nichts brauchbares im Netz bzw auch falsche Infos hier im Forum fand, hier mal mein Sketch. Vielleicht hilft es jemanden wenn er nach Infos sucht.

Code:
/*
  Reading and writing data to 24C08 EEPROM over I2C
  CC0
 
  Datasheet for 24C08 http://www.datasheetcatalog.org/datasheets/134/80474_DS.pdf
 
  WIRING
            __ __
      PRE -|     |- VCC
      NC  -|     |- MODE
      E   -|     |- SCL
      VSS -|_____|- SDA
         
      PRE  = Write Protect              -> GROUND
      NC   = Not connected       
      E    = Chip Enable Input          -> first EEPROM -> GROUND for I2C addresses 0x50,0x51,0x52,0x53; second EEPROM -> 5V for I2C addresses 0x54,0x55,0x56,0x57
      VSS  = Ground                     -> GROUND
      VCC  = Supply Voltage             -> 5V
      MODE = Multibyte/Page Write Mode  -> GROUND (not used here)
      SCL  = Serial Clock               -> Analog PIN 5 (Uno)
      SDA  = Serial Data Address IN/OUT -> Analog PIN 4 (Uno)
 
 
*/

#include <Wire.h>     // for I2C

// variable to receive data coming from the EERPROMs
byte data_received=0;

// eeprom address array, use I2C scanner sketch to find the addresses. This array contains 2 chips with 4 device addresses (like virtual chips) each
byte chip[] = {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57};



void setup()
{
  Serial.begin(9600); // for screen output
  Wire.begin();       // waking up I2C
  delay(1000);
  Serial.println("Setup finished");
}

void writeData(int device_address, byte memory_address, byte data)
// write one byte of data 'data' to eeprom memory address 'memory_address' to chip with I2C address 'device_address'
{
  Wire.beginTransmission(device_address);  // device address
  Wire.write(memory_address );             // memory address
  Wire.write(data);                        // data to send
  Wire.endTransmission();                  // end
  delay(10);
}

byte readData(int device_address, byte memory_address)
// reads one byte of data from memory location 'memory_address' in chip at I2C address 'device_address'
{
  byte result;  // return value
  Wire.beginTransmission(device_address); // device address
  Wire.write(memory_address);             // memory address
  Wire.endTransmission();                 // end
  Wire.requestFrom(device_address,1);     // get one byte of data from device
  if (Wire.available())
    result = Wire.read();
  return result;                          // return the read data byte
  delay(10);
}

void loop()
{
  // WRITING DATA

  int ascii_counter = 33;        // to see something we start with the first readable character in the ASCII table which is 33 == '!'
  Serial.println();
  Serial.print("Writing data ");
  Serial.println();
  for (int a=0; a<8; a++)                                    // loop to go through the address array of the eeprom i.e. chip[a]
  {
    for (int b=0; b<256;b++)                                 // each chip has one byte of addressable memory
    {
      writeData(chip[a],b,ascii_counter);                    // writing the value ascii_counter to chip chip[a] at address b
      Serial.print("chip :");                                // let's see what it did
      Serial.print(chip[a], HEX);
      Serial.print(" address :");
      Serial.print(b);
      Serial.print(" value :");
      Serial.println(char(ascii_counter));
      ascii_counter++;                                       // next character of ASCII table
      if (ascii_counter > 126) {ascii_counter = 33;};        // ASCII characters greater 126 are not visible, go back to the first readable character at 33
    }
    Serial.println();
  }
  delay(10000);                                              // let's wait some seconds

  // READING DATA
   
  Serial.println("Reading data...");
  for (int a=0; a<8; a++)                                    // same as above, we toogle through the 8 chips ....
  {
    Serial.print("Chip: ");
    Serial.println(chip[a],HEX);
    for (int b=0; b<256;b++)                                 // and all 256 addresses in each (virtual) chip...
    {
      data_received=readData(chip[a],b);                     // and read the data there....
      Serial.print(char(data_received));                     // and print it to serial....
    }
    Serial.println();                                        // new line for each chip
  }
// since the chip has only a limited number of write cycles, we don't want to write again and again. Let's end the sketch
  do                                                         
  {
    delay(10000);
  } while ( 1 != 0);
}
7  International / Deutsch / Re: SainSmart 3.2" TFT Touch Screen LCD wieviel Kabel und wohin? on: January 31, 2013, 07:59:50 am
steht hier.
http://arduino.cc/forum/index.php/topic,145665.0.html

Aber Du solltest entweder das Shield am LCD dranlassen und dorthin manuell verkabeln oder 10k Widerstände in die Signalleitungen verbauen. Zum ausprobieren gehts sicher auch ohne...hab ich gestern Abend probiert smiley-wink
8  Using Arduino / Displays / Re: ANOTHER Sainsmart 3.2" TFT Screen topic.. on: January 29, 2013, 10:32:41 am
no problem. if you want to use touch and SD card you should also connect

Touch -> Mega
DCLK-> D6
CS(pin 30) -> D5
IN -> D4
OUT-> D3
IRQ -> D2

DCLK, TCS, DIN, OUT, IRQ can be wired to any free pin on your Mega. But you should initialize it accordingly with myTouch(DCLK,CS,IN,OUT,IRQ).

SD Card -> Mega
SCK -> D52
MISO -> D50
MOSI-> D51
CS -> D53
9  Using Arduino / Displays / Re: ANOTHER Sainsmart 3.2" TFT Screen topic.. on: January 29, 2013, 09:29:32 am
I received the display yesterday but still waiting for cables. Based on what I found so far I think you try to connect
TFT -> Mega
LEDA     -> 5V
VCC      -> 5V
RD        -> 3.3V
GND      -> GND
DB0..DB7 -> pin D37->D30
DB8..DB15 -> pin D22->D29
RS         -> D38
WR        -> D39
CS(pin6) -> D40
RSET      -> D41

10  International / Deutsch / Re: Arduino an USB startet ständig neu on: January 01, 2013, 04:50:14 pm
Quote
Kann ich den Arduino dazu bewegen, mir den Grund für den Neustart irgendwie mitzuteilen?
Ich nehme mal an Du hast einen Arduino UNO.
Kontrollier mal das PWR-LED auf dem Arduino. Löscht dies kurz aus bevor der Arduino neu startet?
Du kannst den Arduino an USB anschließen und gleichzeitig an der Stromversorgungbuchse mit Strom versorgen. Sobald an der Stromversorgungsbuchse mehr als 7V anliegen nimmt der Arduino die externe Stromversorgung.

Das Problem ist die Verlustleistung am Spannungsstabilisator des Arduino. Wenn Du Arduino mit 9V versorgst und 500mA Strom ziehst dann sind das 2W am Spannungstabilisator. Bei 7V sind das immernoch 1W. Der Spannungsstabilisator ist auf dem Arduino nicht für so hohe Verlustleistung ausgelegt (es fehlt der Kühlkörper).

Wie hoch ist der Strom der Hintergrundbeleuchtung (Datenblatt der Dispays)?

Grüße Uwe

Ich habe gerade den MEGA mit dem Display verkabelt....wenn es hilfreich ist, kann ich auch den UNO nehmen.  Also die folgende Blinkfolge passiert bei jedem Neustart: 2x "L", 1x ganz kurz "Tx", 2x "L", 1x ganz kurz "Tx"
PWR leuchtet immer

Datenblätter der LCD muss ich erstmal suchen
11  International / Deutsch / Re: Arduino an USB startet ständig neu on: January 01, 2013, 04:27:17 pm
Hallo,

messen ist hier in jedem Fall angebracht. Wie viel Spannung bleibt am Board übrig wenn das Display angeschlossen ist?

Ein weiteres Problem kann durchaus das USB Kabel sein. Gerade die biligen haben sehr oft nur ausgesprochen dünne Litzen, die ganz miesen noname Kabel gelegentlich nicht einmal welche aus reinem Kupfer sondern irgend einem "Mischmasch". Und dann bricht die Spannung zusammen auch wenn die 500mA nicht überschtitten sind. Probier einfach mal ein anderes Kabel. Möglichst kurz, nicht zu dünn, nicht das allerbilligste von ebay-China  smiley-wink

Christian  

Ohje, also eines der drei Boards und das Kabel sind von Fritzing. Ich hoffe, die haben nicht das allerbilligste aus China geliefert smiley-wink Ein zweites, wirklich allerbilligste China-Kabel ändert da nichts.
Ich habe momentan zwar keine Ahnung, wie ich den Stromverbrauch messen kann, aber dazu gibt es ja genügend im Internet zu lesen. Es scheint also nicht möglich zu sein, die Stromversorgung auf extern umzuschalten während USB angeschlossen ist.
Eins wunderte mich jetzt sehr. Ich nutze machmal eine 9V Block Batterie und machmal ein USB Netzteil von einer WLAN Station abwechselnd als externe Stromversorgung...beides funktioniert problemlos. Es kann also nicht die von Uwe erwähnte 500mA USB Sicherung sein, die da greift. 
Also hab ich das Board mal an einen headless Server angeschlossen, der hier noch läuft. Und auch da geht es problemlos. Es muss also an meinen Laptop liegen. Kann ich den Arduino dazu bewegen, mir den Grund für den Neustart irgendwie mitzuteilen?
12  International / Deutsch / Re: Arduino an USB startet ständig neu on: January 01, 2013, 03:57:03 pm
Die USB-Schnittstelle kann definitionsgemäß 500mA liefern. Deshalb ist auf dem Arduino eine automatisch rücksetzende Sicherung für 500mA (Polyswitch) vorgesehen. Wenn Deine Shields jetzt mehr als 500mA ziehen dann greift die Sicherung ein.
Kontrollier mal wieviel Strom die Hintergrundbeleuchtung der Displays braucht; Du wirst staunen.

Lösung: eine dem Verbrauch angemessene Stromquelle verwenden zB ein externes Netzteil. Das Netzteil jetzt bitte nicht an der Netzteilbuchse anschließen da Du somit den Spannungsstabilisator überhitzt.

Grüße Uwe

Danke Uwe. Da ich den Arduino eine Weile an USB hängen lassen muss um einige Programmfunktionen zu testen, muss ich also so lange die Stromversorgung der Komponenten über externe Netzteile (5V + 3.3V) sicherstellen. Schade, dass ich die Stromversorgung nicht auf extern umschalten kann, solange der Arduino an USB hängt.
13  International / Deutsch / Arduino an USB startet ständig neu on: January 01, 2013, 03:07:55 pm
Hallo,

ich habe das Problem, dass mein Arduino mit angeschlossenem LCD oder TFT nach spätestens 30 Sekunden am USB Anschluß neu startet. Das ganze ist recht unabhängig von meinen Sketches und tritt auch bei den Lib-Beispielen auf; selbst bei einem einfachen Counter, der einmal pro Sekunde einen Zähler hochsetzt und anzeigt. Es scheint, dass das nur passiert sobald ich ein LCD oder TFT anschliesse. Bei reiner Ausgabe über die seriellen Schnittstelle startet der Arduino nicht neu.
Ich habe 3 Arduino Boards, 2 LCD und 1 TFT hier, aber es tritt immer auf sobald ich eine LCD oder TFT benutze.
Wenn ich die Boards an eine externe Stromversorgung hänge, gibt es auch keine Probleme.
Kann mir jemand sagen, wie ich das Problem vermeiden kann?

Vielen Dank schonmal vorab
Pages: [1]