AVR RS232 segítség kérés

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
Sityu
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. december 23. kedd, 7:00

AVR RS232 segítség kérés

Hozzászólás Szerző: Sityu »

Sziasztok!
Üdvözlöm a fórum látogatóit! Nemrég reggeltem ide, igyekeztem szinte mindent elolvasni, nagyon hasznos dolgok vannak a lapon egy ilyen kezdő számára!

Még csak néhány napja próbálgatom a Diecimila boardot, most vásároltam.
Sok mindent sikerült már kipróbálni, sokat olvastam, de most elakadtam.

Szeretnék a fenti AVR-el összekötni egy Siemens telót, vagy egy Wavecom GSM modemet a 0 (Rx) és 1(Tx) kivezetéseken. Mindkét kivezetésen folyamatosan ott van 5V fesz, ha összekötöm van ECHO, de sem a teló, sem Max232-n keresztül a GSM moden nem áll vele szóba. Külön a tella, a modem is PC terminállal működik, a board az USB - virtual (Com=7) porton szintén végzi a dolgát.
Az alábbi egyszerű dolgot bróbálom: kiküldök egy AT-t, várok vissza egy OK-t, amit kiírok az LCD-re.
Később azt szeretném, hogy AT parancsokkal hívást indítsak egy adott számra, ha bizonyos feltételek megvannak. Egyszerű felügyelet.

Itt van amit próbálgatok:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 6,7,8,9);

int szam;

void setup()
{
pinMode(0,INPUT);
pinMode(1,OUTPUT);

Serial.begin(9600);
Serial.print("at");
delay(100);
}

void loop()
{
if (Serial.available()) {
delay(100);
lcd.clear();
while (Serial.available() > 0) {
szam = Serial.read();
lcd.write(szam);
}
}
}

Segítséget kérnék, hol találok valami infót erre a témára, a Googlit már két napja nyomom.
Előre is köszi!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az illesztőkábel nem igényel más feszültséget?


Pinmode 0/1-t nem kell definiálni!
A serial begin azt megteszi, de te előtte felülbíráltad....


A visszaolvasott értéket nem serial.readln-l kell beolvasni? ENTERrel zárja a modem az utasítást... Ezt a Br@y terminállal lehet meglesni...
Avatar
keresztg
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2008. szeptember 9. kedd, 6:00

Hozzászólás Szerző: keresztg »

Az AT parancsot Serial.println-nel iratnam ki. Ha nincs ott a sor vege (vagy a jo eg tudja, eppen melyik a CR LF parosbol :) ) karakter, akkor szvsz a telefon/modem bekesen var a folytatasra. Apropo, a sima AT parancsra sima OK-ot kellene kapni? En mindig ATZ paranccsal teszteltem... (ez egy reset modem, vagy mi...)

Tovabba a 9600 baudos sebesseg az helytallo, amikor a tel/modem indul? (azaz a PC terminallal hasznalatkor is ezt a sebesseget allitottad be?)
Tovabba a tel/modemnek nincs veletlenul igenye hardware flow controlra? (azaz a PC terminalban mi van erre beallitva?)
Avatar
Sityu
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. december 23. kedd, 7:00

Hozzászólás Szerző: Sityu »

Köszi a gyors segítséget!
A küldés serial.println lett, így az ipari modem megszólalt, de a Siemens nem akar. Szerintem az M35i-nek még illesztési problémája van. Az 3,3V-ot vár de az AVR 5V-on működik.
Most az történik, hogy állandó ECHO van, a modem visszaküldi a kapott AT parancsot és pár azonosíthatatlan karakter után hozzáfűzve a választ kiírja az LCD-re. Ha hívom a számot, rendben kiírja a RING-et, de azt is ismeretlen karakterek közé teszi. Olyan mint egy sorminta.
A kommunikáció így létrejött, most jöhet az igazi kód megírása.
A serial.readln nekem nem működik, nem szinezi a parancsot barnára sem.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

5V/3V átalakító egyszerű:

5V-----2k---3Vs bemenet-----3K-----GND

Oda-Vissza működik:)
A 3V3-as bemenetre 5Vt adva akár el is halálozhatott:(

A readln előtt a Flush-l kiirtanám a 128 byte-s buffert....
Avatar
Sityu
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. december 23. kedd, 7:00

Hozzászólás Szerző: Sityu »

Még nem halt be, a Siemens mindent kibír szerencsére. Átdugom a szervízkábelre, mindent megcsinál. A fesz osztót már csak holnap próbálom ki.
A readln-t nem fogadja el nekem, csak simán read.
Még a nyelvet szokom, eddig PLC-t próbálgattam, régen Turbo Pascal, mostanában Visual Basic for Applications.
Hatalmas segítség lenne valami működő példa, de sajna nem találok.
Ha elkészül, majd én publikálom és lesz! (remélem)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Bascomban esetleg minta?:)

A Processinget most tanul(gat)om én is...
Avatar
Sityu
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2008. december 23. kedd, 7:00

Hozzászólás Szerző: Sityu »

Az is szuper lenne!
Jó látni más ötleteit, sokat lehet tanulni belőle.
Avatar
zoli_varga
DrótVégénSzéndarab
Hozzászólások: 20
Csatlakozott: 2009. november 9. hétfő, 7:00

Hozzászólás Szerző: zoli_varga »

Üdv!

Arduinoban használok egy mega168 chippet usbAsp programozóval, mert a programozó hamarább volt meg mint hogy beszereztem volta egy usb rs232 átalakítót.
Viszont most már kommunikációra is szeretném használni a vasat ezért beszereztem egy usb-rs232 átalakítót és egy max232-t. Összeszerelés után a tesztnél olyan furcsaságot tapasztaltam hogy a terminálban fogadott adatok első 3-4 karaktere hibásan jelenik meg míg a többit rendesen írja. profilic chippel szerelt átalakító win7 64bit rendszerben. Tudtok-e ötletet adni hogy a hibát mi okozhatja (chip órajel, zaj, szoftver) ?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Arduino esetén a soros sebesség ne legyen nagyobb mint 9600 bps.
Avatar
zoli_varga
DrótVégénSzéndarab
Hozzászólások: 20
Csatlakozott: 2009. november 9. hétfő, 7:00

Hozzászólás Szerző: zoli_varga »

köszönöm. de sajnos ott is csinálja.
Analóg értéket ebből kifolyólag nem tudok küldeni ami értelmezhető a pcnek és fogadni sem. Sajnos 57k sebesség kellene.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Arduino esetén 57k NEM járható út. A kavrcból kerül leosztásra a sorosporti sebesség.

57k és 06MHz esetén a hiba >2%. USBillesztő <0.5% eltérést tolerál...


Próbáld meg esetleg szoftveres sorosportként használni az AVR-en. NewSoftSerial függvénykönyvárral talán sikered lesz....
Avatar
zoli_varga
DrótVégénSzéndarab
Hozzászólások: 20
Csatlakozott: 2009. november 9. hétfő, 7:00

Hozzászólás Szerző: zoli_varga »

igen azt hiszem sw serialt próbálok ki.
Válasz küldése