Show Posts
|
|
Pages: [1] 2 3
|
|
2
|
Using Arduino / Programming Questions / Re: Audioino?
|
on: January 01, 2013, 04:14:25 pm
|
so the usb/fdti chip simply converts usb data signals into TTL signals which are interpreted by the UART, correct? if thats the case could you not just recreate TTL signals through a headphone jack audio signal? Audio Signals are AC-coupled, they are not very well suited for NRZ-Codes used by RS232 ( NRZ: http://en.wikipedia.org/wiki/Non-return-to-zero ) This is the reason why I used Manchester Coding ( also use by Ethernet http://en.wikipedia.org/wiki/Manchester_coding ). After some time it turned out that not every PC audio output has the same polarity, therefore I had to switch to differential manchester coding. The circuit to interface the MC to the PC is in my opinion as minimalistic as possible:  Not all MCs have the same voltage switching level from 0 to 1. They seem to be for the Atmega168 quite similar but may differ to the Atemga328. So the voltage devider should be addapted.
|
|
|
|
|
3
|
International / Deutsch / Re: grahisches Terminal auf dem PC für Arduino
|
on: January 01, 2013, 03:57:34 pm
|
... hat der Arduino genug mit AD-Wandlung und Rohdaten-Übertragung zu tun. Wie das zu plotten ist, würde ich auf dem PC programmieren. Genau das habe ich absichtlich nicht getan. Der Sinn dieses Projektes besteht darin, dass der Anwender keine Ahnung vom Programm auf der PC-Seite haben muss. Das PC-seitige Programm bleibt immer gleich. Der PC soll als Co-Prozessor des Arduino dienen ( man kann den PC auch durch einen Rasperry-Pi ersetzen). In der neusten Version kann man auch Daten in in ein File auf dem PC-schreiben, das sieht dann so aus: sensorValue = analogRead(A0); Serial.print("w2file "); Serial.println(sensorValue); // write value to file
13 Zeichen seriell übertragen um ein pixel zu zeichnen, ist ziemlich langsam. (nicht nur bei 9600 Bd) Damit ich das Prinzip schnell evaluieren kann, habe ich auf eine Optimierung der Datenübertragungsgeschwindigkeit verzichtet. Ebenso habe ich der Einfachheit halber Python statt Java oder C verwendet.
|
|
|
|
|
4
|
Using Arduino / Interfacing w/ Software on the Computer / Re: Free serial monitor / serial data capture applications. Recommendations?
|
on: January 01, 2013, 12:34:15 pm
|
Here http://hobby-roboter.de/forum/viewtopic.php?f=4&t=139 I've written a python program for displaying and logging data from the arduino. To write data to a file from Arduino is quite simple: Serial.print("w2file "); Serial.println(sensorValue); // write value to file A demo program for logging analog values would be as follows: int sensorValue = 0; // value read from the pot
void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); }
void loop() {
//Serial.println("cls"); // clear screen Serial.println("pos 0 460"); // set cursor position to 0,460 Serial.println("print write analog values to file"); Serial.println("pos 100 300"); // set cursor position to 0,460 sensorValue = analogRead(A0); Serial.print("print "); Serial.println(sensorValue); // print value on screen Serial.print("w2file "); Serial.println(sensorValue); // write value to file delay(2000); }
|
|
|
|
|
5
|
Using Arduino / Programming Questions / Re: Audioino?
|
on: January 01, 2013, 11:38:58 am
|
johncc wrote: Aren't we talking about a potential use-case where the user could reprogram it by playing a wav file on their iOS/Android/laptop and an off-the-shelf 3.5mm patch plug? like you mentioned, this guy used the audio bootloader: http://tadpol.org/projects/AvrianJump.htmlsdinnu wrote: Chris, is there anyway you could please recompile a functional bootloader for the atmega328p chip? At the moment I have not so much time and I programmed the bootloader almost a year ago, so I forgott many things. Couldn't you use for the "first shot" an Atmega168 to see if the bootloader fits your needs?
|
|
|
|
|
6
|
International / Deutsch / grahisches Terminal auf dem PC für Arduino
|
on: January 01, 2013, 10:35:02 am
|
Hallo Zusammen, um mit dem Arduino auf dem PC zeichnen zu können, habe ich ein Programm in Python geschrieben: http://hobby-roboter.de/forum/viewtopic.php?f=4&t=139Um einen Punkt auf dem Bildschirm an die Stelle 100,150 zu zeichnen, schreibt man einfach in das Arduinoprogramm: Serial.println("plot 100 150"); Was meint Ihr dazu? Es würde mich freuen, wenn Ihr es ausprobiert. Im Link findet sich ein Beispielprogramm, um Messwerte des AD-Wandlers als Graph dazustellen. Gruß, chris
|
|
|
|
|
7
|
Using Arduino / Programming Questions / Re: Audioino?
|
on: December 31, 2012, 02:42:53 am
|
Ive was able to successfully add the arduino verison of the bootloader As mentioned before: If you compile the software with "ARDUINO_PLATFORM" enabled, you will not get a bootloader. This option is meant to compile a debugging platform to check the correct data transmission. If you take a look at the source code, you will understand.
|
|
|
|
|
8
|
Using Arduino / Programming Questions / Re: Audioino?
|
on: December 29, 2012, 12:22:18 pm
|
#ifdef ARDUINO_PLATFORM There seems to be a misunderstanding: The compilation for "ARDUINO_PLATFORM" is meant for debugging purpose. If you complile it with this option, you can use an Arduino to make the received values visible, it is not meant to be used for "bootloading". If you want to compile a bootloader you should use one of the "microcontroller" definitions.
|
|
|
|
|
9
|
Using Arduino / Programming Questions / Re: Audioino?
|
on: December 27, 2012, 05:00:31 am
|
The bootloader in the Flash is at the end of the Flash. Due to the size of the Atmega328 the address of the bootloader section differs from the Atmega168. After developing the first version of the bootloader I found a major bug. Some sound cards have an inverted output which would not work with the bootloader. I made a second java program which corrects this issue. Please use the program version which fits to your computer. http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=127
|
|
|
|
|
10
|
International / Deutsch / Re: AUDIOINO, eine minimalistischer Arduino mit Programmierung über Line Out
|
on: June 16, 2012, 04:19:42 am
|
Hallo Chris, ich habe R2 als Gleichstrompfad gegen Masse eingefügt. Ansonsten könnte das Pin gleichstrommäßig und ohne internen Pull Up in der Luft hängen.
Meiner Meinung nach würde man keinen "Strompfad" brauchen. Wenn man den Pull-Up auschaltet, ist der Eingang des Atmega ziemlich hochohmig. Deshalb kann man am Anfang durch geschickte Programmierung den Kondensator so aufladen, dass er die 1.3V am Eingang des Atmega erzeugt. Währen der Signalübertragung dürfte die Ladung des Kondensators ziemlich konstant bleiben ( und damit auch die Spannung über dem Kondensator ). "Unser AG-Computer hat mit dem differenziellem Manchastercode noch seine Mucken. Wir konnten nach einigem Hin und Herstellen am Poti und am Audiopegel zwar einige Pages laden, aber das Programm lief danach nicht los. Ist der neue Bootloader bei Dir stabil?" Meinst Du die Version pingpong_V4 oder AudioBoot2.0 ? Die Audioboot2.0 Version habe ich auf diesem Board hier http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=130mit einem Atmega8 und einem Atmega168 getestet, das lief einwandfrei. Auf dem ping-pong Game habe ich es nicht mehr getestet. Könnte in der neuen Konfiguration ein Fehler sein? Viele Grüße, Christoph
|
|
|
|
|
12
|
International / Deutsch / Re: AUDIOINO, eine minimalistischer Arduino mit Programmierung über Line Out
|
on: June 06, 2012, 12:40:01 am
|
Ich hab mir auch mal überlegt, ob der AVR sich nicht auch den Bias selber einstellen könnte Hallo Johannes, genau die gleiche Schaltung hatte ich mir auch schon überlegt. Ich habe sie dann wieder verworfen, weil man einen zusätzlichen Anschluss verwenden müsste. Im Moment ist der Bootloader auch fast schon an der 1K Grenze angelangt und auf 2K würde ich beim Atmega8 nicht gehen. Die Atmegas haben auch Komparator-Eingänge, die man verwenden könnte. Aber auch dort wollte ich die Festlegung auf einen speziellen Pin vermeiden. Mit einigem Zeitaufwand habe ich die differentielle Manchestercodierung implementiert ( zu finden wie üblich ). Jetzt funktioniert die Übertragung an jedem Computer. Ebenfalls gibt es eine Java-Programmierversion für die halbe Geschwindigkeit für die Erzeugung der MP3s. Super wäre es, wenn man das Programm mit der Arduino-Oberfläche verknüpfen könnte, sodass automatisch immer das richtige Arduino Programm geladen wird. Leider weiß ich nicht, wie man den Pfad automatisch finden kann. Vielleicht gibt es hier ja einen Experten, der dazu was sagen möchte? Bester Gruß, Christoph P.s.: schreib mir doch mal ne PM, wo Ihr euren Basteltreff habt
|
|
|
|
|
13
|
International / Deutsch / Re: AUDIOINO, eine minimalistischer Arduino mit Programmierung über Line Out
|
on: June 04, 2012, 12:08:40 pm
|
|
Hallo Johannes,
gerade eben habe ich Dein MP3 probiert. Es ging nicht. Doch dann kam meine Erinnerung zurück: mein Internetcomputer hat die verkehrte Polung des Audio-Signals. Dann habe ich das MP3 auf meinem anderen Computer ausprobiert. Und siehe da: es geht. Das Zebra ist erschienen ;-). Sieht ganz nett aus.
Und so hast Du wohl recht: Das mit der Verpolungssicherheit sollte angepasst werden.
Gruß, chris
|
|
|
|
|
15
|
International / Deutsch / Re: AUDIOINO, eine minimalistischer Arduino mit Programmierung über Line Out
|
on: May 23, 2012, 01:02:20 pm
|
Hallo Johannes, es freut mich seht, dass der Bootloader bei Dir jetzt stabil läuft.  Bei mir läuft er auch sehr stabil und man benötigt tatsächlich kein Programmiergerät mehr. Nur das Original Ping-Pong läuft nicht, weil es wohl nicht in die verbleibenden 7KFlash passt. Das mit dem Pegel hatte ich mir auch schon überlegt. Allerdings ist der Bootloader ja für einen Digitaleingang gemacht. Da kann man nur zwischen low- und high unterscheiden. Um den Pegel wirklich zu messen, müsste man einen ADC-Pin verwenden und zusätzlich einen ADC-Treiber einbauen. Welche Spannung musstest Du als Mittenspannung einstellen? Welches Widerstandsverhältnis hast Du gewählt? Bei meinem Ping-Pong ist es wie weiter oben beschrieben bei 1.4V bei 5V Versorgung. Programmieren Deine Schüler auch in C? Bester Gruß, chris
|
|
|
|
|