hugo stoutjesdijk schreef: ↑17 jul 2018 21:23
Een beetje C programmeur kan dit in 1 regel.
Zit al 20 jaar in het "vak" maar dat ga ik niet in 1 regel krijgen, of het wordt zo'n regel van die wedstrijd om 1 regel programmas te schrijven, totaal onleesbaar en onbegrijpbaar
Maar ik zou het gewoon op een PC doen, Visual Studio van Microsoft is gratis en makkelijker debuggen dan op een PC wordt het niet.
Gezien je niet het snelste proces zoekt en je de vlakken wilt opvullen zou ik het volgende adviseren:
Je maakt een subroutine die 1 blokje van het raster opvult. Stel je begint links boven in dat blokje en je zorgt dat hij daar ook eindigt met de pen weer omhoog.
Dan:
xpos = 0; y pos =0;
for (regel = 0; regel< aantal_regels; regel++)
{
for ( kolom = 0 ; kolom < aantal_kolommen; kolom++)
{
if ( matix(kolom, regel) == 1)
TekenBlokje();
xpos = xpos + x_maat_van_blokje;
verplaats_pen_naar (xpos);
}
xpos = 0;
verplaats_pen_naar (ypos);
ypos = ypos + y_maat_van_blokje;
verplaats_pen_naar(ypos);
}
Niet de snelse en netste oplossing maar wel de oplossing die exact de jouw gegeven uitdaging uitvoert.
hugo stoutjesdijk schreef: ↑17 jul 2018 21:23
Een beetje C programmeur kan dit in 1 regel.
Zit al 20 jaar in het "vak" maar dat ga ik niet in 1 regel krijgen, of het wordt zo'n regel van die wedstrijd om 1 regel programmas te schrijven, totaal onleesbaar en onbegrijpbaar
Dat was ook waar ik op doelde, eigenlijk meer een uitspraak uit de opkpomst jaren van C.
Kjelt schreef: ↑17 jul 2018 23:55
Maar ik zou het gewoon op een PC doen, Visual Studio van Microsoft is gratis en makkelijker debuggen dan op een PC wordt het niet.
Volgens mij wil ie de stappenmoteren direct aansturen, en waar die 'ingeklokje' bitjes vandaan komen is ook niet duidelijk, lijkt me in ieder geval in allebei de gevallen niet een typisch PC klusje, dan is het koppelen van de hardware weer een probleem.
Maar de routine even virtueel testen op een PC omgeving is natuurlijk goed te doen.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
hugo stoutjesdijk schreef: ↑18 jul 2018 07:55
Dat was ook waar ik op doelde
Ah ik miste de smiley
Volgens mij wil ie de stappenmoteren direct aansturen, en waar die 'ingeklokje' bitjes vandaan komen is ook niet duidelijk, lijkt me in ieder geval in allebei de gevallen niet een typisch PC klusje, dan is het koppelen van de hardware weer een probleem.
Direct de stappenmotoren aansturen ?
Sorrie maar dan wordt het een project dat nooit afkomt of hij moet Ben Heck zijn.
Ik mis zoals bij veel topics duidelijke requirements.
Kjelt schreef: ↑18 jul 2018 09:17
Direct de stappenmotoren aansturen ?
Sorrie maar dan wordt het een project dat nooit afkomt of hij moet Ben Heck zijn.
Ik mis zoals bij veel topics duidelijke requirements.
Ik ben bang dat je gelijk hebt, al kunnen sommige mensen je wel verrassen nadat ze een zetje in de juiste richting hebben gekregen.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
direct de stappenmotors aan sturen ? bedoelen julie zonder driver, die komt er natuurlijk wel tussen.
de output van het programma moet dan step/dir. zijn.
@henkzelf, ik ben er nog over aan het nadenken, dank voor de reactie.
Vertel ook eens waar die bitmap vandaan komt en hoe die in jouw computer zou moeten komen. Is dat een file die ergens staat of wordt dat over een kabeltje serieel aangeleverd.
Wat voor computer wil je gebruiken om die step en dir signalen te genereren? Een PC of iets als een Arduino.
even uit de doeken doen waar die bitmap vandaan komt, voor de beeldvorming:
300 lichtsluisjes boven elkaar (Y), die langs een werkstuk loopt
waarbij de verplaatsing (X) in 300 stappen word bij gehouden.
dus bij x=1 alle lichtsluizen serieel naar buiten "klokken"
bij x=2 alle lichtsluizen serieel naar buiten "klokken"
ik heb niet gezegd dat ik goed in C kan programmeren, maar ik heb het wel eens gedaan (AVR micro controler)
Wie niet goed in C thuis is (of er niet van houd) kan voor embedded toepassingen tegenwoordig ook micropython gebruiken. Dat is makkelijker , vaak overzichtelijker . Het Nederlandse bedrijf Pycom ontwikkeld en verkoopt bordjes die micropython draaien, maar en zijn ook zat andere aanbieders.
Overigens wel benieuwd waarom je lichtsluisjes gebruikt ipv van een linescan camera of normale camera ?
Zo heel langzaam druppelt er meer informatie binnen.
Dat scannen, wil je dat met dezelfde pc doen als het aansturen van de plotter?
Moet dat simultaan gebeuren dus scannen en direct plotten of wordt de bitmap eerst ergens opgeslagen?
scannen liefst met een apparte microcontroller.
bitmap word opgeslagen.
lichtsluisjes omdat er niet voldoende afstand tot het werkstuk kan worden genomen (max. ca. 200 mm.)
micropython ga ik eens bekijken, bedankt.
lichtsluisjes omdat er niet voldoende afstand tot het werkstuk kan worden genomen (max. ca. 200 mm.)
duidelijk
micropython ga ik eens bekijken, bedankt.
Mocht micropython je niet bevallen, dan is er ook nog BASCOM-AVR, een BASIC compiler voor Atmel AVR microprocessoren, ik heb het vroeger gebruikt bij lesgeven. Het is verbazend snel en gemaakt door een Nederlands bedrijf (MCS Electronics) . Net als micropython snel te leren maar ik betwijfel of het makkelijk overzichtelijk en netjes te houden is.
bascom ken ik, daar ben ik mee begonnen om AVR's te programeren. ben daar toen mee gestopt omdat de compiler op een gegeven moment dingen deed die ik niet verwachte. dat is een nadeel van een hogere programmeer taal, de compiler moet meer omzetten waardoor er onverwachte dingen gebeuren. of het lag gewoon aan mij dat ik het niet snapte,....dat kan natuurlijk ook
op een gegeven moment toch maar de overstap gemaakt naar C, korter en direkter .