Arduino rekenmachine

arduino rekenmachineEen leuk project voor de Arduino is een eigen rekenmachine maken. Wat we hiervoor nodig hebben is een kleine Arduino Pro mini (5 Volt type), een Arduino micro of nano kunnen ook gebruikt worden, een LCD display en een membraan toetsenbordje, een aan / uit schakelaartje en een 9 volt batterij met een batterijclipje. Voor de behuizing kunt u elk kastje nemen, ik heb een stevig kartonnen doosje genomen met verstevigde hoeken en deze tot ongeveer 2 cm hoogte doorgesneden. Na het aftekenen heb ik met een scherp mesje het gat voor het display er uit gesneden en een gat voor de schakelaar gemaakt. Ook heb ik met een mesje een kleine gleuf gemaakt waar de aansluiting van het membraan toetsenbordje doorheen kan en deze sleuf kan daarna onder het toetsenbord vallen wanneer we deze vastplakken op het deksel. De onderdelen kunnen daarna met draden verbonden worden, ik heb hierbij gekleurd lintkabel gebruikt waardoor het geheel iets steviger verbonden is. Daarna heb ik de schakelaar en het display netjes in het deksel geplaatst en met een lijmpistool op enkele punten vastgezet aan het deksel. De 9 volt batterij heb ik met dubbelzijdig tape aan het deksel vastgemaakt. De Arduino mini blijft door de kabels netjes onder de in de doos liggen. Nu kan de deksel los blijven liggen (en eventueel de de USB module op de Arduino geplaatst worden) en de USB kabel aangesloten worden.

Arduino Pro Mini

arduino pro miniDe Arduino pro mini 328 is klein, goedkoop en snel en ideaal voor gevorderden met Arduino. Het mini boardje draait op de ATMega328 chip, dit is dezelfde chip als de chip die in de Arduino UNO zit. Het board bevat geen pin headers en dit lijkt in eerste instantie wat onhandig maar blijkt in de praktijk zeer goed want u kunt de pinnen zelf in elke gewenste manier erop solderen of u kunt direct de draadjes op het board solderen. De Arduino Pro Mini kan worden geprogrammeerd met een USB naar serial converter die niet meegeleverd wordt, deze moet u los bestellen maar dit is een eenmalige aankoop, het board is voor meerdere toepssingen te gebruiken en wanneer u de Arduino Pro Mini eenmaal geprogrammeerd heeft, kunt u het USB naar serial board loskoppelen en weer voor iets anders (of een andere Arduino Pro Mini) gebruiken. Het board ondersteunt een automatische reset functie waardoor hij eenvoudig in te programmeren is.

Voltage3.3V en 5 V uitvoering
Digitale pins14 (waarvan 6 PWM)
Analoge inputs8
Afmeting33 mm x 18 mm
SRAM1 KB
EEPROM512 bytes
Flash16 KB
ChipATmega328

Van dit board zijn ook zogenaamde klonen beschikbaar die precies hetzelfde zijn (sommigen hebben een paar extra I/O pinnen) en de goedkoopste variant die ik gekocht heb was 4 euro (maar dan moet u er wel een maand op wachten vanuit China). In Nederland is het board tussen de 6 en de 14 euro te koop, de levertijd van 2 dagen maakt dan wel iets goed. Het USB naar serrial board is ook los te koop, dit board kost ongeveer 10 euro en is steeds opnieuw te gebruiken.

