Toon posts:

Hoe oefenen met Technische Informatica?

Pagina: 1
Acties:

Vraag


Acties:
  • +1 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers,

Momenteel volg ik de opleiding applicatieontwikkeling en wil ik mij voorbereiden op de vervolgopleiding technische informatica. Ik weet nu al wat voor specialisatie ik wil kiezen en dat is realtime en embedded engineering maar wil ik daar nu alvast een beetje mee oefenen.

Met appdevelopment kan ik nu zo wat oneindig oefenen en kost het me niets. Een server is zo gratis opgezet, een host is tegenwoordig ook gratis te vinden waarmee ik kan oefenen. En zo kan ik zeker een basis vormen voordat ik uberhaupt al aan het werk ga.

Maar hoe doe kan dat met technische informatica op een goedkope manier. Bijvoorbeeld om met Robotica te oefenen kost voor een beginner een stukje lego al gauw 400 euro en dat is dan alleen een basis pakket. Zijn er goedkopere alternatieven om te kunnen knutselen met vakken die met technische informatica te maken hebben of kan dat gewoon wat centen kosten?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Nu online

Rmg

Er zijn legio. Microcontroller bordjes waar je overal wel c op kan doen, dus dat vangt het embedded programmeren wel op. (msp430 launchpad, lpcxpresso, esp8266 en zelfs een arduino is een prima platform, je hoeft namelijk die wiring lib/taal niet te gebruiken) hiermee zit je allemaal rond of onder de 10 euro.

Rtos's.. FreeRtos draait op een lpcxpresso, en er is ook een rasperry pi port van freertos als ik me niet vergis.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Voor de ARMs heb je nog RTX als RTOS. De volgende lijst is al degene die mbed RTOS gebruiken, wat een iets versimpelde schil rond RTX is, en die schil kan je gewoon skippen als je wil: https://developer.mbed.org/platforms/?mbed-os=17. Overigens mijn persoonlijke voorkeur (en advies dus, al weet ik niet of iedereen het ermee eens is :) ): Als je echt met microcontrollers gaat beginnen, dus geen Raspberries, maar bijvoorbeeld een Arduino, MSP430, lpcxpresso, mbed, etc, dan is RTOS een tweede stap. Begin dan met bare metal, en als het dan te veel gedoe wordt om verschillende zaken in parallel uit te voeren, ga dan kijken naar een RTOS.

Robotica wordt inderdaad snel prijzig bij fatsoenlijke kwaliteit componenten. Maar er zijn 1001 microcontroller bordjes waar je mee kan beginnen.

Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 19:25

Standeman

Prutser 1e klasse

Sissors schreef op maandag 19 september 2016 @ 09:16:
..

Robotica wordt inderdaad snel prijzig bij fatsoenlijke kwaliteit componenten. Maar er zijn 1001 microcontroller bordjes waar je mee kan beginnen.
Mhaow, met een beetje dumpsterdiving kan je prima aan stappenmotoren e.d. komen. Kwestie van langs de recyling gaan en een paar printers / videorecorders meenemen :p

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Rmg schreef op maandag 19 september 2016 @ 07:33:
Er zijn legio. Microcontroller bordjes waar je overal wel c op kan doen, dus dat vangt het embedded programmeren wel op. (msp430 launchpad, lpcxpresso, esp8266 en zelfs een arduino is een prima platform, je hoeft namelijk die wiring lib/taal niet te gebruiken) hiermee zit je allemaal rond of onder de 10 euro.

Rtos's.. FreeRtos draait op een lpcxpresso, en er is ook een rasperry pi port van freertos als ik me niet vergis.
Thanks voor alle info.

Dus zo te zien is het zeker mogelijk om te kunnen experimenteren in mijn vrije tijd als student en kost het niet al te veel gelukkig?

Hopelijk koop ik snel de arduino en ga ik daar eens mee knutselen in m'n vrije tijd :D!

Acties:
  • +1 Henk 'm!

  • janwillemCA
  • Registratie: Mei 2014
  • Laatst online: 10-10 12:08
Richt je niet alleen op het programmeer werk.

Uit ervaring weet ik dat technische informatica ook bestaat uit wat wiskunde (b).

