Loading...
  Show Posts
Pages: 1 [2] 3 4 ... 87
16  International / Deutsch / Re: ENC28J60 Ethernet beste Library on: May 07, 2013, 11:03:51 pm
Für Deinen Einsatzzweck würde ich von einem ENC28J60 abraten. Bisher kenne ich keine Lib, die TCP vernünftig umsetzt. Vor allem wenn es um einen TCP-Stream mit mehreren Paketen geht. Die Libs die ich kenne, können eine TCP-Verbindung aufbauen, ein Paket senden und gut. Beim Empfangen ebenso. Das klappt z.B. bei HTTP recht gut, solange nicht mehr Daten transportiert werden (egal in welche Richtung), als in ein Paket passen. Bei einer default MTU von 1500 sind das knapp 1.4KB. Mehrere Pakete erhöhen die Komplexität, da plötzlich Sequenznummern und ähnliches eine Rolle spielen.
Da Du aber SMTP (Mail senden) spechen willst, müssen immer mehrere Pakete übertragen werden, da SMTP eine Art "Frage-Antwort" Spiel zwischen Client und Server ist. Wenn Du eh in Hongkong bestellen willst, pack lieber noch 4 Euro drauf und nimm ein Shield mit W5100 Chip. Dort bildet der Chip die Protokolle TCP und UDP intern ab und Du kannst Dich auf die darüber liegenden Protokollschichten (siehe Wikipedia) kümmern.
Außerdem hast Du dann mit der Arduino IDE immer eine aktuelle Ethernet-Lib, die zur IDE passt, da sie Bestandteil davon ist.
Ein weiterer Vorteil ist, das Du mehr Speicher auf dem Arduino zur Verfügung hast, da die W5100 Lib deutlich Resourcen schonender ist, als die ENC28J60 Lib.
Mario.
17  International / Deutsch / Re: Ethernetshield empfang von großen Dateien möglich? on: May 07, 2013, 09:29:55 pm
Poste doch mal Deinen Sketch, dann sehen wir wie Du das umgesetzt hast. Daraus ergeben sich dann sicher Ideen was man testen oder ändern könnte.
Mario.
18  International / Deutsch / Re: SainSmart 3.2" TFT LCD Modul an Arduino Mega anschließen on: May 06, 2013, 06:49:36 am
Achtung!! Das TFT arbeitet mit 3.3V, nicht mit 5V. Das Shield ist unter anderem dazu da, die Spannung von 5V auf 3.3V zu reduzieren. Keine Ahnung, ob die Eingänge des TFT-Chips 5V tolerant sind.

Mario.
19  International / Deutsch / Re: Hilfe bei Schaltplan zum Anschluß von Ventilen on: May 05, 2013, 08:14:39 am
@sth77: Wie bekommst Du die Verbindungen zwischen den Lötaugen so sauber hin? Ich habe dabei immer das Problem, das sich beim entfernen des Lötkolbens das noch flüssige Lötzinn auf die Lötaugen zurückzieht und die Verbdingung wieder getrennt ist.
Mario.
20  Community / Exhibition / Gallery / Re: Eight LED array on: May 05, 2013, 03:40:21 am
Hey, good job. I think we all started with some blinking LEDs. And even if you are able to build more complex circuits, sometimes you come back for such blinking LEDs.
Like I did for my little bus sniffer, that looks just similar to your circuit:

The little board that is connected to the ZIF socket. It was a quick hack to be able to check the correct connectivity of address- and data-lines of my eeprom programmer.

So don't give up. Making simple PCBs can be done easily at home with simple methods like "toner transfer" method, even etching can be done with things you find at home (see here). Also soldering SMD parts is easier then is seems. I tried this too, some months ago:
http://www.ichbinzustaendig.de/2012/12/08/smd-platine-im-tonertransfer-teil-1.html
and
http://www.ichbinzustaendig.de/2012/12/09/smd-platine-im-tonertransfer-teil-2.html

The good thing for SMD PCBs is, that you don't need to drill holes. If you get stucked, this forum is always a good source for help.

Mario.
21  Community / Exhibition / Gallery / Re: Arduino Mars Rover on: May 02, 2013, 04:17:10 pm
This is extremely impressive. How long did it take to build this one.
Just took a look at your website. All the other projects are well crafted.

Mario.
22  International / Deutsch / Re: Arduino Mega 2560 Rev. 3 bestellt und ohne Rev. 3 bekommen. Unterschied? on: May 02, 2013, 07:58:57 am
Arduino Klone sind ja prinzipiell erlaubt, sie dürfen halt nicht Arduino genannt werden und sie dürfen das Logo und das originale Layout nicht verwenden. Hält man sich an legale Klone, ist das kein Problem.
Aber illegale Klone, die sich über den Markennamen "Aruino" bereichern, sind das eigentliche Problem. Und jeder, der das unterstützt, schadet damit dem eigentlichen Projekt. Das ist der Punkt über den man nachdenken sollte.
Mario.
23  International / Deutsch / Re: Fehlermeldung beim kompilieren on: May 02, 2013, 07:54:40 am
Die angehängte Datei enthält die Änderungen. Compilieren läßt sich das HelloWorld Beispiel damit, allerdings konnte ich es nicht testen.
Mario.

