Show Posts
Pages: [1] 2 3 ... 95
1  International / Deutsch / Re: LED Strips on: May 19, 2014, 10:05:38 am
Etwa so:

2  International / Deutsch / Re: Arduino Ipad Editor on: May 19, 2014, 06:52:11 am
was ich mir evtl noch vorstellen kann, es gibt doch ein Iphone USB stick modul um einen usb stick zum bildertransport anzuschließen evtl haben die das zweckentfremdet?
Das ist sehr unwahrscheinlich. Apple läßt da tatsächlich NUR Bilder Transfer zu, keine anderen Daten soweit ich weiß. Wenn dann geht das nur mit einem Jailbreak und dann würdest Du die App kaum im Appstore kaufen können  smiley

Weiterhin stellt sich mir die Sinnfrage eines solchen Editors. Wie bekomme ich den Custom-Libraries eingebunden, denn die machen doch recht häufig einen nicht unerheblichen Teil des Projektes aus. Und einfache Sketche kann man ja in einem beliebigen Editor schreiben und dann zu Hause in der IDE verarbeiten. Ein Editor der einfache Templates bietet, würde ja schon reichen, damit man das obligatorische void setup() und void loop() vorgegeben hat und das nicht jedesmal abtippen muss.
3  International / Deutsch / Re: Tone Library will nicht.. on: May 19, 2014, 06:50:17 am
MIt dem DUE wird die Lib nicht funktionieren. Sie ist für die 8-Bit Atmegas (atmega8 (also auch 168 und 328) und 1280) geschrieben. Da direkt die HW-Timer verwendet werden, geht das auf dem Due auf keinen Fall.

Für den Due gibt es doch eine Audio-Lib, warum verwendest Du nicht die?

Mario.
4  International / Deutsch / Re: Arduino Ipad Editor on: May 16, 2014, 06:40:42 am
Ich frage mich eher wie die den Compiler auf's iPad bekommen haben. Apple erlaubt keine Programmierumgebungen auf dem iXXXX Geräten. Evtl. schicken die den Sketch an einen Server und liefern das HEX-File zurück.
5  International / Deutsch / Re: Rechtecksignal erzeugen. on: May 13, 2014, 09:32:17 am
Reichen denn die 5V vom Arduino, wenn das Instrument mit 12V betrieben wird, oder erwartet der Tacho ein TTL-Signal am Drehzahleingang?
6  International / Deutsch / Re: Kleiner Arduinodepp will hoch hinaus.. on: May 12, 2014, 10:09:17 am
Also das C/C++ des Arduino ist ein "ganz normales" C/C++. Im Prinzip funktionieren hier die gleichen Dinge wie auf einem "großen Computer". C/C++ ist im Grunde erstmal nur eine Sprache. Mit Leben füllt sich sowas erst, wenn in dieser Sprache Bibliotheken und Programme geschrieben werden. Das hat dann aber nix mehr mit der Sprache selbst zu tun.

Das Problem das Du hast ist, das es für den Arduino eine sehr spezielles Ökosystem an Bibliotheken und Erweiterungen gibt, die der speziellen Hardware des Arduino im speziellen und dem ATMEL µController geschuldet sind.

Eine weitere Einschränkung ist der geringe Speicherplatz des Arduino und die Trennung aus Programmspeicher (progmem) und Datenspeicher (SRAM). Das Ganze nennt sich Harvard Architektur und unterscheided sich von der Architektur "normaler Computer".

Umdenken bezüglich eines "normalen" Programms muss man beim Arduino insofern auch, als das es ein einziges Programm gibt, das immer wieder durchlaufen wird (loop()).

Ich bin vor vielen Jahren als Entwickler zu C/C++, Java und diversen anderen Sprachen gekommen und erst vor einiger Zeit zum Arduino. Ich komme also aus Deiner Sicht "von der anderen Seite".

Mario.
7  International / Deutsch / Re: Bootloader auf blanken Atmega 2560 on: May 12, 2014, 08:04:50 am
Ich denke es geht auch nicht darum de Bootloader per FTDI-Chip au fden Mega zu bekommen, sondern NACH dem Installieren des Bootloaders per ISP dann einen Sketch mittels Bootloader und serieller Schnittstelle zu übertragen.
8  International / Deutsch / Re: Bootloader auf blanken Atmega 2560 on: May 12, 2014, 04:29:12 am
Wie sieht denn die Hardware aus? Ist das ein Breakout-Board mit einem 2560? An welcher der Seriellen Schnittstellen hängt denn der serial2USB-Adapter? Soweit ich weiß spricht der 2560 nicht von Hause aus USB, da muß noch  Hardware dazwischen, die z.B. auf dem Arduino Mega2560 verbaut ist.

Mario.
9  International / Deutsch / Re: HEX-Zähler? on: May 06, 2014, 02:07:27 am
Ob Hex, Binär oder Dezimal ist nur eine Darstellungsfrage. Ein Integer bleibt ein Integer. Dem Arduino ist es wurscht in welchem Format Du das haben willst.
Bei der Ausgabe gibt man das einfach mit an. Tricky sind die führenden Nullen.
Code:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  for(unsigned int i=0; i<= 0xffff; i++) {
   printHex(i);
  }
}

void printHex(unsigned int data) {
 Serial.print("0x");
 if( data < 0x1000) Serial.print('0');
 if( data < 0x0100) Serial.print('0');
 if( data < 0x0010) Serial.print('0');
 Serial.println(data,HEX);
}