Denk hierbij aan,

- Exponenten, Logaritmen, Lineare Algebra enz..

Als je met de Arduino bezig gaat, doe dat dan inderdaad gewoon in C i.p.v het standaard Arduino taaltje.
Kijk o.a naar dingen als bit shifting, I/O, Serieel (i2c, uart etc)

Succes!

Unix is simple. It just takes a genius to understand its simplicity


Acties:
  • +1 Henk 'm!

  • Davidshadow13
  • Registratie: Oktober 2006
  • Laatst online: 13:21
Inderdaad wat vooral belangrijk is in het eerste jaar TI op het HBO dan, ga ik even vanuit heb ik zelf ook gedaan. Is inderdaad Wiskunde B, vaak wordt daar vanuit de opleiding wel een wiskunde cursus voor MBO instromers voor aangeboden en verder zou ik nog niet meteen met realtime OS'en o.i.d aan de slag gaan dat komt tijdens de opleiding zelf wel naar voren maar ik zou je eerst richten op de basis van low-level ontwikkelen dat is bij een TI opleiding erg belangrijk en heb ik de meeste het 1e jaar nat zien gaan. Denk dat aan.

- Bitwise operaties dus het goed snappen van bit shifting, logische operaties <,>, AND, OR, EXCLUSIVE OR dat soort dingen.
- Seriële communicatie, baud rate, I2C en aanverwante protocollen.
- Assembly, het herkennen van de basis operaties en in ieder geval weten hoe een dis assembler werkt.
- On-chip debuggers en compile chain. Het snappen van de compile chain, de compilers, byte code/hex compilers, make files, etc. Dit is voor embedded heel anders dan high-level talen.
- Low-level kennis van de processor, ALU, scheduling, memory management, etc.
- Evt. kan je alvast beginnen met C als je dat interessant lijkt.

Dit zijn wel de dingen waar ik me op zou focussen als je met een goede basis en een beetje voorsprong het eerste jaar in wilt in ieder geval.

HD4Life @ Full-HD


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 14:49
Discovery kitjes (en in mindere mate development kits) kosten geen drol meer tegenwoordig. Neem bijvoorbeeld deze : Zo'n beetje de krachtigste general purpose uP die je op het moment kunt krijgen met een display en meer prut is ongeveer €50. IDE is gratis (Sytemworkbench) en programmer zit op de kit.

Met Arduino connector, yey.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • EMP
  • Registratie: November 2000
  • Laatst online: 10-10 11:06

EMP

Krulloos!

Dat van de wiskunde is opzich waar, maar ik heb ook TI gedaan, en moet eerlijk zeggen, dat ik gewoon precies genoeg daarvoor gedaan heb om de vakken te halen, en dat ik verder het programmeren en klooien met electronica het leukste vond, en ook het meeste gedaan heb.

Als je al ervaring hebt met applicaties, wil ik je aanraden om eens een systeempje op te zetten zonder OS. Bare-metal programmeren geeft je kennis over hoe een CPU werkt in een embedded systeem die je op veel vlakken weer kan gebruiken. Ik zou dat overigens in C doen, assembly is grappig, maar kom ik maar zelden tegen, en vaak zijn het korte stukjes/routines die samen met het internet wel te begrijpen zijn. Als hardware is een discovery kitje een prima begin, die in de link van farlane is mooi, maar je kunt dit ook al prima doen op een simpeler model, bijvoorbeeld deze.

Verbouwblog van mijn Schrootjespaleis uit 1925.
My anime addiction.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
janwillemCA schreef op maandag 19 september 2016 @ 10:13:
Richt je niet alleen op het programmeer werk.

Uit ervaring weet ik dat technische informatica ook bestaat uit wat wiskunde (b).

Denk hierbij aan,

- Exponenten, Logaritmen, Lineare Algebra enz..

Als je met de Arduino bezig gaat, doe dat dan inderdaad gewoon in C i.p.v het standaard Arduino taaltje.
Kijk o.a naar dingen als bit shifting, I/O, Serieel (i2c, uart etc)