arduino pro miniHet board kan met de standaard Arduino programmeer IDE geprogrameerd worden, u kunt het board en de poort eenvoudig in het dropdown menu selecteren. Ook in dit board zit meestal het blink.c programma standaard geprogrammeerd zodat u eenvoudig kunt controleren of het board werkt. Ik heb zelf in eerste instantie alleen de header pinnen op de pennen aan de zijkant gesoldeerd zodat ik het USB naar serial board er op kon prikken. Let wel goed op de pin aansluitingen, ik ontdekte dat de pin aansluitingen op het USB naar serial board logisch gezien precies andersom zijn aangesloten. De boards zitten dus niet met de componenten kant naar elkaar toe wat ik in eerste instantie wel aangenomen had. Ook hier gaat weer op: "meten is weten, gissen is missen!". Let dus eerst goed op de pin aanduidingen voor u het board aansluit. Het board kan zich uit de USB aansluiting voeden, dus na het inprikken van de USB kabel begint de led al te knipperen. Afhankelijk van uw project kunt u een 3.3 of een 5 Volt versie kopen, aangezien al mijn Arduino projecten met 5 Volt werken heb ik tot nu toe alleen de 5 Volt versie gebruikt. De mogelijkheden van de kleine board zijn erg groot, omdat het piepklein is en amper stroom verbruikt is het een ideaal board voor kleine embedded toepassingen.

Aansluiting LCD scherm.

arduino rekenmachine lcdHet display dat ik gebruik is één van de goedkoopste types die geen extra interface print heeft en voor een paar euro te koop is. U kunt zelf kiezen of u wel of niet backlight (dit is gewoon een extra led met twee extra aansluitingen op het board) wilt en wat voor kleur. Voordat u de bedrading van uw LCD scherm aansluit op de Arduino moet u eerste controleren of uw LCD dezelfde pin nummering heeft als in het schema hieronder. Meestal staat het op de print bij de aansluitpinnen geschreven. De wijze waarop ik het aansluit is geschikt voor de standaard library die in beschikbaar is in de programmeeromgeving zodat u zelf geen extra code hoeft te schrijven voor het LCD display maar gebruik kunt maken van de standaard bibliotheek functies. Wanneer u het anders wilt aansluiten zult u waarschijnlijk ook wijzigingen in de programmacode moeten aanbrengen. We voeden de Arduino met 9 volt en dan is op de 5v aansluiting van de Arduino een gestabiliseerde 5 volt beschikbaar die ruim voldoende stroom kan leveren om het LCD display te voeden. Dit bespaard weer een extra voedingprint. De GND (Ground) pin van de Arduino moet met diverse pinnen van het display verbonden worden en aan één van de pinnen van de potmeter. Door middel van deze potmeter kunt u straks het contrast van het LCD scherm regelen. Wanneer u achtergrondverlichting heeft moet de anode pin (BLA) worden aangesloten op 5V via een 180O weerstand. De eerste vier data pennen van de LCD (DB0 te DB3) kunnen gewoon los blijven hangen aangezien we het display in 4 Bits mode gaan gebruiken. Dit doet de software van de Arduino bibliotheek standaard voor u.

Aansluiting membraam toetsenbord.

