Zoekresultaten : arduino

feb 242020
 

Ik weet het: echte ontwikkelaars maken voor hun versiebeheer geen gebruik van Onedrive. Dan moet het op zijn minst via Github. Prima, gebruik ik ook, af en toe. Als iets af is, om te delen.

Maar als ik gewoon wat aan het klooien ben,  als ik bv een TCRT5000 sensor op de watermeter in de meterkast geplakt heb om het ronddraaien van het tellerschijfje te registreren en dat dan weer via MQTT over Wifi vanaf een ESP8266 door te sturen naar een Mosquitto-server zodat ik die waarden in Home Assistant weer kan geven en in influxDB kan archiveren, dan ben ik meestal eerst even gewoon met code aan het stoeien.
Met een beetje mazzel (zoals deze keer) met Over The Air (OTA) updates zodat ik niet op een krukje op USB-kabel lengte afstand van de meterkast hoef te blijven zitten.

Tijdens zo’n traject kan het wel eens voorkomen dat ik denk “oei, nu heb ik een stuk code weggegooid of aangepast en dat had ik niet moeten doen”.

In dat geval kan het helpen om het .ino bestand op te slaan binnen een map die gesynchroniseerd wordt met Onedrive. Privé of zakelijk maakt niet uit. Ik gebruik in dit geval mijn privé Onedrive. Het mooie van Onedrive (en waarschijnlijk een aantal van de andere beschikbare diensten ook) is dat hij aan versiebeheer doet. Dus in dit geval, waarbij ik een stuk code had verwijderd dat ik toch nog wilde gebruiken, ging ik naar onedrive.com, zocht daar de map en het programma-code bestand op en selecteerde een oudere versie. Onedrive kan ze niet online weergeven zodat je even snel kunt knippen en plakken, het bestand wordt gedownload naar je computer. Ook goed. Als backup voor foutjes tijdens het klooien in de Arduino IDE in ieder geval iets wat mij al wat tijd bespaard heeft vandaag. 🙂

Deel dit bericht:
feb 102020
 

Van de hand van Dejan Nedelkovski  is op Howtomechatronics.com een prachtig zelfbouwproject verschenen. Het gaat om een “Hot Wire Cutter”, een apparaat waarmee je vormen uit piepschuim kunt snijden. Het principe is eenvoudig: je hebt een draad waar je stroom op zet, die draad wordt warm en daarmee kun je dan piepschuim snijden. De draad wordt, via een mechanisme van aluminium buizen, steppermotoren en kabels naar voor, naar achteren en naar boven en onder bewogen. Daarnaast kan het plateau waar de piepschuim blok op bevestigd is ronddraaien. In de video wordt het uitgebreid toegelicht.

Het geheel wordt aangestuurd door een Arduino Uno (+ Arduino CNC Shield + 3 A4988 Stepper Drivers),  GRBL firmware, Universal G-Code Sender en Inkscape. De Arduino is open source hardware, de gebruikte firmware en software is eveneens open source. Alle verbindende onderdelen zijn uit de 3D-printer waarvoor de bestanden bijgeleverd zijn.

Alles bij elkaar moet het apparaat zo’n 220 euro kosten aan onderdelen. Daar zit wel een handsnijder voor 35 euro bij, ik zou me kunnen voorstellen dat je het draad waarmee je gaat snijden goedkoper kunt krijgen. Dan nog kost het ongeveer zo’n 200 euro, de aluminium balken (47 euro totaal) en de steppermotoren (33 euro totaal) hakken er stevig in  Ik heb ook niet meteen behoefte aan een machine die piepschuimfiguren voor me kan snijden. Maar cool vind ik het in ieder geval!

 

Deel dit bericht:
jun 062019
 

Ik wilde eigenlijk een blogpost maken over XOD, een interessante grafische omgeving voor het programmeren van Arduino. Hier kun je een uitlegfilmpje over XOD bekijken. Maar uiteindelijk blijkt dat alleen geschikt te zijn voor Arduino. En áls je op zoek bent naar iets anders dan de standaard Arduino IDE en je werkt ook met bv ESP32 of ESP8266 werkt, dan is PlatformIO een betere oplossing.