P.S. Für alle die mit den Tools "diff" und "patch" umgehen können:
Code:
diff -ur LiquidCrystal_I2C.old//LiquidCrystal_I2C.cpp LiquidCrystal_I2C/LiquidCrystal_I2C.cpp
--- LiquidCrystal_I2C.old//LiquidCrystal_I2C.cpp        2011-08-10 21:36:08.000000000 +0100
+++ LiquidCrystal_I2C/LiquidCrystal_I2C.cpp     2013-05-02 14:45:14.000000000 +0100
@@ -1,7 +1,13 @@
 //YWROBOT
 #include "LiquidCrystal_I2C.h"
 #include <inttypes.h>
-#include "WProgram.h"
+
+#if defined(ARDUINO) && ARDUINO >= 100
+  #include "Arduino.h"
+  #else
+  #include "WProgram.h"
+  #endif
+
 #include "Wire.h"


@@ -213,11 +219,11 @@
 /*********** mid level commands, for sending data/cmds */

 inline void LiquidCrystal_I2C::command(uint8_t value) {
-       send(value, 0);
+       write(value);
 }

-inline void LiquidCrystal_I2C::write(uint8_t value) {
-       send(value, Rs);
+inline size_t LiquidCrystal_I2C::write(uint8_t value) {
+       write(value);
 }


@@ -239,7 +245,7 @@

 void LiquidCrystal_I2C::expanderWrite(uint8_t _data){
        Wire.beginTransmission(_Addr);
-       Wire.send((int)(_data) | _backlightval);
+       Wire.write((int)(_data) | _backlightval);
        Wire.endTransmission();
 }

diff -ur LiquidCrystal_I2C.old//LiquidCrystal_I2C.h LiquidCrystal_I2C/LiquidCrystal_I2C.h
--- LiquidCrystal_I2C.old//LiquidCrystal_I2C.h  2011-08-10 21:35:54.000000000 +0100
+++ LiquidCrystal_I2C/LiquidCrystal_I2C.h       2013-05-02 14:38:42.000000000 +0100
@@ -78,7 +78,7 @@
   void noAutoscroll();
   void createChar(uint8_t, uint8_t[]);
   void setCursor(uint8_t, uint8_t);
-  virtual void write(uint8_t);
+  virtual size_t write(uint8_t);
   void command(uint8_t);
   void init();
24  International / Deutsch / Re: Fehlermeldung beim kompilieren on: May 02, 2013, 02:59:14 am
Poste mal bitte einen Link zu der Lib. Das problem kenne ich schon von einer anderen Lib. Es wurde an der Signatur einiger Methoden aus der Klasse "Print" etwas geändert. Was ich von den Arduino-Machern als sehr ungeschickt empfinde. Methoden die vorher als "void" deklariert waren, haben plötzlich einen return value. Statt neue Methoden zu definieren, hat man einfach die Signatur geändert.
Die Anpassung an der Lib ist aber recht einfach, soweit ich mich erinnern kann.
Mario.
25  Community / Exhibition / Gallery / Re: My first Arduino Clone... on: April 30, 2013, 08:45:25 am
Yes, a photo of the other side would be nice. And try to reduce the size of the photo to something like 1280x10124 or something similar. Such big photos are vary hard to watch, even on a full hd monitor :-)
Nevertheless its a cool project. And a good result for a first soldering project.
*thumbs up*

Mario.
26  Community / Exhibition / Gallery / Re: Webduino on: April 30, 2013, 08:42:29 am
Maybe you should change the name of your project, because there is already a project with that name:
https://github.com/sirleech/Webduino
http://code.google.com/p/webduino/

It seems, that you need an additional server/service locally to connect to the arduino via webbrowser.
You should make this a bit clearer in your project description, so most people would expect, that the webservice runs directly on the arduino using an ethernet shield.

Mario.
27  International / Deutsch / Re: Projektvorstellung: Arduino als EEPROM Programmer on: April 30, 2013, 06:45:45 am
Schritt "1" ist geschafft, Hardware, Arduino-Software und JAVA GUI machen was sie sollen. Ich kann EEPROMS schreiben, lesen, löschen  und den Inhalt mit einem ROM-Image vergleichen. Ein 8k EERPOM kann in 8 Sekunden beschrieben werden, was für mich völlig ausreichend ist.

Bilder von der Version 1.0 der Java GUI gibt's hier im englischen Vorstellungs-Thread: http://arduino.cc/forum/index.php/topic,163682.0.html

Die Software muss auf der Arduino-Seite noch ein wenig aufgeräumt werden, dann kann ich es denke ich veröffentlichen, ohne das es zu peinlich wird :-)

Mario.
28  Community / Exhibition / Gallery / Arduino based parallel EEPROM programmer on: April 30, 2013, 06:40:33 am
For my upcoming 6502 CPU based homebrew computer project I need the possibility to program EPROMs and EEPROMs. These chips are parallel memory chips with a 13 to 15 bit wide address bus and a 8 bit databus. Additionally some control lines like /WRITE, /OUTPUT and /ENABLE need to be connected to the EEPROMs.

