Author Topic: TinyI2C_LCD  (Read 67190 times)

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: TinyI2C_LCD
« Reply #30 on: July 12, 2013, 12:07:04 PM »
Salut,

hier mein erster Versuch in Eagle. Ich habe das board auf 50x23 mm ausgelegt, damit man bei einem 50x50mm Prototyp zwei Boards erhält.

Ciao, Mathias

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #31 on: July 12, 2013, 02:55:27 PM »
Danke für die Blumen.  :)

Auf die Gefahr hin, mich als Banause zu outen: was ist ein lCCD (Google liefert zwar einige Resultate, aber nichts, das ich mit Arduino in Verbindung bringen würde)?

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: TinyI2C_LCD
« Reply #32 on: July 12, 2013, 03:18:35 PM »
Salut Pylon,

lCCD ist ein lineares CCD (Charge Coupling Device). Ich arbeite mit dem ILX511B von Sony und dem TCD1201 von Toshiba. Das Sony sollte leichter auszulesen sein, aber bislang ist es mir nicht gelungen, das lCCD auszulesen. Es scheint immer so zu sein, dass ich nur den ersten Pixel sehe und die Ladung der anderen Pixel nicht durch gereicht werden. Nach einigen enttäuschenden Versuchen habe ich erst einmal einige Wochen davon Abstand genommen, will mich jetzt aber wieder daran wagen
Ciao, Mathias

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #33 on: July 12, 2013, 05:39:39 PM »
Das wäre also das Lese-Element eines Scanners oder liege ich da falsch?

Vom Sony habe ich schon mal ein Datenblatt gefunden. Scheint mir durchaus machbar und tönt sehr interessant. Welchen AD-Wandler setzt Du denn ein? Den internen des Arduinos? Und als Treiber den empfohlenen 2SA1175?

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: TinyI2C_LCD
« Reply #34 on: July 12, 2013, 11:56:14 PM »
Salut,

ich habe bislang den internen ADC verwendet, diesen aber im fast-ADC Mode betrieben. Da das Signal stark genug war, habe ich es nicht weiter verstärkt. Testweise habe ich den 2SA1175 durch einen pnp-Transistor ersetzt, den ich zur Hand hatte (BC557), was aber kaum einen Effekt hatte.
Aber ich denke, zu dem Thema sollten wir einen eigene Threat öffnen
Ciao, Mathias

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #35 on: July 13, 2013, 05:51:16 PM »
Noch einmal zu TinyI2C_LCD-Board. Wenn wir den D10-Pin auch beim I2C-Stecker herausführen, könnten wir mit dersselben Hardware eine I2C und eine SPI-Version abdecken. Ich denke, der Aufwand auf dem Board wäre minim und die grössere Flexibilität müsste es wert sein. Was denkt Ihr?

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: TinyI2C_LCD
« Reply #36 on: July 13, 2013, 06:14:55 PM »
Finde ich eine sehr gute Idee, ich kanns aber nicht von der Firmware her beurteilen wie gross der Aufwand ist SPI auch abzudecken, aber Platz im Flash wär definitiv noch genügend verfügbar.
Meinst Du aus dem 4-Pin I2C einfach einen 5-Pin Connector zu machen mit D10 oder eher einen zweiten Connector mit 5-Pins daneben als I2C angeschrieben ?
Anfängerfrage: Wie weiss die Firmware im ATtiny dann welcher Betriebsmodus gewünscht ist ?

Ich habe übrigens auch die Eagle Dateien von Mathias eingecheckt.

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #37 on: July 13, 2013, 07:49:57 PM »
Ich bin zur Zeit an der Vereinfachung der I2C-Kommunikation, checke aber erst ein, wenn ich das fertig habe.

Quote
Meinst Du aus dem 4-Pin I2C einfach einen 5-Pin Connector zu machen mit D10 oder eher einen zweiten Connector mit 5-Pins daneben als I2C angeschrieben ?

So auf die Schnelle hätte ich den Pin einfach neben dem I2C-Connector plaziert, so dass ein 4-Pin-Stecker für die I2C-Variante und ein 5-Pin-Stecker für die SPI-Variante verwendet werden kann.

Quote
Anfängerfrage: Wie weiss die Firmware im ATtiny dann welcher Betriebsmodus gewünscht ist ?

Gar nicht, ich hätte nur das gleiche Board genommen und je nachdem eine andere Firmware aufgespielt. Alternativ könnte man MISO nehmen, um den Modus per Lötbrücke zu wählen, denn dieser Pin wird nur für ICSP genutzt. Aber das würde ich auf später verschieben, einfach nicht PCBs herstellen, die danach eine Funktionalität vermissen lassen.

Ich habe die Backlight-Control auch schon mal implementiert, aber das kann ich mit der Version 0.4 des Boards noch nicht testen. Ich versuche mal, einen PCB-Hack zu machen, nicht sehr hübsch, aber sollte funktionieren.

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: TinyI2C_LCD
« Reply #38 on: July 14, 2013, 02:21:17 PM »
Quote
So auf die Schnelle hätte ich den Pin einfach neben dem I2C-Connector plaziert, so dass ein 4-Pin-Stecker für die I2C-Variante und ein 5-Pin-Stecker für die SPI-Variante verwendet werden kann.


