Ik wil d.m.v. één knopdruk een reeks tekens naar de seriële poort van een PC, of andersoortig apparaat, sturen.
Heeft iemand een idee hoe dit voor elkaar te krijgen?

Achtergrondinfo: Dit is bedoeld voor besturing van een treinbaan, waarbij 'ouderwetse' drukknoppen worden gebruikt in combinatie met moderne digitale treinbesturing. Indrukken van zo'n knop moet een RS232 signaal genereren om een zogenaamde TwinCenter van Fleischmann (of Intellibox) aan te sturen. Die zorgt er vervolgens zelf voor dat via de rails het zogenaamde DCC-signaal bij de betreffende wissel aankomt. Vanaf de TwinCenter is alles dus al geregeld.

Baudrate zal liggen in de orde van grootte van 19KB/s of zoiets.
Ik ben benieuwd naar jullie oplossingen...

Boudie

Dit kun je vrij simpel met een PIC of AVR doen.
Mocht je nog nooit geprogrammeerd hebben dan is BASCOM een optie, dit is nl. gewoon basic voor een AVR.
http://www.mcselec.com/bascom-avr.htm

Ik moet uiteindelijk circa 25 schakelaars een unieke code laten sturen naar die RS232-poort.
Ik hoopte dus eigenlijk dat ik die code eenvoudig met dipswitches zou kunnen instellen (lekker flexibel aanpassen), of vast zou kunnen coderen via een paar logische poortjes.
Vervolgens de code aanbieden aan een IC die de vereiste RS-232-timing voor z'n rekening neemt.

Moet toch kunnen...?

idd niet zo moeilijk met AVR (of PIC) zelfs als je geen ervaring hebt met programmeren

maar is het eender welke code er serieel verstuurd wordt, of moet er een bestaand protocol gebruikt worden?

[Bericht gewijzigd door sven op ]

waarom niet multiplexen en dan door een MAX232???

Miezjel,

Ik heb net de datasheet van de MAX232 gelezen. Hoewel het gebruik van dat ding me nog niet helemaal duidelijk is, doet 'ie (denk ik) wel precies wat ik wil.

Iedereen bedankt!

De max232 zet alleen maar logische spanningen om naar RS232 level spanningen en omgekeerd.

> Ik moet uiteindelijk circa 25 schakelaars een unieke code laten sturen naar die RS232-poort.

Als je lui bent neem je een 40-pin PIC (16F871) (of AVR, maar ik ben nu eenmaal een PIC-man). Als je minder lui bent ga je multiplexen, 5 + 5 pinnen. Dan is een 18-pin chip genoeg (16F628A).

> Ik hoopte dus eigenlijk dat ik die code eenvoudig met dipswitches zou kunnen instellen (lekker flexibel aanpassen), of vast zou kunnen coderen via een paar logische poortjes.

25 schakeleaars x hoe lang is die code = heel veel dipswitches! Maar ook dat kan een PIC best voor je doen, het lijkt me wel erg omslachtig.

kan je ze niet in een matrix zetten?

ik persoonlijk werk niet graag met microcontrollers kep er weinig ervaring mee en als je niet iemand kent die dat wel heeft is het behoorlijk pittig om zown ding te proggen.
kan je makkelijker een paar ic's gebruiken om te multiplexen. Je moet bij het begin beginnen.....

mvg Michel:)

Op 8 oktober 2003 19:51:52 schreef Miezjel:
ik persoonlijk werk niet graag met microcontrollers kep er weinig ervaring mee en als je niet iemand kent die dat wel heeft is het behoorlijk pittig om zown ding te proggen.
kan je makkelijker een paar ic's gebruiken om te multiplexen. Je moet bij het begin beginnen.....

mvg Michel:)

daarom de vraag met er een bestaand protocol gevolgd worden of niet? Zo ja, kan je bijna niets anders dan een AVR/PIC gebruiken

Wat er (ongeveer) verstuurd moet worden is:
Schakelaar 1: M111M1 of M111M0
Schakelaar 2: M112M1 of M112M0
etc.

En dit alles volgens standaard RS232 protocol. Als een PC het verstaat, verstaat de TwinCenter het ook.

Op 9 oktober 2003 17:15:00 schreef Boudie:
Wat er (ongeveer) ...

Klinkt heel simpel. Als jij nu de moeite wilt nemen om *precies* the omschrijven wat je moet hebben wil ik het wel voor je maken (tenminste: het microcontroller deel), als reclame voor de 'kracht van de microcontroller'.

Wouter,

Doet de microcontroller dan alles, inklusief RS232-timing? Of regelt die alleen het samenstellen van de code aan de hand van een ingedrukte toets?
Het gaat mij met name om het RS232-gebeuren. De rest zou ik zelf moeten kunnen. Ik wil dus voorkomen dat ik je opzadel met iets wat ik eventueel zelf ook kan. Zou jammer zijn van jouw kostbare tijd.

Een microcontroller kan alles voor je doen. Je schakeling zal alleen maar bestaat uit je knoppen, een controller en een max232 ic wat de logische 5v signalen omzet naar rs232 signalenniveau's.

Zoals Bastiaan zegt. Je moet dus een beschrijving geven als 'zend op 5987 baud, 19 startbits, 5 databist, 7 stopbits'. Als knop 1 wordt ingedrukt, zend dan 'Hello world\n', als knop 2 ....

Op 12 oktober 2003 22:24:33 schreef Wouter van Ooijen:
zend op 5987 baud, 19 startbits, 5 databist, 7 stopbits

???

Creatief?