Andreas Spiess heeft er een mooi introductiefilmpje over gemaakt (zie hierboven) waarin hij laat zien hoe hij PlatformIO gebruik voor een Arduino UNO en daarna voor een ESP32. Hij demonstreert daarbij ook de mogelijkheid om per project de libraries die je gebruikt op te slaan of hoe een project met 26 libraries daar handig gebruik van kan maken.

Zelf heb ik er tot nu toe ook alleen gebruik van gemaakt in combinatie met code die geschreven was voor PlatformIO, nog niet vanaf scratch.

Je kunt bestaande Arduino projecten importeren, maar ook dan moet je het .INO bestand zelf nog even omzetten naar main.cpp en als je een project hebt met de nodige libraries zul je ook die verwijzingen eenmalig moeten opschonen.

In het geval van het project dat ik importeerde (de TTN-mapper die je hier kunt vinden) is een bonus dat de ook de Markup bestanden (de .md bestanden) rechtstreeks in de editor kunt bijwerken. De Readme.md van dat project heeft nu een lijstje van libraries die je nodig hebt, met links en in één geval de opmerking om vooral maar de laatste versie te gebruiken omdat de Arduino IDE anders in de war raakt. Dat probleem ben ik kwijt bij een overstap naar PlatformIO. Nadeel is dan weer dat de oorspronkelijke auteur van de code ‘gewoon’ de Arduino IDE gebruikt (ik gebruik een “fork” in Github). Het naar hem terug aanleveren van voorstellen voor wijzigingen in de code is een stuk ingewikkelder als ik overstap naar PlatformIO.

Deel dit bericht:
feb 052019
 

In een tijd van 4K TV’s en grote beeldschermen op laptops zijn RGB LCD matrixschermen eigenlijk iets waar je waarschijnlijk zomaar elke dag mee in aanraking zult komen.

En hoewel ik wel al eens met een dot matrix module geëxperimenteerd had, kende ik het grotere (16×32 pixels) paneel met RGB LEDs dat min jongste zoon dit jaar voor zijn verjaardag vroeg nog niet. Hij had er zelf al een pagina met informatie bij Adafruit voor gevonden, dus hebben we de gok genomen (wat daar stond zag er niet onmogelijk uit) en kreeg hij een exemplaar.

Ik zal niet linken naar de site waar we zijn exemplaar gekocht hebben (hij leest dit bericht waarschijnlijk ook), het was een Nederlandse site, je moet even goed rondkijken want sommige webshop gooien er een flinke marge bovenop. Vind je het niet erg om lang te wachten, dan kun je uiteraard ook op AliExpress terecht. Let er dan goed op dat je een P3 paneel hebt (zoals deze), met LEDs van 3mm. Er worden er ook verkocht met LEDs van 4mm of 5mm grootte. Die zijn goedkoper, maar als je zo’n klein schermpje hebt (en niet van plan bent een display te bouwen van een paar meter bij een paar meter) dan wil je de kleinere hebben (of in ieder geval appels met appels vergelijken).

Hij had wat hulp nodig bij de eerste setup. Het paneel heeft een eigen 5V voeding nodig en de panelen zijn niet van bv zoiets als een micro-USB aansluiting voorzien. Daarnaast hadden we (tja, ik zei al dat ik er geen ervaring mee had) niet de bijbehorende Arduino shield erbij besteld. En dat betekende dat we de connector met 16 kabels met Dupont connector moesten verbinden met de Arduino.

Maar goed, ook dat ging eigenlijk probleemloos. Het installeren van de Arduino client op zijn laptop was eigenlijk nog het meeste werk omdat de Arduino downloadsite wat problemen leek te hebben. Maar na een uurtje hadden we het geheel aan de praat.

Lees verder….

Deel dit bericht:
feb 232018
 

WOW is een geheel terechte uitspraak als het gaat om dit project. Het is geen “weekendprojectje”, je ziet het resultaat van 2,5 jaar ontwikkelen door Scott Bezek en verschillende versies.