Ich hab das mal angefangen und je länger ich dran war desto mehr hat mir die SPI Idee gefallen und desto weniger die Ausführung einfach den Pin neben den I2C Connector zu stellen.
Ich bin mittlerweile sehr dafür, daneben einen 5-Pin Connector zu stellen, mit SPI angeschrieben und mit den Daten-/Takt-Pins in der Mitte und Versorgung aussen. Der Anwender kann dann wählen ob er den 5-Pin oder 4-Pin Connector anbringt (oder beide).

Quote
Gar nicht, ich hätte nur das gleiche Board genommen und je nachdem eine andere Firmware aufgespielt. Alternativ könnte man MISO nehmen, um den Modus per Lötbrücke zu wählen, denn dieser Pin wird nur für ICSP genutzt. Aber das würde ich auf später verschieben, einfach nicht PCBs herstellen, die danach eine Funktionalität vermissen lassen.


Nachdem ich nun das Konzept verstanden habe bin ich dafür statt D10, wie Du auch vorschlägst den MISO zu nehmen als dritten SPI Pin. Dann bleibt D10 weiterhin verfügbar und kann falls man alles in denselben ATtiny84 gequetscht kriegt diesen für die Wahl des Modus (I2C/SPI) verwenden oder sonst halt für was anderes.
Ich hab mir das in ungefähr so vorgestellt:

Was haltet Ihr davon ?
« Last Edit: July 14, 2013, 02:24:39 PM by boxtec-support »

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #39 on: July 14, 2013, 06:09:34 PM »
Quote
Nachdem ich nun das Konzept verstanden habe bin ich dafür statt D10, wie Du auch vorschlägst den MISO zu nehmen als dritten SPI Pin. Dann bleibt D10 weiterhin verfügbar und kann falls man alles in denselben ATtiny84 gequetscht kriegt diesen für die Wahl des Modus (I2C/SPI) verwenden oder sonst halt für was anderes.

Und welchen Pin hast Du für SS vorgesehen? SDO ist wahrscheinlich gar nicht notwendig, lesende Zugriffe sind ja (noch) nicht vorgesehen. Zudem würde ich SS in den SPI-Stecker integrieren, wobei ich wahrscheinlich D10 dafür verwenden würde. Ich bin mir nicht sicher, ob MISO als PCINT zur Verfügung steht, wenn das USI im SPI-Modus arbeitet.

Aber abgesehen davon finde ich Deine Idee mit dem separaten Stecker sehr gut, macht die Verwendung deutlich einfacher.

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: TinyI2C_LCD
« Reply #40 on: July 14, 2013, 06:51:02 PM »
Den SlaveSelect hab ich natürlich voll vergessen, resp. mir fehlüberlegt diesen als gesetzt zu erwarten und dafür den Bus auf Master mit einem Slave zu beschränken, was aber natürlich blöd ist. Ich hab noch nie was mit SPI gemacht und wurstle mich da noch durch im Moment.
Ich werde den D10 als SS angeschrieben zwischen SCL und GND platzieren und den D10 Connector ganz rausnehmen, den SDO hab ich mal gelassen solange er nicht stört:

Was meint Ihr dazu ?

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #41 on: July 14, 2013, 08:10:31 PM »
Finde ich gut so, es bleibt uns dann immer noch die Möglichkeit, mittels Verkabelung von SDO (MISO) die Umschaltung auf SPI zu realisieren.

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: TinyI2C_LCD
« Reply #42 on: July 14, 2013, 09:44:03 PM »
Fein, danke. Dann bestell ich jetzt nochmals 10 Protos davon (ich überleg mir noch ob mit Ground-Seed oder as-is).
Wenn noch jemand von Euch PCBs benötigt bitte bis Montag abend melden, ich würde das DHL shipping offerieren.

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: TinyI2C_LCD
« Reply #43 on: July 15, 2013, 10:31:21 AM »
Salut,

kann es sein, dass beim neuen Design pin-13 statt pin-10 an SS geführt ist? Bei Eagle wird pin-13 als Aref/ADC geführt

Ciao, Mathias

pylon

  • freakyfriday
  • Full Member
  • *
  • Posts: 158
  • Karma: +16/-0
Re: TinyI2C_LCD
« Reply #44 on: July 15, 2013, 11:05:35 AM »
Quote
kann es sein, dass beim neuen Design pin-13 statt pin-10 an SS geführt ist? Bei Eagle wird pin-13 als Aref/ADC geführt

Pin D10 ist der 13. Pin des ATtiny (in der PDIP-Ausführung, bei QNF ist es Pin 5). Fast jeder Pin am Tiny hat mehrere Funktionen. Da der Tiny kein Hardware-SS hat, muss die Funktion anders nachgebaut werden. D10 bietet zumindest einen Pin-Change-Interrupt an, damit sollte sich die Funktionalität implementieren lassen. Habe ich etwas übersehen?

 

anything