Succes!
Hartelijk dank! Inderdaad, ik denk daarbij gelijk ook aan natuurkunde en wiskunde waar ik me bijvoorbeeld ook mee bezig kan gaan houden. Of waar denk jij dan precies aan :)?

Ah okey, dus Arduino in C is een aanrader? Want dan heb ik alvast wat ervaring met C voordat de lessen gegeven worden.

Acties:
  • 0 Henk 'm!

  • janwillemCA
  • Registratie: Mei 2014
  • Laatst online: 10-10 12:08
Assembly is wel handig om te kennen.
bij vakken als Microprocessor architectuur waar bijvoorbeeld het boek "Structured Computer Organization" van Andrew Tanenbaum wordt behandeld, komt Assembly voor.

Unix is simple. It just takes a genius to understand its simplicity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
janwillemCA schreef op maandag 19 september 2016 @ 12:24:
Assembly is wel handig om te kennen.
bij vakken als Microprocessor architectuur waar bijvoorbeeld het boek "Structured Computer Organization" van Andrew Tanenbaum wordt behandeld, komt Assembly voor.
Ja ik heb een boek gekregen van een Tweaker "How does it work". En daar wordt in uitgelegd hoe een computer/CPU werkt. Komt ook een stuk elektrotechniek in voor. Heel makkelijk boek blijkt het te zijn.

Acties:
  • 0 Henk 'm!

  • janwillemCA
  • Registratie: Mei 2014
  • Laatst online: 10-10 12:08
Jaa klopt inderdaad!

En net wat Davidshadow13 zegt, Die onderwerpen zijn zeer belangrijk!

