Sida 1 av 2
Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 14:49:23
av TpS
Håller på med ett litet projekt på jobbet där jag ska använda en Arduino Nano för att filtrera information som går från en RS232-kopplad streckodsscanner.
Mitt problem är följande:
Har skapat ett mycket enkelt program för att testa funktionen på TX-pinnen, det enda jag vill är egentligen att texten "Hello World" ska skrivas på rätt sätt. Koden ser ut som följer:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("Hello World");
delay(2000);
}
Om jag nu använder den inbyggda "Serial Monitor" i Arduino-programmet och väljer Com3 (vilket är den virtuella COM-porten som skapats via kopplingen USB <--> Arduino-kortet) så visas texten på helt rätt sätt. Väljer jag däremot Com1 som är den riktiga Com-porten på datorn så får jag bara text i stil med detta: «:: ú
'7åë
Rent spontant så känns det som att data bits, paritet eller stop bits som bråkar, men båda portarna har samma inställning (9600, 8, None, 1) och vad jag vet så går det inte att ställa in vad Arduinon ska skicka?
Har även testat att skapa en anslutning via "#include <SoftwareSerial.h>" men får då samma output men på en annan digital pin då...
Någon som har nån idé vad jag ska prova härnäst?
Re: Problem med Seriel-ut, Arduino Nano
Postat: 11 januari 2012, 16:58:25
av sodjan
> ...så får jag bara text i stil med detta:...
Vad betyder "i stil med" mer specifikt ?
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 18:16:09
av TpS
Det som printas i Serial monitorn istället för Hello World är exakt det jag skrev, nämligen: «:: ú
'7åë.
Ser ut som en samling slumpmässiga tecken men antar att det är nån form av feltolkning av signalerna som ger detta.
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 18:47:32
av zealotry
kollat här:
http://arduino.cc/en/Serial/Println ?
Går att välja hur datat ska skickas, hex, dec, oct osv.. minns inte riktigt men tror jag hade något liknande problem förut. Länge sen dock så kommer inte ihåg exakt.
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 18:55:30
av sodjan
> Det som printas i Serial monitorn istället för Hello World är exakt det jag skrev,
OK, det är ju en viss skillnad, "i stil med" och "exakt" är ju inte alls samma sak.

Men OK, har du gjort en analys av de tecken då får över ?
> Ser ut som en samling slumpmässiga tecken...
Om du får *samma* tecken varje gång du skickar "Hello World" så är
de absolut *inte* slumpmässiga! Det är regelstyrt. Och jag antar att
om du ändrar "Hello World" till något annat så får du ett annat (men
alltid samma) resultat?
Kan "Serial monitorn" ställas om till hex-mode så att du kan se exakt vilka
bitmönster som skickas (eller i alla fall tas imot)?
Längden verkar rätt, så jag tror inte på baudrate fel.
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 19:00:19
av jesse
Vad jag kan se så har inte Arduino Nano någon RS232-anslutning. På vilket vis ansluter du din Arduino Nano till COM1-porten ?
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 20:34:38
av TpS
Många svar, sånt gillas
zealotry:
Har testat detta men inte lyckats, Serial.println(65, DEC); ska ju t.ex resultera i bokstaven A men så blev det inte (kommer inte ihåg just nu exakt vad jag fick istället däremot) Får testa mer imorgon.
sodjan
Nej, var kanske lite otydlig där

Och det ser ut som slumpmässiga tecken men det är det inte, exakt denna sekvens repeteras om och om igen tills jag stänger ner monitorn , så visst är dom regelstyrda på nåt sätt. Och precis som du säger så ändras tecknen om jag skriver nåt annat än Hello World.
Den inbyggda monitorn går inte att ändra något men ska prova imorgon med programmet "RS232 Analyzer", funkar inte på min jobbdator utan måste köra det på en annan där jag har Admin-rättigheter vilket krånglar till det... (Företagsnätverk osv, osv..

)
jesse
Nej det är riktigt, Nanon har inbyggd serie-kommunikation via två digitala pinnar, RX0 och TX1.
Nanon sitter i en splitbox som delar upp en D-sub ingång till 4 st utgångar. TX1 på Nanon är kopplad till pin 2 dvs Receive (
http://wiki.xtronics.com/index.php/RS232_DB9_pinout) på en av utgångarna.
Resultatet av detta ska alltså bli att 3 av utgångarna har orörda signaler direkt från scannern och den fjärde ska jag alltså kunna göra om via Nanon.
Till alla
Min fråga är väl egentligen:
Om min Nano funkar som den ska "out of the box" så borde jag väl få samma resultat både via TX-pinnen och via den virtuella com-porten som usbn skapar?
Och en annan sak; spelar det nån roll om jag inkluderar pin 5 på D-suben (ground) in till gnd på Nanon? Har testat både med och utan och får alltid samma resultat.
Tack för visat intresse!

Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 20:39:18
av adent
Ladda hem "Brays terminal" om du inte har den, den är grymt trevlig. Där kan du sätta baud-raten manuellt (i steg om 1) också.
Prova att fiddla med inställningarna (Baud-rate) där och se om du kan få en inställning där du ser Hello world. Lyckas du vet du vad ardouinon kör med, om det nu är något sådant, men det luktar så imho.
MVH: Mikael
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 20:46:18
av TpS
adent
Mycket bra tips, såg ut att vara precis det jag behöver.
Och utan installation med, också riktigt praktiskt på jobbet

Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 20:52:39
av discomike
TpS: vad jesse undrar är om du har något separat nivå-skiftar chip (ex max232) för att få RS232-nivå från din arduino (kan inte ardunio, men från bilderna såg jag inget chip och då är det bara TTL nivå ut, det fungerar inte att plugga direkt till en dator..),
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 21:08:18
av TpS
discomike
Aha, nej det har jag inte. Har kopplat Tx direkt till com-porten på datorn.
Skulle t.ex en sån här fungera?:
http://www.ebay.com/itm/MAX232-RS232-TT ... 19cc600295
Alternativt köpa lösa chip då.
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 21:20:54
av metric
Det är inte så att du får en inverterad signal ut?
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 21:22:37
av TpS
metric
Vet jag inte, finns det nåt sätt att ta reda på det ?
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 21:29:22
av discomike
Ja du behöver något sätt att få 0-5V signalen att bli +-5V och inverterat, kolla wikipedia sidorna för RS232 och TTL =) En del nyare com-portar kan klara sig med ttl nivåer om du inverterar signalen som metric säger.
Re: Problem med Seriell-ut, Arduino Nano
Postat: 11 januari 2012, 21:31:57
av adent
Har du schemat för arduionon du har? Om den inte har nån max232-krets eller liknande på sig så har du nog TTL-serie-lina och då är signalen inverterad. 1 är 5V och 0 är 0V. Med Rs232 så: 1 är -12V och 0 är 12V.
Du kan ju prova att slå på hex-output i brays terminal och kolla om bytsen du får är inversen av Tecknen för hello world. Fast den borde inte godkänna 0V som 12V iofs...
En sån här funkar oxo, lite billigare:
http://www.dealextreme.com/p/rs232-seri ... ver-101467
DX har även en Blåtandsadapter från TTL till blåtand för $8. Då blir projektet trådlöst. Har provat bägge.
EDIT: länk:
http://www.dealextreme.com/p/jy-mcu-ard ... ule-104299
MVH: Mikael