Het heeft zo ongeveer alles in zich wat je kunt verzinnen: het ontwerp van de behuizing zodat het met een lasersnijder gemaakt kan worden. In de behuizing een overbrenging met tandwielen en een cylinder waarvoor hij moest berekenen hoe groot hij moest zijn (stukje Wiskunde dus). Op de Arduino zit een eigen ontworpen PCB die maximaal 12 units aan kan sturen, alle ontwerpen zijn open source beschikbaar via github.
En de filmpjes bij de deelstappen, deels in animaties zoals hieronder, zijn al een project op zich. Blader dus zeker ook door de beschrijving heen!

Ik ben in ieder geval diep onder de indruk.

Deel dit bericht:
feb 182018
 

Via de enthousiaste video’s van Nick van Educ8s kwam ik afgelopen week erachter dat ePaper displays voor Arduino en Raspberry Pi inmiddels goedkoop genoeg zijn geworden om ook voor eigen hobbyprojecten zinvol te zijn.

Het voordeel van een ePaper display is uiteraard het lage energieverbruik, nadeel is de lage beeldverversingsfrequentie en het gegeven dat ze meestal alleen zwart/wit zijn. En inderdaad, als je een groot scherm wilt, dan gaat het alsnog in de papieren lopen, maar een scherm van 1,54 inch in zwart/wit kost via eBay zo’n 18 Amerikaanse dollar. Bij AliExpress kwam ik andere versies tegen, zoals deze met zwart en rood voor zo’n 15 euro.

Belangrijk is om even goed op te letten. Op eBay staan ook goedkopere exemplaren, maar die beschikken niet over de benodigde connector/kabel:

Een van de goedkopere aanbieders had wél plaatjes met de kabel, maar in de beschrijving van wat geleverd zou worden stond de “XH2.54 20cm 8Pin” kabel niet erbij. Navraag leerde ook dat die niet geleverd werd. Even opletten dus.

Voor de Raspberry Pi wil je waarschijnlijk een “Hat” hebben, zoals deze. Dan kun je het display namelijk direct op je Raspberry Pi prikken. Als je dan een Raspberry Pi Mini gebruikt in plaats van zo’n grote lompe Pi 3, dan ziet het er meteen ook goed uit.

Deel dit bericht:
jan 032018
 

“Papa, hoe werkt deze dan eigenlijk?”. Dat was de vraag die ik kreeg toen mijn oudste dochter het zakje zag liggen met een van de bestellingen van AliExpress. Eerder vandaag hadden we namelijk samen naar deze blogpost gekeken toen het ging over de verschillende manieren waarop de fijnstofmeters verbinding maken met de ESP8266. Toen ging het over UART, SPI en I2C (als jou dat niets zegt, lees dan ook even die blogpost!).

Er waren twee manieren om erachter te komen op welke manier dit kleine LCD verbonden moest worden met een Arduino (of ESP8266): foetelen (!) en op de pagina van de verkoper kijken of naar de tekst bij de pinnen kijken. Dat was gemakkelijk: naast GND en VCC waren er maar 2 pinnen over, dus was het geen SPI, en met SDA en SDL bij de andere twee pinnen was het duidelijk: het was een I2C verbinding.

“Maar hoe zorg je er dan voor dat er tekst op komt? Moet dat dan pixel voor pixel?”, was de vervolgvraag. Ja, maar gelukkig ook weer niet. Daar hebben mensen namelijk “bibliotheken” voor gemaakt die een groot deel van de complexiteit verbergen. “Laten we het gewoon een uitproberen”, zei ik. Nu was de pagina van de verkoper toch nog handig, want we moesten nog een paar dingen meer weten, bijvoorbeeld of hij 3V of 5V wilde hebben. Als de verkoper die info niet online had staan, dan was even op de achterkant van het LCD scherm kijken ook handig. Daar stond namelijk OLED-091, en als je dat in Google invoert krijg je een zee van informatie. Het LCD-scherm kan zowel op 3V als op 5V en heeft een SSD1306 chip. Adafruit heeft daar een library voor gemaakt voor de Arduino en ook voor de ESP8266  is er eentje te vinden. Eitje dus om dit aan de praat te krijgen. Of zo dachten we.

Het aansluiten van de kabels, het installeren van de bibliotheken, het openen en draaien van een van de voorbeelden, dat ging inderdaad zonder problemen. Maar toen kwam de vraag: “Kunnen we ook ons eigen plaatje laten bewegen??”. Ehm, ja, maar dat duurde uiteindelijk een uur voordat het werkte. Daarom ook een blogpost om vast te leggen hoe we het uiteindelijk voor elkaar gekregen.

