Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Hi,
Ik heb al wat gezocht maar kan niet echt wat vinden wat ik zoek.
Ik wil graag 1 centrale pic hebben en daaromheen verschillende pic'jes
De grote pic krijgt alle data naar zich toe geschreven via een datalijn die aan alle andere pic's gekoppeld is.
De bedoeling is dat hij de gegevens op ene lcd scherm zet.
Ik programmeer in basic met het programma proton ide zoals jullie wel kennen.
ik kwam de woorden uart en usart tegen.
Mijn pic 16f628a kan usart gebruiken.
Heeft iemand wat uitleg en misschien een voorbeeld programma met betrekkening tot het zenden en ontvangen met basic?
Gr Lithium
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
welk protocol rs232, i2c, spi, iets anders wat je zelf verzind
voor rs232 kan je kijken in de help van proton
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Bekijk de instructies SERIN/SEROUT en RSIN/RSOUT bijvoorbeeld eens.
Je kunt dan alles aan 1 poort (en dus 1 lijn) hangen (en massa natuurlijk).
Eerst verzendt je een wachtwoord (of beter gezegd een adres).
Hierdoor kunnen alle op die lijn aangesloten ontvangende PIC's zien of de data die daarna komt voor hem bestemd is.
De poort van de verzendende PIC gaat na het verzenden natuurlijk ook weer over als ingang.
Hoe je het maakt mag je helemaal zelf weten.
Neem bijvoorbeeld als adres een 8 bits waarde en spreek met alle PIC's af hoe groot de daarna te ontvangen data is.
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Welk protocol het is maakt niet uit maar ik had wel al gelezen dat deze pic de functie in zich heeft dus waarom zou ik zelf wat verzinnen?
Ik had de handleiding van proton al gevonden maar zal het eens opzoeken hoe ik het kan gebruiken.
Een simpel voorbeeldje van zenden en ontvangen zou echt ideaal zijn dat is makkelijker te begrijpen dan een lap tekst
Er wordt bij serin en serout een receive of transmit pin gevraagd, kan ik daar gewoon een willekeurig pin nummer invullen die ik wil gebruiken als zenden of ontvangen?
Timeout, heb je dat persee nodig?
Edit: heb al iets gevonden, zal maandag op school (waar mijn spullen liggen) even proberen.
Lijkt me wel leuk als het werkt
Het voordeel van zo'n wachtwoord is dat je altijd de goede pic aan kan sturen.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Serin en serout werkt voor mij uitstekend!
Als je niet te tijd critisch bent, kun je wel een paar timeouts plaatsen.
Dan blijft de PIC wachten tot hij data binnen krijgt voor hij verder gaat.
Luistert het allemaal wat nauwer, maak je een subroutine die middels een klein loopje checkt op binnengekomen data.
benleentje
Golden Member
Moet je voor ser in en ser out de uart pinnen van de pic gebruiken of kan je daar elke willekeurige pin voor gebruiken. Dus kan je ser out ook gebruiken om een schuifregister te vullen. Daar heb je dan een klok en data signaal nodig.
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 2 maart 2008 09:29:53 schreef timmie:
serout is software matig liever hserout gebruiken das in de hardware
startpost:
Ik heb al wat gezocht maar kan niet echt wat vinden wat ik zoek.
Ik wil graag 1 centrale pic hebben en daaromheen verschillende pic'jes
Kan dat wel wanneer je maar 1 poort gebruikt, Tim?
Kun je een seriele bus maken oid?
René Kramer
Ook tegenwind gaat liggen.
Op 2 maart 2008 02:54:20 schreef benleentje:
Moet je voor ser in en ser out de uart pinnen van de pic gebruiken of kan je daar elke willekeurige pin voor gebruiken. Dus kan je ser out ook gebruiken om een schuifregister te vullen. Daar heb je dan een klok en data signaal nodig.
Voor een softwarematige SERIN en SEROUT, (je hebt nog een paar benamingen), kun je elke poort gebruiken die je normaal als I/O poort kunt gebruiken.
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Op 2 maart 2008 09:36:24 schreef Fantomaz:
Kan dat wel wanneer je maar 1 poort gebruikt, Tim?
Kun je een seriele bus maken oid?
Ja, ik heb hier thuis 7 PIC's aan elkaar zitten met maar 1 poort per PIC.
Elke PIC heeft z'n poort als ingang staan.
Als een PIC iets wil verzenden over de lijn (Frits' bus) omdat de PIC met de IR ontvanger bijvoorbeeld een IR opdracht van een afstandsbediening heeft ontvangen, dan maakt die PIC zijn poort (tijdelijk)een uitgang en verzendt de opdracht over de lijn.
Alle PIC's die er iets mee willen doen, doen er wat mee
.
Lees voor iets uitgebreider info over dit project www.picbasic.nl/include.htm
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
OK, maar dan heb je het zeker niet over de HRSin/out of serin/out?
En als je daar maar 1 poort voor hebt gereserveerd, hoe doe je het dan met de clock?
Gaat dat met een buffer oid? (korte pakketjes data kun je dan bufferen voor de PIC zijn buffer leegmaakt.)
Edit:
Even het linkje naar je site doorgelopen en ik moet zeggen dat het idee erachter (jouw toepassing) wel een leuke opzet is!
En ik zag nu dat je het wel met serin/-out doet.
Heb je een ringleiding door je woning waarbij je steeds voeding/massa/data aftapt? Of is het een sternetwerk.
En hoe doe je het met de afstanden? Ik schat dat zo hier en daar wel 5 meter tussen de PIC's zitten.
Raak je dan geen data kwijt? of gaat deze misschen vervormen?
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Afgeschermde kabel doet ook wel wonderen.
Maandag eens proberen om data te verzenden en die op een lcd te zetten.
Snelheid is wel belangrijk maar een stopbit van 50ms is goed.
Komt het inderdaad vaak voor dat er bits verloren gaan?
edit:
frits
is het niks om een cursus te maken over het verzenden en ontvangen van die code's ervaring heb je al 
[Bericht gewijzigd door Lithium op (20%)]
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Ik zou graag over veel meer dingen nog cursusdelen schrijven (interrupts, fuses, seriele verbindingen, I2C, schuifregisters, enz.).
Probleem is... TIJD!
EDIT:
@Fantomaz:
Ik heb de 7 PIC's met elkaar verbonden en doe de communicatie met SERIN en SEROUT.
Je weet toch zelf wel dat je bij SERIN/SEROUT geen klokpuls hebt omdat je met een bepaalde snelheid (Baud) verzendt (= asynchroon)?
Dus 1 poort per PIC is voldoende.
Sommige kabels zijn zo'n 8 a 10 meter, onafgeschermd zelfs, gewoon goedkoop telefoonsnoer.
Ik kon zonder problemen snelheden halen van 9600 baud, voor de veiligheid heb ik alles op 4800 Baud gezet.
Het is een ring/ster gebeuren.
In de keuken zit een master PIC (18F452) waar 3 PIC's op zitten aangesloten (ster dus) van hal, achterkamer en slaapkamer.
Parallel daaraan loopt een kabel de huiskamer in (onzichtbaar door plinten) die langs de overige PIC's loopt (soort ring dus).
Ook draadloos zit er bij, die stuurt data naar de beamerkast (draadloos) waar een ontvanger zit.
Deze PIC ontvangt alleen en zendt dus nooit wat terug, voert alleen commando's uit (beamer aan/uit + bediening, halogeenlamp in de kast dimmen/aan-/uitzetten, waterbubbels in lamp, spiegel openen/sluiten voor beamer, ventilator voor beamer).
Zie tekening op www.picbasic.nl/poster.htm
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Wel grappig al die dingen, ik vraag me wel eens af, maak je ze nou omdat je het leuk vind of ook om op de website te zetten?
Ik overweeg ook wel eens om zoiets te maken maar vraag me altijd af heeft het wel nut om het te maken?
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 2 maart 2008 16:19:06 schreef Lithium:
Ik overweeg ook wel eens om zoiets te maken maar vraag me altijd af heeft het wel nut om het te maken?
Ik heb al langer het idee dat Frits wel de kroon spant met het integreren van PIC's in zijn leven.
@Frits...
Ik ben al sinds ergens begin december niet meer écht met mijn project verder gegaan en het stof hoopt zich alwel snel op op mijn project, alswel op mijn kennis daaromtrent, blijkt. 
Ziekte en nu een plens water in de kelder waardoor ik niet zonder laarzen kan gaan hobbyen 
Dat ik 2 draden in gedachten had (data & clock) komt omdat ik over 2 draden communiceer. Maar dan wel Send en Recieve...
Wel een apespannend Idee trouwens, je hele huis "besturen" met PIC's
Hoe doe je dat nou met adressering en zo?
Alle PIC's accepteren de data omdat je bij alle PIC hun SEROUT/-IN als ingang geconfigureerd hebt?
En hoe laat je die poort dan zenden? Kun je de ingang omzetten naar uitgang in een werkende PIC?
De PIC accepteert ten alle tijde de data, ziet of het voor hem van toepassing is en gebruikt de data? Dan is die adressing ook geen issue natuurlijk...
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Ik heb nog geen eigen huis, alleen me kamer waar ik veel zit 
wel al een schakel kast gemaakt zodat ik bijna alle spanning van me kamer af kan halen en erop zetten.
Wil je later misschien processen op pics via een netwerk van slechts twee draden (power + communicatie!) met elkaar laten praten (RS232), kijk dan eens of het volgende inspiratie geeft: http://www.circuitsonline.net/forum/view/52801/
Een toepassing door imand anders: http://www.bramblyhill.com/Picaxe/serialPower.aspx
/Jurjen
Joeri de Man
LED there be light
Ik bereid mij er op voor om dingen te automatiseren. Projecten die iets moeten aansturen ofzo lamellen/verlichting/rolgordijnen daar komt een pic in met alvast een 433 mHz ontvanger.
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Ik wil het ook echt wel gaan gebruiken, misschien als ik ik een eigen huis heb maar dat duurt nog wel even 
Maar in me kamer is een leuk begin wel leuk
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Op 2 maart 2008 17:01:16 schreef Fantomaz:
Hoe doe je dat nou met adressering en zo?
Alle PIC's accepteren de data omdat je bij alle PIC hun SEROUT/-IN als ingang geconfigureerd hebt?
En hoe laat je die poort dan zenden? Kun je de ingang omzetten naar uitgang in een werkende PIC?
SEROUT maakt de poort zelf uitgang als deze ingang is en SERIN doet het omgekeerde.
Kijk trouwens ook eens bij de instructies INPUT en OUTPUT, die van een opgegeven poort resp. in- of uitgang maakt.
Adressering is eenvoudig.
Je stuurt data over de bus waarvan de eerste paar bits (of een byte, helemaal naar eigen behoefte maken) bepalen of de data die meteen daarachter zit voor de betreffende PIC is.
Zo heb ik het echter niet (meer).
Bij mij heeft elke opdracht een eigen waarde.
Een PIC verzendt een waarde over de bus.
Alle andere PIC's ontvangen die, en sturen deze waarde door een SELECT CASE.
De PIC(s) die de waarde in de lijst hebben staan doen er wat mee.
Zo is er ook geen adressering nodig.
Fantomaz
Ik moet hier weer vaker komen... Wat kun je zo'n forum als deze gaan missen. :-)
Op 2 maart 2008 21:04:42 schreef Frits Kieftenbelt:
Kijk trouwens ook eens bij de instructies INPUT en OUTPUT, die van een opgegeven poort resp. in- of uitgang maakt.
Met welk doel?
Algemene info? Of om te controleren of een poort zowel in- als output kan zijn?
Bij mij heeft elke opdracht een eigen waarde.
Een PIC verzendt een waarde over de bus.
Alle andere PIC's ontvangen die, en sturen deze waarde door een SELECT CASE.
De PIC(s) die de waarde in de lijst hebben staan doen er wat mee.
Zo is er ook geen adressering nodig.
Dat idee had ik er ook al bij.
Inprincipe zet je dus alle PIC's daarmee aan het werk, bij elke inkomende instructie. Sterker nog, je moet ze waarschijnlijk telkens die poort laten uitlezen en verwerken.
Maar het zullen geen grote belastingen zijn voor de PIC, neem ik aan?
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Hallo,
Heeft iemand aub een voorbeeld van verzenden en ontvangen?
Het ontvangen getal op een lcd neerzetten.
Ik ben aan het proberen maar kom er niet uit
weet dat het niet moeilijk is maar lukt me niet.
Gr Lithium
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Even zoeken op C.O.
Heb hier onlangs een voorbeeldje geplaatst.
Ik zal van de week kijken of ik hier iets kan posten.
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Op 2 maart 2008 21:23:08 schreef Fantomaz:
Of om te controleren of een poort zowel in- als output kan zijn?
Neen, je vroeg of je in een lopend programma een poort om kunt zetten van in- naar uitgang en vice versa (dus niet met TRIS).
Dat kan dus met de instructies INPUT en OUTPUT.
Dat idee had ik er ook al bij.
Inprincipe zet je dus alle PIC's daarmee aan het werk, bij elke inkomende instructie. Sterker nog, je moet ze waarschijnlijk telkens die poort laten uitlezen en verwerken.
Maar het zullen geen grote belastingen zijn voor de PIC, neem ik aan?
Aan het werk?
Dit is voor een PIC een fluitje van een cent.
Er komt steeds een 8 bits waarde binnen, zo kan ik 255 commando's verzenden (0 heeft een speciale functie).
En mocht dat te weinig zijn in de toekomst dan maak ik er een 16 bits pakketje van, kan ik 65535 commando's verzenden over de bus (meer dan voldoende lijkt me).
Er wordt maar af en toe iets over de bus verzonden ('s nachts soms wel urenlang niets).
Alleen bij een druk op de afstandsbediening, een telefoonopdracht (sporadisch) van de telefoonprint, een DCF77 via RTC tijd/datumopdracht (bijvoorbeeld elke dag tussen 13:00 en 16:00 de klapramen openen (dat zijn maar 2 opdrachten in 3 uur tijd), IR sensoren, deurbelknop, LDR's, enz.
Dus de PIC's hebben een luizeleven.
Als ik het project helemaal af heb, maak ik er wel een verslag van op m'n site over hoe en wat.
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Ik heb wat gezocht op CO welke zoek opdracht moet ik op zoeken?
serin heb ik gezocht maar echt voorbeelden kon ik niet vinden