You can buy a programmer, but they are too expensive for just a simple project. And self made is always much more fun. The whole thing is based on an Arduino Nano, because of the small form factor, the good price and (very important) and already available serial connection via USB.

For 15 address lines, 8 data lines and 3 control lines I need 26 I/O pins, too much for the Nano. But the address lines are only needed as output, so I decided to use 2 74HC595 shift registers to reduce the needed I/O pins from 15 to 3. 

The only internal PORT of the Atmeg328 on the Nano that can be completely used with 8 data bits is PORTD (digital Pins 0 to 7). But unfortunately I need pin 0 and 1 for RX/TX, making it a little bit harder to set 8 data bits for the EEPROM.

Here is a picture of the prototype with the Nano V3, 2 74HC595 and a ZIF socket for the EEPROM.


The Nano is stacked on a 600mil DIP socket, that I cut down to 30 pins. So the Nano can be removed and used for other projects.

The "firmware" on the Nano excepts and delivers data through a serial connection to the host computer, using a simple protocol for sending and reading data from and to the EEPROM.

I also wrote a small Java GUI that interacts with my little programmer. At the moment the following features are implemented:

Current Arduino firmware features are:

- Communication at 57600 baud
- Read content of EEPROM as hex data
- Read content of EEPROM as binary data
- Write data binary to EEPROM
- Provide "Version String" with supported commands

Current Java Client Features:

- Load ROM-Files (max 32k) into the application
- select COM-Port
- select EEPROM type (8k,16k,32k) (has influence on the number of bytes read/written)
- burn loaded ROM image to EEPROM
- load data from EEPROM binary to internal buffer
- read hex data from EEPROM (directly written to console window for testing)
- count number of different bytes between internal rom image and data on EEPROM
- clear EEPROM with 0x00
- get the Version Sting from the MEEPROMMER

Features to come:
- Import and Export data in Intel-HEX format
- write only parts of the eeprom instead of the whole chip (from address to address)
- split large ROM images for burning several small EEPROMS with the complete data
- doing "differential" writes (writing only bytes that are different between ROM image and EEPROM)

On the Arduino side I use an 1024 byte buffer to store the data bytes before they are written to the eeprom. An 8k EEPROM can be written within 8 seconds. Fairly fast enough to meet my requirements for a good development life-cycle for the 6502 firmware that should be stored on the EEPROMS.

Here's a short collection of screenshots from the GUI:

GUI after start, selecting different EEPROM types, getting Version String, clearing EEPROM and loading a 8k ROM image:


GUI after making a diff between the cleared EEPROM and the loaded 8k ROM image, showing all 8192 bytes as different:


GUI after writing the ROM image to the EEPROM and then making a diff again.


Now showing that all bytes are equal:


The plan is to build a PCB at the end with some additional features

- MAX232 and DSUB9 connector for RS232 communication without the Arduino USB
- DIP-switches / jumpers for setting the speed of the serial connection
- 20 pin - port with all data, address, RX/TX and control lines for direct access with any other hardware
- external 5V and GND powersupply lines (also on the 20-pin port)

Beside the Java GUI Tool another guy from the 6502.org forum is working on python based command line tools that can be used with the programmer.
29  International / Deutsch / Re: Projektvorstellung: Arduino als EEPROM Programmer on: April 29, 2013, 12:47:29 am
Im 65C02 wurden einige Bugs gefixed, die der 6502 und auch dessen Nachfolger der 6510 hatte, außerdem ist er einfacher zu takten. Zudem hat der 65C02 einige spannende OpCodes und Adressierungsarten zusätzlich.
Siehe hier: http://www.6502.org/tutorials/65c02opcodes.html
Mit www.6502.org gibt es eine super Community mit Leuten die unheimlich viel Erfahrung mit diesen kleinen Käfern haben, quasi die Uwes der 6502 Szene  smiley-grin ( sorry den konnte ich mir nicht verkneifen).
Falls ich Gefallen an der Sache finde, wird ja evtl. irgendwann mal ein 6510 basierter SBC das Licht der Welt erblicken.

Mario.
30  International / Deutsch / Re: Projektvorstellung: Arduino als EEPROM Programmer on: April 28, 2013, 01:02:36 pm
Hey, nicht schlecht. Allerdings ist Sound in den ersten Ausbaustufen nicht das womit ich meine Zeit verbringen werde. Ich glaube ich werde genug mit Bus-Timings, Chip-Select Logic und simplen IO Problemen zu kämpfen haben. Da ich noch einen C64 im Keller herum dümpeln habe, würde ich ggf. auch den plündern und dem den originalen SID und ggf. das eine oder andere Bauteil mopsen.
Aber das ist höchstend Plan C oder Plan D. Erstmal muss die erste Version aus 65C02 CPU, einem 6522 VIA, 32k SRAM und 8k EEPROM mit 1MHz laufen. Danach sehen wir weiter :-)
Pages: 1 [2] 3 4 ... 87