Lees verder….

Deel dit bericht:
mrt 062017
 

Gisterenavond laat plaatste ik al een kort bericht over mijn poging om een micro:bit aan de Circuit Playground te koppelen. Het werd uiteindelijk (voor nu) een koppeling tussen Arduino -> micro:bit -> Circuit Playground via een seriële verbinding (1 enkel kabeltje van apparaat naar apparaat). Nog niet via Bluetooth of andere draadloze verbinding vanaf smartphone etc, maar dit was een noodzakelijke eerste stap. Omdat ik nog wat vragen heb die ik ook wil kunnen voorleggen aan mensen die geen Nederlands begrijpen, doe ik de rest van de blogpost in het Engels.

Over to English:

After watching this video and reading the tutorial by Tony DiCola, I wondered if it would be possible to use a micro:bit as bluetooth bridge between my smartphone and the Circuit Playground. After all, the micro:bit has BLE and support for the serial protocol. Looking at the code that Tony provided however made it clear quickly enough that it would not be a simple cut-and-paste action. The code looked very complex and very much specific for the combination Circuit Playground <-> Bluefruit LE module. So I started looking for other code that would do the same, but was easier for me to understand.

The most basic example of serial communication via the TX/RX pins comes from Adruino themselves using SoftwareSerial. I loaded that example on the Circuit Playground. For the micro:bit I used the https://pxt.microbit.org/ editor which (in the advanced tab) has support for the serial interface of the micro:bit to create a simple script that should receive and display any data received and would send data on the press of a button. Test #1 nothing happened…

Lees verder….

Deel dit bericht:
mrt 052017
 

Vandaag heb ik eindelijk wat meer tijd kunnen besteden aan een van de “concurrenten” van de micro:bit, namelijk de Circuit Playground van Adafruit. En ik weet wel, het als een concurrent plaatsen maakt het meteen zo’n “wie is beter?” discussie en dat levert niet altijd de meeste informatie op. En ik neem ook aan dat als iemand van Adafruit dit bericht zou lezen (via Google Translate), ze meteen zouden zeggen dat ze het geen concurrent vinden, maar producten die naast elkaar kunnen bestaan. En dat is ook zeker zo, maar het kan hoe dan ook geen kwaad om beide producten ook met elkaar te vergelijken. Want ze hebben een groot aantal dezelfde functionaliteiten en toch ook weer duidelijke verschillen.

Ik heb ze hieronder naast elkaar gezet. De vorm is uiteraard verschillend, de Circuit Playground is rond, zoals een aantal andere boards die door Adafruit ontworpen zijn en zo gemakkelijker in kleding te verwerken zijn. Beiden hebben grote GPIO-aansluitingen waar je met krokodilbek-klemmen kabels aan kunt bevestigen. Ze hebben allebei drukknoppen, een kompas, een accelerometer aan boord. De micro:bit heeft een led pixel matrix met 1 kleur, de Circuit Playground heeft maar 10 pixels, maar dat zijn NeoPixels die heel veel kleuren kunnen hebben. De micro:bit heeft Bluetooth Low Energy (BLE), voor de Circuit Playground moet je daarvoor een aparte uitbreiding van bijna 20 euro aanschaffen. De Circuit Playground heeft een mini speaker (kan geluid maken, geen muziek op die manier) en een licht sensor. De micro:bit kan via een connector 20 IO-poorten beschikbaar maken. Beiden hebben capacitive touch mogelijkheden.

Op de externe connectiviteit via BLE na zou je zeggen dat beide apparaten niet zo heel veel van elkaar verschillen. Waar het al wat anders wordt is als het gaat om het open source hardware ontwerp van de micro:bit die iedereen in staat moet stellen om apparaten te produceren, terwijl de Circuit Playground alleen via Adafruit gemaakt wordt. Ook zijn er voor de micro:bit vele verschillende, online en offline ontwikkelomgevingen, bijvoorbeeld deze via https://pxt.microbit.org/. De Circuit Playground sluit aan bij de Arduino ontwikkelomgeving, al kun je er ook via Python tegenaan praten. Beide omgevingen hebben de nodige voorbeelden als het gaat om projecten die leerlingen kunnen bouwen, zie bijvoorbeeld deze pagina van Adafruit, al zal de micro:bit met de grotere installed base in het Verenigd Koninkrijk hier het voordeel hebben qua snelheid waarmee die voorbeelden uitgebreid worden.