arduino rekenmachine lcdIk gebruik een standaard verkrijgbaar membraan toetsenbord, deze is voor 2 tot 3 euro te koop. Een klein nadeel is dat de cijfers op de toetsen de telefoon indeling hebben en niet de rekenmachine indeling, dit neem ik voor de prijs maar op de kop toe. Ik gebruik de 4 x 4 versie zodat we de extra toetsen kunnen gebruiken voor de .=+-/* toetsen. We missen dan nog een CE (clear) toets maar dit heb ik opgelost door deze functie te koppelen aan de = toets twee seconden ingedrukt te houden. Zo kunnen we toetsen eenvoudig een dubbele functie geven. Het toetsenbord is eigenlijk gewoon een matrix van schakelaars met horizontaal vier draden en verticaal ook. Het indrukken van een toets zal één horizontale lijn met één verticale lijn verbinden. Door nu telkens om de beurt één horizontale lijn hoog te maken en dan de vier verticale lijnen uit te lezen kunnen we bepalen welke toets ingedrukt is. Ook hier is het werk van het schrijven van een library al gedaan, deze is op Internet te downloaden en te importeren in uw project. U geeft aan welke pennen u gebruikt en door middel van een tabel geeft u aan welke tekens bij de desbetreffende toetsen horen. Ik gebruik de pinnen op de Arduino die voor mij het meest handige uitkwamen, het staat u vrij om andere pinnen te gebruiken zolang deze pinnen maar wel beschikbaar zijn en geen andere functie hebben. Wanneer we het toetsenbord en het display aangesloten hebben en de 9 volt batterij via de schakelaar hebben aangesloten op de Arduino is de hardware van onze rekenmachine gereed. Donload hier de Keypad library voor de Arduino.

De rekenmachine software

De volgende uitdaging is de rekenmachine software, aangezien de Arduino een 8 Bits processor is kunt u geen gebruik maken van het double datatype wat nodig is om grote getallen met cijfers achter de komma te kunnen gebruiken. Het type float wat wel gebruik kan worden, kan geen erg grote getallen aan en aangezien we 16 posities op het scherm hebben moeten we dus op zoek naar een andere oplossing. Dit is er in de vorm van de BigNumber C++ library, die u hier kunt downloaden: BigNumber.zip. Dit is een omgebouwde versie van de GNU "bc" library voor de Arduino en deze code werkt prima. Het enige nadeel is dat deze library wel veel geheugen kost en er zo we weinig overblijft voor extra functies in de rekenmachine applicatie. Lees even aandachtig hoe u deze library binnen de IDE moet neerzetten en hoe u deze moet importeren in uw project.

Arduino download en links

Dit zijn een aantal Nederlandse webshops waar ik goede ervaring mee heb, ook kunt u hier uitbreidingboards, sensoren, breadboard, kabeltjes en elektronica onderdelen kopen:
Arduino webshop vanallesenmeer.nl
Arduino webshop bitsandparts.eu
Arduino webshop hobbyelectronica.nl

Hier staan een aantal externe links naar pagina's en documenten die handig en nuttig zijn wanneer u begint met het Arduino board.

Download hier de Arduino IDE
Een goede Nederlandstalige Manual voor de Arduino IDE

 

Boeken over de Arduino computer

boekboek bestellenWie enigszins bekend is met moderne microprocessor systemen als Arduino, kent ongetwijfeld ook de problemen met dit soort kaarten. Ze zijn te duur om voor elk project een aparte kaart aan te schaffen en zijn bovendien nogal fors van formaat. Het aardige van de ATtiny is dat de schijn bedriegt. Het lijkt een klein IC met een beperkt toepassingsgebied, maar het heeft een verbazingwekkend scala aan (speelse) mogelijkheden. Dit boek beschrijft de enorme veelzijdigheid van de ATtiny microcontroller aan de hand van ongeveer vijftig leuke elektronica projecten, speciaal gericht op de beginner. De meeste ontwerpen zijn volledig uitgewerkt, enkele zijn meer als ontwerpidee gepresenteerd. De inhoudsopgave laat zien dat we ons op vele terreinen zullen begeven, van zonnevolger tot helling indicator. Dit boek is beslist geen theorieboek. Het is een boek dat gelezen zal worden met de soldeerbout in de hand. Voor het programmeren van de ATtiny maken we dankbaar gebruik van een Arduino kaart. Als de Arduino ingesteld word als programmer, kunnen we er de meeste Arduino "sketches" mee overzetten naar de ATtiny. We wensen u veel plezier met het nabouwen van de schakelingen.


boekboek bestellenBuilding robots that sense and interact with their environment used to be tricky. Now, Arduino makes it easy. With this book and an Arduino microcontroller and software creation environment, you’ll learn how to build and program a robot that can roam around, sense its environment, and perform a wide variety of tasks. All you to get started with the fun projects is a little programming experience and a keen interest in electronics. Make a robot that obeys your every command—or runs on its own. Maybe you’re a teacher who wants to show students how to build devices that can move, sense, respond, and interact with the physical world. Or perhaps you’re a hobbyist looking for a robot companion to make your world a little more futuristic. With Make an Arduino Controlled Robot, you’ll learn how to build and customize smart robots on wheels. You will: Explore robotics concepts like movement, obstacle detection, sensors, and remote control Use Arduino to build two- and four-wheeled robots Put your robot in motion with motor shields, servos, and DC motors Work with distance sensors, infrared reflectance sensors, and remote control receivers Understand how to program your robot to take on all kinds of real-world physical challenges.


boekboek bestellenIn just 24 sessions of one hour or less, Sams Teach Yourself Arduino Programming in 24 Hours teaches you C programmingon Arduino, so you can start creating inspired “DIY” hardwareprojects of your own! Using this book’s straightforward, step-by-stepapproach, you’ll walk through everything from setting up yourprogramming environment to mastering C syntax and features, interfacing your Arduino to performing full-fledged prototyping.Every hands-on lesson and example builds on what you’ve alreadylearned, giving you a rock-solid foundation for real-world success! Step-by-step instructions carefully walk you through the most common Arduino programming tasks. Quizzes at the end of each chapter help you test your knowledge. By the Way notes present interesting information related to the discussion. Did You Know? tips offer advice or show you easier ways to perform tasks. Watch Out! cautions alert you to possible problems and give you advice on how to avoid them. Learn how to... Get the right Arduino hardware and accessories for your needs, Download the Arduino IDE, install it, and link it to your Arduino, Quickly create, compile, upload, and run your first Arduino program, Master C syntax, decision control, strings, data structures, and functions, Use pointers to work with memory—and avoid common mistakes, Store data on your Arduino’s EEPROM or an external SD card, Use existing hardware libraries, or create your own, Send output and read input from analog devices or digital interfaces, Create and handle interrupts in software and hardware, Communicate with devices via the SPI interface and I2C protocol, Work with analog and digital sensors, Write Arduino C programs that control motors, Connect an LCD to your Arduino, and code the output, Install an Ethernet shield, configure an Ethernet connection, and write networking programs, Create prototyping environments, use prototyping shields, and interface electronics to your Arduino.



Reacties op het onderwerp: Arduino


32 - Techniek »  -  Arduino »
2018-07-28 11:52:00
Hier kunt u vragen stellen en antwoorden geven die betrekking hebben op de Arduino boards en Atmel processoren. Reacties zullen pas na goedkeuring geplaatst worden, dit kan enige tijd duren.
Reactie van een bezoeker van de site!
Vragen en antwoorden m.b.t. de Arduino boards en Atmel processoren.
Er zijn: 1 reacties!
2018-07-28 11:52:00
Een tijdje terug heb ik platformio ontdekt. Het is een methode waarmee je vanaf de command-line een Arduino project kan bouwen. Alle instellingen (welk bordje, welke seriele poort snelheid, etc), maar ook alle libraries (+versies) die je gebruikt staan overzichtelijk in een tekstbestandje. Je hoeft dus niet meer 3x na te denken als je van project wisselt over wat voor instellingen e.d. je ook al had gebruikt en welke versie van welke library daarvoor nodig was. Libraries worden automatisch gedownload en daarna gecached op je eigen schijf.

Ik gebruik dit nu zelf voor al mijn Arduino projectjes en de Arduino IDE gebruik ik nog maar zelden. Ik gebruik Linux en daarop werkt dit allemaal heel makkelijk. Ik heb het ook wel aan de praat gehad op windows, dat was iets meer moeite, bijv. eerst python handmatig installeren, maar uiteindelijk werkte het daar ook.
Reactie van een bezoeker van de site!


Last update: 18-03-2015
 Binnen dit thema



 Meer thema's


 Lees hier de privacyverklaring van deze site.

Disclaimer.

Hoewel de heer Hein Pragt de informatie beschikbaar op deze pagina met grote zorg samenstelt, sluit de heer Pragt alle aansprakelijkheid uit met betrekking tot de informatie die, in welke vorm dan ook, via zijn site wordt aangeboden. Het opnemen van een afbeelding of verwijzing is uitsluitend bedoeld als een mogelijke bron van informatie voor de bezoeker en mag op generlei wijze als instemming, goedkeuring of afkeuring worden uitgelegd, noch kunnen daaraan rechten worden ontleend. Op de artikelen van de heer Pragt op deze Internetsite rust auteursrecht. Overname van informatie (tekst en afbeeldingen) is uitsluitend toegestaan na voorafgaande schriftelijke toestemming van de rechthebbende. Voor vragen over copyright en het gebruik van de informatie op deze site kunt u contact opnemen met: (email: mail@heinpragt.com). Dit is mijn