Achtung, Code ist ungetestet, compiliert aber zumindest schon mal :-)

Mario.
10  International / Deutsch / Re: Kleines und günstiges WLAN Modul on: May 05, 2014, 08:39:17 am
Ich persönlich habe recht gute Erfahrungen mit folgendem Modul gemacht:
TP-Link Nano Router
Dieser kann sowohl als Acess-Point arbeiten, der ein eigenes WLAN aufspannt, z.B. für Anwendungen im Außenbereich wenn man sich kabellos mit einem Setup verbinden will. Es geht aber auch als WLAN-Client, der dann einen Arduino über einen normalen Ethernetanschluss WLAN-fähig macht.
Und 20 Euro sind nun nicht so viel teurer als die Module die Du da gefunden hast.
Wichtig ist, man benötigt einen Arudino Ethernet oder ein Ethernet-Shield.
Praktischer Nebeneffekt, das Netzteil für den Router liefert 5B auf einen mini-USB Stecker, da kann man den Arduino über das 5V Pin gleich mit versorgen.

Mario.
11  International / Deutsch / Re: Ethernet Shield -> Nachricht auf Smartphone senden on: May 05, 2014, 08:31:16 am
Schau mal hier:
http://forum.arduino.cc/index.php?topic=137721.0
Prowl ist das Tool auf dem iPhone / Android.

Mario.
12  International / Deutsch / Re: Bootloader bei Attiny on: April 29, 2014, 03:04:36 pm
Kurz zur Erklärung, der Bootloader hat eigentlich mit der ganzen Sache nix zu tun. Das ist leider etwas verwirrend. Die Arduino IDE kann beim "normalen" Programmieren keine Fuses setzen. Auch nicht, wenn man einen Programmer (in diesem Fall den Arduino Mega) verwendet. Die Fuses legen aber u.a. fest mit welche Taktrate der Tiny betrieben wird und ob er den internen Oszillator oder einen externen Taktgeber verwenden soll.
Beim Vorgang "Bootloader installieren" werden die gemäß ausgewählten Eintrag aus der boards.txt festgelegten Fuses aber gesetzt, da das Tool "avrdude" dann mit den entsprechenden Parametern von der IDE aufgerufen wird. Der Bootloader selbst wird dabei nicht installiert, zumindest nicht auf den ATTinys. Zumal die meisten davon gar keine serielle Schnittstelle in Hardware haben und daher ein Bootloader nicht viel bringen würde. Wenn der RAM überhaupt ausreicht.

Zu dem Effekt mit den Zeiten. In der boards.txt sind diverse Basisdaten gespeichert. Unter anderem auch der entsprechende Grundtakt mit dem der ATTiny dann mit den Einstellungen (Fuses) betrieben werden soll. Aus diesem Wert, der nur eine reine Festlegung ist und erstmal nichts mit dem tatsächlich verwendeten Takt zu tun hat, werden dann alle möglichen Timings abgeleitet. Z.B. wieviele Takte ein delay(xxx) dauert.

Die meisten ATTinys sind im "Rohzustand" auf  1 MHz Taktfrequenz mit dem internen Oszillator eingestellt. Demzufolge wird eine im Sketch festgelegte Taktfrqeunz von 16 MHz (oder bei Dir 20 MHz) dazu führen, das alle Timings so berechnet werden, als ob der Tiny mit 20 MHz laufen würde. Läuft er aber nur mit 1 MHz, dann stimmt diese Zuordnung nicht und ein delay(1000) dauert 20 Mal so lange, also 20 Sekunden.
Die Angabe bei den ATTinys von 20Mhz, 16MHz oder 10 MHz bezieht sich auf die maximale Taktfrequenz mit der man den Chip betreiben kann, ohne das es Probleme gibt. Mit dem internen Oszillator sind aber maximal (wie oben schon geschrieben) 8MHz möglich und die sind auch noch ziemlich ungenau.

Ich hoffe das bringt ein wenig Licht ins Dunkle :-)

Mario.
13  International / Deutsch / Re: Zweidimensionales Array umbauen, aber wie? on: April 24, 2014, 05:57:53 am
Code:
byte x = inStr[0][1];
14  International / Deutsch / Re: Array auswählen on: April 24, 2014, 05:54:58 am
OK, jetzt wird es klarer. Dann passt doch für Dich der Vorschlag von Serenifly perfekt:

Code:
byte array_01[] = {34, 32, 4, 7};
byte array_02[] = {43, 2, 7, 2};
byte array_03[] = {35, 39, 40, 70};

byte* alle_werte[] = {array_01, array_02, array_03 };


Der Zugriff erfolgt dann wie beschrieben per alle_werte[0][z] auf das erste Array mit dem index "z". Auf Array 2 greifst Du dann mit alle_werte[1][y] zu usw.

Mario.
15  International / Deutsch / Re: Array auswählen on: April 23, 2014, 07:33:35 am
Wenn schon Abstraktion, dann eine Klasse Array, die im Konstruktor die Größe bekommt und das Ganze von Hand per malloc und free verwaltet. Die kann sich dann auch die Größe des Arrays merken und man kann ggf. sogar zur Laufzeit die Größe ändern.
Notfalls in plain C auch ein struct typedef mit Längenvariable und passenden Funktionen.
Pages: [1] 2 3 ... 95