ik ben net in de programmer wereld gespapt en ik wil graag een autonome robot gaan bouwen. ik heb cybot en heb veel schema's van hem doorgekeken en begrijp wel een beetje hoe alles werkt.

de robot moet kunnen:
lijn volgen
dingen ontwijken
en op licht reageren

voor het lijn volgen gebruik ik een schema van robot.buiskool.nl die werkt met 2 van die cny70 dingetjes.

dingen ontwijken wil ik met IR doen. omdat sonar me nog niets van bij staat.

ik heb nog een vraagje voor het programmeren omdat ik meerdere funkties heb wil ik de ene uit kunnen schakelen.
ik heb daar voor een dilswitch.

kan ik het lijvolg programma een naam geven bijv pro1
dingen ontwijken bijv pro2

en dat ik dan met die dilswitch dat in en uit schakel

ik programmer met basic
heeft iemand meschien een site of een voorbeeld hoe je diverse programma's een naam kan geven die je dan met een schakelaar aan en uit kunt zeten.

ik gebruik trauwens een pic16f77

stef

Bedoel je met die "programma's" niet gewoon je methods? Ik begrijp je vraag niet zo goed... je kunt toch gewoon een voorwaarde stellen wat het ontwijken van dingen of reageren op licht boven het lijn-volgen stelt? Of is dit niet wat je bedoelt (ik moet trouwens ook eerlijk zeggen dat ik nog nooit van een dilswitch heb gehoord, dus kan best dat ik aan iets hele anders zit te denken, maar met puur programmeren lijkt me dit niet zo moeilijk en is ook niet echt autonoom te noemen toch (behalve dat het programma op zichzelf draait)?).

dipswitch sorry

bij cybot heb je ook een dipswitch daar maar kan je instellen of je een lijn wil volgen of iets wil ontwijken dat wil ik ook. je kan telkens maar 1 funktie te gelijk gebruiken. maar omdat je 1 pic heb en dus 3 programma's
zo dat je eentje van de 3 aan kunt zetten maar hoe schrijf je dat dan in je programma.

autonoom is niet het juiste woord idd

stef

Ik denk dat hij functies bedoeld. wat hij doet is gewoon gestructureerd programmeren en niet object georienteerd programmeren

dit is wat je kunt proberen:

schrijf een functie die je dipswitch 'leest'
schrijf verder functies voor alle andere onderdeeltjes aan je robotje (heb je een commando waarmee je terug kan keren vanaf het punt waar je gebleven was? (tijd geleden dat ik in basic heb geprogrammeerd)return ofso...) vervolgens begin je je 'main/hoofd programma ' waarin je als eerst de functie 'les dipswitch' uit laat voeren.. die leest een standje. dat standje kan je opslaan in ene variabele, en die variabele kan je vervolgens gebruiken om in je main of hoofdprogramma te kiezen welke functie je nu uit gaat voeren.

nu heb je 2 mogelijkheden, als je een gewoon return commando hebt, kan je een functie maken die in de juiste volgorde de juiste sensors leest en daarmee de motortjes aanstuurt(en al je andere frutsels), OF je kan gewoon alles keihard in een 'lijnvolg functie' zetten, en een 'ontwijk'functie.

dus in de ontwijke functie EN in de lijnvolg functie staat allebei de code om de motortjes de jiuste richting in te sturen.

maar erg netjes is dit niet.

suc6 met je robotje, houd ons op de hoogte!

madthijs

Ik denk dat hij bedoelt:

op de cybot zit ergens een Dil switch... en daarmee kan je kiezen wat de cybot doet...
dus als de schakelaar binair 1 staat volgt die een lijn..
als die op binair 2 staat gaat de cybot opzoek naar licht...
op 3 kan je hem met een infrarood zender besturen...

en nu wil hij weten hoe je dat doet op een zelfgebouwde robot...

tja ik denk de schakelaartjes van je dilswitch inlezen in je 877...
en dan verschillene delen software schrijven, die alleen maar werken als het juiste schakelaartje aan staat...

of is dit niet wat je bedoel?

oke dat met die programma´s zal wel goed gan komen.
ik heb van een klasgenotje één 2e cybot gekocht deze was nog niet helemaal af maar ik gebruik de onderdelen de aandrijving sensors enz.
de lijn volg module onder in de robot geeft een signal af. wat voor signaal geeft hij gewoon stroom door waneer hij op een zwarte streep staat?

linkje: http://robot.buiskool.net/CYBOT-html/ImagesCybot/follower.gif

stef

je geef trouwens zelf lekker antwoord terug???
ten eerste stel je een hele vage vraag...
je krijg van een aantal mensen een antwoord, met daarin een vraag terug:

Op 14 maart 2007 21:50:18 schreef XQlusive:
Bedoel je met die "programma's" niet gewoon je methods? Ik begrijp je vraag niet zo goed...

Op 14 maart 2007 23:18:14 schreef madthijs:
Ik denk dat hij functies bedoeld.

Op 14 maart 2007 23:48:10 schreef Arjan Swets:
Ik denk dat hij bedoelt:........

op de cybot zit ergens een Dil switch... ...

of is dit niet wat je bedoel?

Je geef niemand een antwoord... praat er gewoon overheen met een nieuwe vraag? Zat het antwoord er bij? of ?
vraag me af hoe lang mensen je antwoord blijven geven...?

even over je schemaatje:

je zet dus 5 volt over punt 1 en 4

en op 2 en 3 komt een spanning terug...zal minder als 5 volt zijn

die 2 spanningen meet je met de analoge ingangen op die op je pic zitten....

zo te zien zal die bij veel licht (dus wit papier), zal P2 meer doorlaten, waardoor de spanning die je meet lager zal worden...

dus bij zwart hoge spanning, wit is lage spanning...
ik denk ook dat je misschien het op een gewone ingang kan zetten... wit =0 en zwart =1

maar dan kan je alleen met wit en zwart werken... ik heb ook wel eens zo robotje gemaakt maar die deed bij andere kleuren iets anders... (harder rijden... of 180 draaien)

[Bericht gewijzigd door Arjan Swets op ]

sorry voor het niet antwoorden.
ik bedoel inderdaat de funkties (programma's).
ik heb het net uitgeprobeerd. of die stroom terug komt ja het werkt ik lees met mijn multie meter ongeveer 4.5 volt dat terug komt. bij wit licht is dat veel minder.

nogmaals sorry voor het niet andwoorden.

stef

Op 17 maart 2007 15:31:50 schreef roboteer drg:
sorry voor het niet antwoorden.
ik bedoel inderdaat de funkties (programma's).
ik heb het net uitgeprobeerd. of die stroom terug komt ja het werkt ik lees met mijn multie meter ongeveer 4.5 volt dat terug komt. bij wit licht is dat veel minder.

nogmaals sorry voor het niet andwoorden.

stef

Als je meter op volt staat meet je dus geen stroom, maar spanning...
spanning staat over 2 punten, stroom gaat er lopen als je 2 punten met een spanningsverschil doorverbind...

als je stroom wilt meten moet je je meter in serie zeten met de verbruiker...

ik heb het systeem van die line volger nu onder de knie.
voor die funkties heb ik iets anders bedacht. omdat ik toch met proton ide basic programeer kan ik maar 50 regels typen. dat is toch veel te weinig voor een hele robot.
als ik nou voor elke functie een andere pic gebruik kan ik met mijn mode swithc gewoon één pic stroom geven zo dat hij zijn funkie uit voert.

ik heb een ondersteletje gemaakt waar alles op moet komen.
op de foto zit de electronica van cybot er op om gewoon even lol te hebben.

http://home.kabelfoon.nl/~herman25/robotfotos/cybot%20ombouwen/DSC0531…

stef

ik heb net even een schematje gemaakt hoe het ongeveer voor de aandrijving er uit moet komen te zien.

de funkties van de pic´s en de spullen daar bij heb ik niet getekend. rechts onder in komen 4 draden deze gaan naar het motor bord van cybot.

als ik een pic geen stroom geef en ik sluit het zo aan werkt het toch?

http://home.kabelfoon.nl/~herman25/robotfotos/cybot%20ombouwen/schemac…

stef

[Bericht gewijzigd door stef110 op ]

hmm, je schema is een lekker zootje, gebruik weerstandjes ipv spoelen, die kan je vinden onder RCL in de eagle libraries..en ipv wire, net, om je draden te leggen
verder kan je een pinheader op je board zetten om een correcte aansluiting te maken naar je motor control board..

ook kan je de pinnen van je PIC via een weerstandje driect naar het motor control board laten lopen.

wat gaan de ic's doen in je schema???

verder, alle begin is moeilijk, zie m'n opmerkingen als feedback, niet als kritiek :)

ik vindt het tekenen ook lastig ik heb alles in mijn hoofd zitten hoe ik het wil gaan aansluiten. ik zal nog wel eens de tijd nemen om een een compleet uitgebreid schema te maken.

stef

hallotjes

ik heb gisteren avond een nieuw schema gemaakt voor het mainboard. hopelijk is deze wel begrijpelijk.
ik gebruik 2 pic16f628a 1 voor het verwerken van de data en 1tje voor de numer weergave zo dat ik weet welke mode switch aanstaat.

http://home.kabelfoon.nl/~herman25/robotfotos/fora/robotmainbord.bmp

de deze picjes zijn tijdelijk uit verkocht bij voti dus daar moet ik nog even op wachten.

ik heb okal eens stukje software geschreven ben er nog niet helemaal mee klaar.
http://home.kabelfoon.nl/~herman25/robotcontrol.bas

stef

[Bericht gewijzigd door stef110 op ]

Op 19 maart 2007 10:13:06 schreef roboteer drg:
ik heb net even een schematje gemaakt hoe het ongeveer voor de aandrijving er uit moet komen te zien.

de funkties van de pic´s en de spullen daar bij heb ik niet getekend. rechts onder in komen 4 draden deze gaan naar het motor bord van cybot.

als ik een pic geen stroom geef en ik sluit het zo aan werkt het toch?

http://home.kabelfoon.nl/~herman25/robotfotos/cybot%20ombouwen/schemac…

stef

wat is ic1 & ic2 & ic3?

dat schema is komen te vervalen. omdat ik nu snap hoe ik meerdere funkties in een pic kan douwen. ik gebruik nu gewoon eentje voor de data en eentje voor de display en misschien komt er dan nog een 3e bij voor een afstandbediening.

stef

update:

ik heb het mainbord getekend in eagle.

http://home.kabelfoon.nl/~herman25/robotfotos/fora/DSC05352.JPG
die print die er oplicht is voor de motor besturing hier op zit ook en 5v voeding.

zo moet het worden. ik ga voor het eerst etsen hopelijk gaat het luken. zijn er mensen die nu problemen zien op deze foto? sporen te dun of te dicht opelkaar?

alvastbedankt stef

ik ben nu vanplan om de nummer display weg te halen en er gewoon een 16*2 letter display in te bouwen.
ik moet dan alleen wel de 2 pic´s samen laten werken. op de picbasic site staat hou je de lcd moet aansluiten daar voor gebruikt hij onderandere port b.2 voor (pin nummer 8) voor maar ik heb port b.1 en b.2 nodig voor het zenden en ontvangen voor de comunicatie tussen de pic's. kan ik nu het draad van de lcd ergens anders plaatsen of moet ik de comunicatie draden anders legen?

stef

die condensator staat op de bovenkant tis immers een smd maar ik weet niet of dit de bedoeling is? (wil je een dubbelzijdige pcb)

lijntje van pin 10 (ic1 denk ik) dat naar pin 4 IC2 gaat sluit 3 pads kort zo lijkt het (van het 8 pins ding ik weet niet wat het is)

waarom zou je 2 pics gebruiken als het gewoon in 1 grotere past 16f877a 16f873 of misschien een 18f?

op picbasic.nl staat ook hoe je de datalijnen op een andere poort kan aansluiten staat ergens een link in de cursus

ik heb de proton ide lite die kan maar 50 regels maken. met een grote chip red ik dat niet. denk ik. de proton ide lite kan wel een grote chip programmeren een 16F877
ik zal eens kijken of ik alles daar op kan krijken.

als ik me programma schrijf in die demo versie zegt hij dan plotseling stop het is genoeg of als ik klaar ben en ik wil het in een hex bestand zetten zo dat ik alles voor niks geschreven heb?

[Bericht gewijzigd door Henry S. op ]

Op 31 maart 2007 17:46:18 schreef roboteer drg:
ik ben nu vanplan om de nummer display weg te halen en er gewoon een 16*2 letter display in te bouwen.
ik moet dan alleen wel de 2 pic´s samen laten werken. op de picbasic site staat hou je de lcd moet aansluiten daar voor gebruikt hij onderandere port b.2 voor (pin nummer 8) voor maar ik heb port b.1 en b.2 nodig voor het zenden en ontvangen voor de comunicatie tussen de pic's. kan ik nu het draad van de lcd ergens anders plaatsen of moet ik de comunicatie draden anders legen?

stef

je kan het display ook aa andere pinnen hangen hoor?

Op 31 maart 2007 19:01:41 schreef roboteer drg:
[...]
als ik me programma schrijf in die demo versie zegt hij dan plotseling stop het is genoeg of als ik klaar ben en ik wil het in een hex bestand zetten zo dat ik alles voor niks geschreven heb?

Bij het compilen.

Je kan meerdere commando's (niet alle) op een regel zetten.

Past dat nog niet dan is de demo van Mikrobasic misschien een optie.

ik heb dat programma gedownload maar het is toch wel een andere programmeer taal van basic?

stef

ik gebruik deze Basic compiler..
http://www.oshonsoft.com/picbasiccompiler.html

voor 29 dolar heb je een simulator en gelijk de basic compiler... die bijna elke maand nog ge update wordt...

als je goede ideeen heb wordt het erin gemaakt...

Heeeeeeeeeeel erg tevreden over dat software pakket...

en best sterk pakket , want de propellerklok van goudmus
( http://www.goudmus.nl/ ) is ook geschreven met deze basic compiler...