wat zijn de nadelen van arduino ten opzichte van een raspberry pi bijvoorbeeld ?
Zoals inmiddels meer dan vaak genoeg gezegd zonder verdere basale onderbouwing: Arduino en RaspBerry Pi zijn hele verschillende apparaten met een ander doel. Zaken waarbij een Arduino vaak voldoende is, is een RaspBerry Pi vaak overkill of zelfs ronduit ongeschikt. Daar zijn talloze redenen voor te bedenken en het is daarom ook (ook voor een ontwerper) belangrijk om de mogelijkheden, het gemak en de technische eisen en specificaties van het apparaat dat je wilt bouwen en de hardware die je van plan bent daarvoor te gebruiken aan elkaar af te wegen.
Maar laat ik in ieder geval een poging doen, aan de hand van de eenvoudige technische specificaties van beiden, waarvoor je de een boven de ander zou kiezen of hoe je een combinatie van beiden goed zou kunnen gebruiken.
Een Arduino is een printplaat met een microcontroller, die in principe weinig meer kan doen dan het aan (+5V) of uit (0V) zetten van elektrische uitgangen, digitale ingangen kan lezen (+5V is hoog, 0V is laag), en aan de hand van die waarden door middel van het op de chip geprogrammeerde programma berekeningetjes en simpele als-dan redeneringen kan maken en kan uitvoeren. Afhankelijk van het soort Arduino dat je koopt heb je ook nog de mogelijkheid tot het inlezen van analoge signalen (een afstandssensor geeft een signaal tussen de 0-5V terug aan de Arduino; daarmee kan je dan een gradiënt aan waarden inlezen tegenover een eenvoudig aan/uit signaal), zoals sensors die vaak geven. Hiervoor dienen dan de analoge ingangspoorten.
Een Arduino kan één programma tegelijkertijd uitvoeren (namelijk: die ene die je op het bordje geprogrammeerd hebt) en zal dat programma continu herhalen.
Een Arduino is uitermate geschikt voor het
aansturen van een systeem met meerdere elektrische signalen. Jij wilt een autootje maken? Daarvoor moet je de motor van de auto aan en uit kunnen zetten (en misschien zelfs wel de snelheid kunnen variëren, daarvoor gebruik je dan PWM), je moet elektrische signalen van sensoren binnehalen en verwerken, dat zijn allemaal dingen die de Arduino uitstekend kan: een rits aan simpele instructies, veelal met een als-dan programmastructuur, die werkt op basis van metingen van elektrische signaaltjes en de uitvoer door het uitzenden van elektrische signaaltjes. Simpele elektrische toepassingen is de Arduino absoluut heer en meester, want:
- Goedkoop (De chips kosten nog geen €3, met bordje erbij iets meer) (dus je rouwt er niet om om zo'n bordje te investeren in een situatie met permanent gebruik)
- Eenvoudig (De Arduino ontwikkelomgeving is gemaakt voor beginnende hobbyisten en snel prototypen)
- Veelzijdig (Enorm veel poortjes zodat je mogelijkheden vrijwel eindeloos zijn)
Projecten waarin je een Arduino zult tegenkomen:
- Automatisch rolgordijn (laatst hier nog op Tweakers)
- DIY Domotica
- Simpele robotjes
- Waarom ben ik aan deze lijst begonnen
- Ga naar youtube en zoek op 'Arduino', de mogelijkheden zijn eindeloos
De Arduino is denk ik voor de meeste mensen die blind aan een prototype beginnen de aanstuurelektronica bij uitstek. Het is simpel, het is snel, het debugt makkelijk, en in heel veel gevallen is een Arduino meer dan toereikend.
De Arduino heeft ook wel tekortkomingen en die zul je vooral vinden in zijn verwerkingskracht. Het is geen laatste generatie Core i7 die op een Arduino zit, eerder zelfs een beetje een archaïsche chip met een kloksnelheid van 16MHz. Nou is het voor een rolgordijntje niet zo interessant of het een paar milliseconden duurt voordat het gordijn daadwerkelijk gaat zakken wanneer de lichtsensor onder de grenswaarde komt. Maar voor een toepassing waarbij je in realtime camerabeeld moet uitlezen, waar je honderden keren per seconde de huidige waarden moet herevalueren, berekenen en moet bijregelen (denk aan een tweepotige robot die continu moet meten of 'ie niet omvalt), daar schiet de processor van de Arduino eenvoudigweg tekort. Dat zijn toepassingen waarbij je echt ruwe processorkracht nodig hebt.
Wat mij brengt op: de Raspberry Pi.
De RaspBerry Pi is veel meer te vergelijken met het moederbord van een smartphone uit 2007-8. Er zit een ARM processor in (niet geheel toevallig vergelijkbaar met een chip zoals je die in je smartphone hebt zitten), en er draait gewoon een prima besturingssysteem op (Linux) waarmee je in principe gewoon een volwaardige computer hebt. Net als voor je computer thuis, kan je programma's maken voor op jouw computer. Het voordeel van een Raspberry Pi is dus dat er een stuk fatsoenlijker processor op zit die, wanneer dat jou goed uitkomt, zelfs meerdere programma's tegelijkertijd kan draaien. Ook kan een Raspberry Pi, omdat ze processorkracht veel hoger is, ook veel meer data tegelijkertijd aan en verwerken. Zo kan je gewoon skypen met een Raspberry Pi, dus moet zo'n ding wel genoeg processorkracht hebben om de data van die webcam in te lezen en te verwerken.
Dat is eigenlijk wel het grootste voordeel van een Rpi: Je hebt meer processorkracht. Zaken die een hoop snelheid of een hoop rekenkracht vereisen, daar is een RaspBerry Pi veel geschikter voor.
Een Raspberry Pi heeft ook een aantal GPIO poorten waarmee je elektrische signalen kunt ontvangen en kunt versturen maar om eerlijk te zijn, dat is niet de forte van een Raspberry Pi.
Het nadeel van een Raspberry Pi is voornamelijk zijn prijs. Valt enorm mee, maar voor een hobbyist is 'ie niet 'down in the dirt'. Zo'n bordje kost gewoon een euro of 30-40. Ook is het een stuk lastiger om mee te beginnen: de Arduino ontwikkelomgeving is echt gemaakt zodat elke kneus ermee aan de slag kan, desnoods door simpel voorbeeldjes uit het programma te kopiëren en te plakken in elkaar, een aantal waarden te vervangen en voìla: iedereen kan programmeren (Dit is hoe iedereen is begonnen met Arduino). Een Raspberry Pi werkt op gewoon computertalen zoals C of Python en heeft dus een iets stijlere leercurve dan dat Arduino dat heeft.
In mijn ervaring gebruik ik altijd een Arduino als basis voor de aansturing (tenzij die aansturing dus duizenden keren per seconde moet worden geëvalueerd), en mocht dat nodig zijn gebruik ik een Raspberry Pi als een sensor van de Arduino. Ik laat de Raspberry Pi lekker het camerabeeld verwerken, daar komt een waarde uit, en die stuur ik (door I2C bijvoorbeeld) door naar de Arduino. De Arduino moet zich bezig houden met de simpele zaken.
Nu dat is behandeld kan ik reageren op je vraag:
amarejuvo schreef op dinsdag 17 september 2019 @ 13:57:
[...]
Beste mensen, bedankt voor de reacties.
het idee is dat ik met een arduino r3 een autonome arduino auto ga assembleren en die gevaar tijdig herkend doormiddel van een sensor die om zich heen kijkt.
ook zal er een bluetooth module op de arduino zitten zodat de arduino auto bestuurbaar is via een app op mijn telefoon als een soort joystick

Dus zoals eerder gezegd: ik denk dat je voor je aansturing vooral een Arduino moet gebruiken. Als je met sensoren bedoelt eenvoudige ultrasoon sensoren om afstand mee in te schatten, en misschien wat schakelaartjes van een botsbeugel, dan is een Arduino daar perfect voor.