Unix is simple. It just takes a genius to understand its simplicity


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 14:49
Verwijderd schreef op maandag 19 september 2016 @ 12:23:
[...]
Ah okey, dus Arduino in C is een aanrader? Want dan heb ik alvast wat ervaring met C voordat de lessen gegeven worden.
Wat mij betreft niet: de processor die in de originele Arduino zit is hopeloos achterhaald. Kijk liever naar een wat moderner platform met bijv een Cortex-M uP (Dat is zo'n beetje de standaard tegenwoordig)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Davidshadow13 schreef op maandag 19 september 2016 @ 10:27:
Inderdaad wat vooral belangrijk is in het eerste jaar TI op het HBO dan, ga ik even vanuit heb ik zelf ook gedaan. Is inderdaad Wiskunde B, vaak wordt daar vanuit de opleiding wel een wiskunde cursus voor MBO instromers voor aangeboden en verder zou ik nog niet meteen met realtime OS'en o.i.d aan de slag gaan dat komt tijdens de opleiding zelf wel naar voren maar ik zou je eerst richten op de basis van low-level ontwikkelen dat is bij een TI opleiding erg belangrijk en heb ik de meeste het 1e jaar nat zien gaan. Denk dat aan.

- Bitwise operaties dus het goed snappen van bit shifting, logische operaties <,>, AND, OR, EXCLUSIVE OR dat soort dingen.
- Seriële communicatie, baud rate, I2C en aanverwante protocollen.
- Assembly, het herkennen van de basis operaties en in ieder geval weten hoe een dis assembler werkt.
- On-chip debuggers en compile chain. Het snappen van de compile chain, de compilers, byte code/hex compilers, make files, etc. Dit is voor embedded heel anders dan high-level talen.
- Low-level kennis van de processor, ALU, scheduling, memory management, etc.
- Evt. kan je alvast beginnen met C als je dat interessant lijkt.

Dit zijn wel de dingen waar ik me op zou focussen als je met een goede basis en een beetje voorsprong het eerste jaar in wilt in ieder geval.
Thanks, aan dat advies heb ik heel veel!

Acties:
  • +1 Henk 'm!

  • janwillemCA
  • Registratie: Mei 2014
  • Laatst online: 10-10 12:08
farlane schreef op maandag 19 september 2016 @ 12:28:
[...]

Wat mij betreft niet: de processor die in de originele Arduino zit is hopeloos achterhaald. Kijk liever naar een wat moderner platform met bijv een Cortex-M uP (Dat is zo'n beetje de standaard tegenwoordig)
Lijkt me niet heel relevant voor dergelijke opleiding. Het gaat erom dat men leert begrijpen hoe microcontrollers aan te sturen d.m.v C. Welke processor er dan op zit is nog niet belangrijk. Eerst de basics.

Unix is simple. It just takes a genius to understand its simplicity


Acties:
  • 0 Henk 'm!

  • mashell
  • Registratie: Maart 2000
  • Laatst online: 21-11-2019
janwillemCA schreef op maandag 19 september 2016 @ 12:51:
[...]
Lijkt me niet heel relevant voor dergelijke opleiding. Het gaat erom dat men leert begrijpen hoe microcontrollers aan te sturen d.m.v C. Welke processor er dan op zit is nog niet belangrijk. Eerst de basics.
In de embedded wereld is inderdaad vaak minder van belang hoe snel of modern het ding is. Belangrijk is, kan deze de taak aan en het allerbelangrijkste is wat kost deze controller. Je zit dus eigenlijk altijd met oude meuk. Of je werkt aan een complex embedded systeem (denk aan iets als een navigatiesysteem) en dat zit al vrij snel in hogere talen op een serieus OS als linux te programmeren. Voor het leren van de basis is een oude controller dus ook goed genoeg.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 14:49
janwillemCA schreef op maandag 19 september 2016 @ 12:51:
Lijkt me niet heel relevant voor dergelijke opleiding.
Yes it is. Achterhaalde kennis is jammer van de tijd. In een vakgebied wat zo snel gaat is dat helemaal zonde.
mashell schreef op maandag 19 september 2016 @ 13:34:
In de embedded wereld is inderdaad vaak minder van belang hoe snel of modern het ding is.
:N

Als je de basis leert op een courant platform(want je gaat er ten onrechte van uit dat dat niet zou kunnen) leer je de basis *en* doe je bruikbare ervaring op die je in je baan meteen in de praktijk kunt brengen.

In ieder geval weet ik wel aan welke sollicitant ik de voorkeur zou geven.


Je gaat er tevens van uit dat de kostprijs altijd een item is (dat is het niet) en dat een modern platform duurder is dan een achterhaald platform (dat is het niet).

[ Voor 10% gewijzigd door farlane op 19-09-2016 17:51 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • mashell
  • Registratie: Maart 2000
  • Laatst online: 21-11-2019
farlane schreef op maandag 19 september 2016 @ 17:42:
Je gaat er tevens van uit dat de kostprijs altijd een item is (dat is het niet) en dat een modern platform duurder is dan een achterhaald platform (dat is het niet).[/small]
Niet altijd maar wel bijna altijd. Als je van je product aantallen (duizenden) gaat produceren dan maakt dat zeker wel uit. Bij een hobby project voor thuis, of een one-off oplossing natuurlijk niet.

Je denkfout zit er in dat je denkt het allemaal zo snel gaat. Het gaat helemaal niet snel. Er komt af en wat nieuws, maar meestal is het gewoon dat wat we al hadden, iets sneller, iets uitgebreider, een nieuwe naam, niks bijzonders eigenlijk. De vraag ging om een manier om het vak te leren. Dan gaat het om de basisprincipes en die zijn al 30 jaar onveranderd. Dat kan met een controller van 10 jaar oud ook. Ik zou de sollicitant aannemen die dat door heeft. :)

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Maar sowieso, wat is qua leren het verschil tussen een Atmega en bijvoorbeeld een KL05, een LPC812 of een F030? Die laatste twee hebben een 32-bit processor, dus het is minder belangrijk (en soms zelfs onwenselijk) om bij een integer te bedenken of die echt 32-bit moet zijn, of dat 8-bit voldoende is. Maar dat is nou niet iets waar je later onder zal lijden omdat je die ervaring hebt. En als je nog eens in VHDL wat gaat doen is het ook wel handig.

Qua peripherals hebben sommige fabrikanten gewoon alles gecopy paste van hun 8-bit familie, dus dat is nou ook niet het grootste verschil. En tja, als je een Atmega gaat gebruiken leer je niet de peripherals van een NXP MCU. Maar dat is ook zo als je een STM32 gaat gebruiken. Oftewel ik zou me er niet zo druk over maken dat het een oudere MCU is hoor. Ik denk dat één van belangrijkste zaken aan embedded programmeren is beseffen dat resources beperkt zijn. En dat leer je des te meer met een 8-bitter.

Enige verschil wat je dan nog hebt is de instructieset. En wat kennis hebben van de ARM instructieset* kan tegenwoordig geen kwaad als je daar mee bezig bent. Maar zolang je niet volledig in assembly het gaat programmeren zou ik me daar ook niet al te druk over maken.

* Bijvoorbeeld dat je integer delingen bij een M0 echt liever niet doet als het snel moet, terwijl M3s en M4s die probleemloos doen.

[ Voor 17% gewijzigd door Sissors op 19-09-2016 18:05 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ebay is je vriend. Je kunt AVR-chipjes kopen voor een appel en een ei en veel andere benodigdheden ook. Gooi er een keer 50-150 euro tegenaan en je hebt opeens veel spullen liggen waarmee je leuke dingen kunt doen.

Dat is uiteraard voor de dingen die je niet bij elkaar kunt schooien.

Acties:
  • 0 Henk 'm!

  • janwillemCA
  • Registratie: Mei 2014
  • Laatst online: 10-10 12:08
Exact, het leren schrijven van software voor embedded systemen kan ook prima op een simpele 8 bitter van Atmel. Je kan hier echt prima mee uit de voeten voor de meeste taken die men geleerd zal worden op een opleiding. Eventuele grotere en uitgebreidere registers & instructie sets zijn leuk voor later.

Unix is simple. It just takes a genius to understand its simplicity


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Overigens is er ook niks mis om op een ARM M0 te beginnen (en als je wil tegelijk wat andere erbij te kopen). Of je direct op een M7 met FPU moet beginnen als je echt je wil richten op gewoon wat simpele dingen leren en niet bijvoorbeeld image processing erop draaien, dat weet ik dan weer niet, omdat je dan de lessen van meer doen met minder mist.

Maar Arduino's hebben iig wel weer heel veel ondersteuning vanuit de gemeenschap. Het merendeel zal enkel de Arduino functies gebruiken, maar genoeg doen er ook meer mee.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 14:49
Niet altijd maar wel bijna altijd. Als je van je product aantallen (duizenden) gaat produceren dan maakt dat zeker wel uit.
Maar om het spul te leren absoluut niet.
Dan gaat het om de basisprincipes en die zijn al 30 jaar onveranderd. Dat kan met een controller van 10 jaar oud ook.
Maar op een modern platform ook, dus wat is het voordeel van dat oude platform vind je?
Je denkfout zit er in dat je denkt het allemaal zo snel gaat. Het gaat helemaal niet snel.
Mijn ervaring is anders. USB, ethernet, WiFi. Dat soort functies was ondenkbaar op betaalbare controllers van pak 'em beet 10 jaar geleden. Vandaag de dag vind men het vanzelfsprekend. En de komst van de IoT hype heeft ook het een en ander aangeslingerd,
...het leren schrijven van software voor embedded systemen...
Het leren schrijven van software, dat is het belangrijkste. Dat embedded gedeelte is bijzaak.
Sissors schreef op maandag 19 september 2016 @ 18:09:
Overigens is er ook niks mis om op een ARM M0 te beginnen (en als je wil tegelijk wat andere erbij te kopen). Of je direct op een M7 met FPU moet beginnen als je echt je wil richten op gewoon wat simpele dingen leren en niet bijvoorbeeld image processing erop draaien, dat weet ik dan weer niet, omdat je dan de lessen van meer doen met minder mist.
Ik zeg ook niet dat je met een M7 *moet* beginnnen, dat was alleen om een beeld te geven van wat de kosten zouden zijn. (Overigens is het aan de gang krijgen van zo'n ding niet veel meer werk/moeilijker dan het aan de gang krijgen van een M0)

Jullie impliceren allen dat een modern platform op een of andere manier "moeilijker" is dan een ATMega, maar mijn ervaring is precies tegenovergesteld. Als je nu instapt is het mijns inziens jammer om dat met zo'n beperkt ding te doen.

Het probleem vind ik dat veel studenten ontzettend veel nadruk leggen op de 'beperkte resources', terwijl dat A Lang niet zo relevant meer is als in het ATMega tijdperk en B Afleidt van waar het om gaat nl goede software maken.

[ Voor 9% gewijzigd door farlane op 19-09-2016 22:17 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
farlane schreef op maandag 19 september 2016 @ 22:11:
Het probleem vind ik dat veel studenten ontzettend veel nadruk leggen op de 'beperkte resources', terwijl dat A Lang niet zo relevant meer is als in het ATMega tijdperk en B Afleidt van waar het om gaat nl goede software maken.
Sowieso zijn die beperkte resources niet eens zo heel beperkend als je het bij kleinere hobby projecten houd. Je moet gewoon ff in 't achterhoofd houden dat de data die door 't chippie heen moet d'r daadwerkelijk doorheen past (denk aan het vullen van een LCD schermpje of data over USB heen pompen) en meestal kunnen zelfs de kleine/medium micro's dat toch wel. Ben zelf een tijdje geleden aan gaan kloten met wat PIC's, ARM's, weerstandjes, LCD schermpjes, een breadboardje etc. Meer dan genoeg te leren voor < 50 euro.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
farlane schreef op maandag 19 september 2016 @ 17:42:
[...]

Yes it is. Achterhaalde kennis is jammer van de tijd. In een vakgebied wat zo snel gaat is dat helemaal zonde.


[...]

:N

Als je de basis leert op een courant platform(want je gaat er ten onrechte van uit dat dat niet zou kunnen) leer je de basis *en* doe je bruikbare ervaring op die je in je baan meteen in de praktijk kunt brengen.

In ieder geval weet ik wel aan welke sollicitant ik de voorkeur zou geven.


Je gaat er tevens van uit dat de kostprijs altijd een item is (dat is het niet) en dat een modern platform duurder is dan een achterhaald platform (dat is het niet).
En wat is een courant platform als ik vragen mag :) ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mashell schreef op maandag 19 september 2016 @ 17:58:
[...]

Niet altijd maar wel bijna altijd. Als je van je product aantallen (duizenden) gaat produceren dan maakt dat zeker wel uit. Bij een hobby project voor thuis, of een one-off oplossing natuurlijk niet.

Je denkfout zit er in dat je denkt het allemaal zo snel gaat. Het gaat helemaal niet snel. Er komt af en wat nieuws, maar meestal is het gewoon dat wat we al hadden, iets sneller, iets uitgebreider, een nieuwe naam, niks bijzonders eigenlijk. De vraag ging om een manier om het vak te leren. Dan gaat het om de basisprincipes en die zijn al 30 jaar onveranderd. Dat kan met een controller van 10 jaar oud ook. Ik zou de sollicitant aannemen die dat door heeft. :)
Juist, mij gaat het er inderdaad om of ik het vak thuis op een redelijke manier kan bemachtigen om straks bij een sollicitatie ook gewoon te kunnen laten zien dat het in m'n bloed zit :D! Met appdevelopment wat een MBO versie van Software Engineering is op het HBO kan ik eigenlijk oneindig oefenen en projecten bouwen zonder er een cent voor te hoefen betalen. Dus vandaar mijn vraag.

Blijkbaar is het zeker mogelijk om goedkope computers aan te kunnen schaffen om daarmee te knutselen. Daarom is de volgende stap, kijken wat er precies gekocht kan worden om waar mee te oefenen.

In iedere geval bedankt allemaal voor jullie warme adviezen! Ik weet genoeg. C met Arduino lijkt mij een leuke eerste stap?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sissors schreef op maandag 19 september 2016 @ 18:00:
Maar sowieso, wat is qua leren het verschil tussen een Atmega en bijvoorbeeld een KL05, een LPC812 of een F030? Die laatste twee hebben een 32-bit processor, dus het is minder belangrijk (en soms zelfs onwenselijk) om bij een integer te bedenken of die echt 32-bit moet zijn, of dat 8-bit voldoende is. Maar dat is nou niet iets waar je later onder zal lijden omdat je die ervaring hebt. En als je nog eens in VHDL wat gaat doen is het ook wel handig.

Qua peripherals hebben sommige fabrikanten gewoon alles gecopy paste van hun 8-bit familie, dus dat is nou ook niet het grootste verschil. En tja, als je een Atmega gaat gebruiken leer je niet de peripherals van een NXP MCU. Maar dat is ook zo als je een STM32 gaat gebruiken. Oftewel ik zou me er niet zo druk over maken dat het een oudere MCU is hoor. Ik denk dat één van belangrijkste zaken aan embedded programmeren is beseffen dat resources beperkt zijn. En dat leer je des te meer met een 8-bitter.

Enige verschil wat je dan nog hebt is de instructieset. En wat kennis hebben van de ARM instructieset* kan tegenwoordig geen kwaad als je daar mee bezig bent. Maar zolang je niet volledig in assembly het gaat programmeren zou ik me daar ook niet al te druk over maken.

* Bijvoorbeeld dat je integer delingen bij een M0 echt liever niet doet als het snel moet, terwijl M3s en M4s die probleemloos doen.
Ja, ik dacht er ook aan om straks voor Assembly een makkelijke 8-bitter te kiezen. Heb jij al ervaring hiermee en kan je een goede processor hiervoor aanwijzen voor beginners?

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
farlane schreef op maandag 19 september 2016 @ 22:11:
[...]

Ik zeg ook niet dat je met een M7 *moet* beginnnen, dat was alleen om een beeld te geven van wat de kosten zouden zijn. (Overigens is het aan de gang krijgen van zo'n ding niet veel meer werk/moeilijker dan het aan de gang krijgen van een M0)

Jullie impliceren allen dat een modern platform op een of andere manier "moeilijker" is dan een ATMega, maar mijn ervaring is precies tegenovergesteld. Als je nu instapt is het mijns inziens jammer om dat met zo'n beperkt ding te doen.

Het probleem vind ik dat veel studenten ontzettend veel nadruk leggen op de 'beperkte resources', terwijl dat A Lang niet zo relevant meer is als in het ATMega tijdperk en B Afleidt van waar het om gaat nl goede software maken.
Nee andersom: Op een M7 zijn (sommige zaken) veel simpeler dan op een M0. Dan vergeet je die beperkte resources. En ik vind dat juist één van de belangrijkere zaken om in het oog te houden bij embedded programmeren. Ook als dat afleidt van wat sommige goede software noemen.

Bijvoorbeeld zoek een random vraag op stackoverflow op of je een array of een vector moet gebruiken in C++. Het antwoord zal bijna altijd zijn dat je uiteraard een vector moet gebruiken en een array heeft geen enkele plaats. Dat werkt leuk op je M7 inderdaad. Helaas als je dat op de gemiddelde M0 probeert ben je op het moment dat je #include <vector.h> schrijft al 50%, zo niet 100%, van je flash geheugen kwijt.


@TS, je kan posts editten ipv meerdere op een rij. Wat betreft assembly heb ik zelf alleen vroeger het op een Atmega gedaan. (Oké en weleens op ARM naar een heel klein beetje inline assembly gekeken). Zelf denk ik niet dat het verkeerd is om eens een LEDje te laten knipperen met assembly code, of de disassembly te bekijken hoe dat gaat. Maar ik zou eigenlijk niet snel moeilijker gaan doen dan dat met assembly, en weet ook niet of het het handigste is om daarmee te beginnen (zelf vroeger wel ooit gedaan, dus het kan zeker, maar C (of C++ of een combo) is toch wel een heel stuk praktischer.
Maar als je wat assembly doet zijn Atmegas wel relatief handig zover mij bekend. Al was het maar vanwege de sloot aan registers :).

[ Voor 19% gewijzigd door Sissors op 20-09-2016 08:00 ]


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 14:49
Verwijderd schreef op dinsdag 20 september 2016 @ 07:53:
[...]
Ja, ik dacht er ook aan om straks voor Assembly een makkelijke 8-bitter te kiezen. Heb jij al ervaring hiermee en kan je een goede processor hiervoor aanwijzen voor beginners?
Ik zou je afraden om met assembly te beginnen (nog een reden om met een moderner platform aan de slag te gaan). Als je dat leuk vind zou ik het pas doen op het moment dat je de rest al in de vingers hebt.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1