Toen ik bij Adafruit het voorbeeld zag van een Circuit Playground in combinatie met een losse BLE adapter moest ik meteen denken aan de micro:bit die ik in huis had. Die heeft wél BLE én kan via RX/TX communiceren met de buitenwereld (voor uitleg over UART en RX/TX zie dit bericht), zou ik die niet aan de Circuit Playground kunnen koppelen? Nou, dat ging iets minder gemakkelijk dan ik gehoopt had. Hierboven kun je zien dat het gelukt is, al gebruik ik nog geen BLE. Ik heb een Arduino Leonardo via een seriële verbinding gekoppeld aan de micro:bit die op zijn beurt weer gekoppeld is aan de Circuit Playground. De Arduino geeft een getal tussen 0 – 10 door aan de micro:bit, die laat hem zien op zijn matrix en geeft hem dan weer door aan de Circuit Playground die op basis daarvan 0 – 10 Neopixels aanschakelt. Allemaal steeds via 1 draadje. Uitleg over de werking volgt in een aparte blogpost. Het weekend is namelijk al weer voorbij.

Deel dit bericht:
jul 112016
 

20160710_102118_HDR

Het vierde en voor nu even laatste product dat aan mij beschikbaar gesteld is door de prototype-shop.nl is de Pulse Sensor voor Arduino. Het is een hartslagmeter die je kunt aansluiten op een Arduino. Op de website van de producent vind je een video met uitleg en een verwijzing naar de GitHub-repository met de library en voorbeeldcode. Ik kreeg de code niet aan de praat op een ESP8266. Dat heeft te maken met de code voor de interrupt die niet compatible is met de ESP8266. Ik had de ESP8266 willen gebruiken omdat ik dan tenminste ook een draadloze verbinding via WiFi op zou kunnen zetten tussen de unit waarmee ik mijn hartslag wilde meten. Plan was namelijk om de Pulse Sensor te vergelijken met de hartslagmeter van mijn Tacx. En als ik 40 minuten lang op een (stationaire) fiets zou gaan zitten, dan was zo min mogelijk kabels natuurlijk wel handig.

In plaats daarvan heb ik een Arduino Uno gebruikt in combinatie met de 1Sheeld shield die ik een paar weken geleden uitgebreid getest heb. In combinatie met een batterij en een smartphone zou ik daarmee ook relatief compact mijn hartslag moeten kunnen monitoren.

(foto: http://pulsesensor.com/)

(foto: http://pulsesensor.com/)

Het aansluiten van de hartslagmeter zelf is eenvoudig, er zitten maar 3 kabels aan: 3,3 V, GND, A0 (Analoog 0). Als je het filmpje van de producent bekeken hebt, dan weet je echter dat je voordat je dat doet, even een paar dingen moet doen. Voor de voorkant van de sensor zit er gewoon een plaksticker in de verpakking. Om de achterkant tegen vocht / zweet te beschermen wordt aangeraden om deze rijkelijk te voorzien van hot-glue (het helpt dus als je een lijmpistool in huis hebt) voordat je het stickertje met klittenband er op plakt waarmee hij aan de klittenbandriempje voor je vinger of het klemmetje voor je oor blijft zitten. Gelukkig had ik het filmpje al even bekeken en eerder deze week het lijmen gedaan zodat ik toch gewoon kon testen.

Daarna is het in principe een kwestie van het uploaden van de code naar de Arduino en je kunt in de serial monitor de hartslagmeting voorbij zien komen. Als je het voorbeeld in het filmpje helemaal volgt, dan kun je 2 LED’s laten flikkeren om te laten zien dat je hart echt nog slaat.

Ik heb zoals gezegd die constructie niet nagebouwd, ik wilde aan de slag met de 1Sheeld en mijn Tacx.

Lees verder….

Deel dit bericht: