Ik heb een project voor school waarvoor ik een robot moet bouwen die aan een stapel voorwaardes moet doen, over het algemeen redelijk eenvoudige opdrachten (is eerste jaar elektrotechniek HTS), maar 1tje kom ik niet helemaal uit, en ik vroeg me af of er hier mensen misschien goeie ideeën hebben.
De microcontroller is de BS2p24 van Parallax en de taal is basic.
De robot moet starten op het moment dat deze uit een hele serie morsecodes de letter 'd' hoort. De morsecodes zijn opgebouwd uit uit pulsen van 0.1 seconde. de letter 'd' is dan binair: 011101010. Zelf zit ik er aan te denken om gewoon alle morse-codes op te vangen en op te slaan in een array van bits door dit stukje code:
morse_reader:
'variables
morse_time VAR Byte
morse_time = 7
morse_read VAR Bit(100)
'check loop
PAUSE 50 'zorgt ervoor dat er midden in het signaal (op 0.05s gekeken wordt voor betrouwbaarheid
INDEX_morse VAR Byte
FOR INDEX_morse = 0 TO morse_time
IF IN8 = 1 THEN hoog
IF IN8 = 0 THEN laag
PAUSE 100
NEXT
'Functies van morse:
hoog:
morse_read(INDEX) = 1
laag:
morse_read(INDEX) = 0
Ik weet niet of dit kan werken omdat ik de array op de robot niet kan uitlezen (ben nog aan het uitzoeken hoe dat werkt). Heeft iemand enig idee of dit zou kunnen werken en hoe ik in de ontstane array kan kijken of de bitreeks van de letter 'd' voorkomt?
nb. het kan zijn dat er nog wat kleine programmeer foutjes in zitten die ik nog niet ontdekt heb, ik heb nog niet zoveel ervaring met basic.
De microcontroller is de BS2p24 van Parallax en de taal is basic.
De robot moet starten op het moment dat deze uit een hele serie morsecodes de letter 'd' hoort. De morsecodes zijn opgebouwd uit uit pulsen van 0.1 seconde. de letter 'd' is dan binair: 011101010. Zelf zit ik er aan te denken om gewoon alle morse-codes op te vangen en op te slaan in een array van bits door dit stukje code:
morse_reader:
'variables
morse_time VAR Byte
morse_time = 7
morse_read VAR Bit(100)
'check loop
PAUSE 50 'zorgt ervoor dat er midden in het signaal (op 0.05s gekeken wordt voor betrouwbaarheid
INDEX_morse VAR Byte
FOR INDEX_morse = 0 TO morse_time
IF IN8 = 1 THEN hoog
IF IN8 = 0 THEN laag
PAUSE 100
NEXT
'Functies van morse:
hoog:
morse_read(INDEX) = 1
laag:
morse_read(INDEX) = 0
Ik weet niet of dit kan werken omdat ik de array op de robot niet kan uitlezen (ben nog aan het uitzoeken hoe dat werkt). Heeft iemand enig idee of dit zou kunnen werken en hoe ik in de ontstane array kan kijken of de bitreeks van de letter 'd' voorkomt?
nb. het kan zijn dat er nog wat kleine programmeer foutjes in zitten die ik nog niet ontdekt heb, ik heb nog niet zoveel ervaring met basic.
[ Voor 3% gewijzigd door Verwijderd op 06-05-2005 16:13 ]