Getest: Dot Matrix Module

 Gepubliceerd door om 06:00  Arduino, ESP8266, Hardware, noads
jun 202016
 

dot-matrix-moduleAfgelopen weekend heb ik de tijd genomen om uitgebreid aan de slag te gaan met een product waarvan ik vooraf alleen wist dat het een “Dot Matrix Module” heet. Je ziet hiernaast een afbeelding van de module. Op basis van die naam en de afbeelding ben ik daarom op zoek gegaan. Zo kwam ik er al snel achter dat de module gebruik maakt van een MAX7219 van Maxim. En dan niet Ă©Ă©n, maar vier die aan elkaar gekoppeld zijn. De module heeft echter maar Ă©Ă©n aansluiting bestaande uit vijf pinnen waarmee je dus alle vier de modules tegelijkertijd aan kunt sturen.

Arduino en ESP8266Je kunt de module in principe rechtstreeks aansluiten op een Arduino of vergelijkbare kloon. Omdat ik ook met een ESP8266 en een WeMos d1 mini (ook op basis van een ESP8266) aan de slag wilde (zie de foto’s hiernaast), was een aparte 5V voeding noodzakelijk. Dat doe ik op basis van een oude USB-kabel waar de stekker aan een kant afgeknipt is met in plaats daarvan aan de zwarte en rode kabel een dupont stekker die ik in een breadboard kan prikken. Wel belangrijk is om dan de ground van die externe voeding ook aan de Arduino of ESP8266 aan te sluiten!

Om meteen even bij het eindresultaat te beginnen, het filmpje hieronder laat een aantal opties zien:

Mocht je vinden dat de matrix niet erg fel is, dat is een combinatie van de hoeveelheid daglicht, de gebruikte camera Ă©n het feit dat ik de instellingen meestal redelijk laag heb staan omdat ik anders gek werd van het felle licht. In de demo zit een stukje waarbij verschillende lichtsterktes getoond worden, daar kun je zien dat hij tamelijk fel gezet kan worden.

Je ziet een stand-alone Arduino Uno, dus zonder netwerkverbinding die een van de standaard bij een library bijgeleverde demo van mogelijkheden doorloopt. Daarna zie je de ESP8266 eerst stand-alone, zonder gebruik van het netwerk en daarna de WeMos d1 mét gebruik van het netwerk. In dat geval gebruik de WeMos een wifi-verbinding om via een NTP-server de actuele datum en tijd op  te vragen en laat die dan op het scherm zien. Zoals je op het einde kunt zien, kan de WeMos ook gewoon via de pinnen voorzien worden van 5V, dus je zou dit geheel in een behuizing kunnen stoppen en dan heb je met één kabel naar een USB-stekker het geheel aan het draaien (is een project voor een ander weekend).

Toch ging het niet allemaal zo eenvoudig als het hierboven nou lijkt. Wil je het zelf ook gaan doen, lees dan even verder.

Lees verder….

Deel dit bericht:
jun 272016
 

20160626_135304De 1Sheeld (met”ee“) zou de vervanging moeten zijn voor al je andere Arduino shields (met “ie“). Dat mag ook wel, want heel goedkoop is hij niet, ruim 50 euro. Daar moet hij dus wel wat voor kunnen. Voldoende reden dus voor een uitgebreide test.

In de basis is de 1Sheeld een gewone shield die je op je Arduino Uno / Leonardo etc. plaatst. De site geeft aan dat bijna alle modellen ondersteund (5V en 3,3V) worden, maar dat geldt dan eigenlijk vooral voor de modellen met de pinnen op vergelijkbare wijze als een Uno, want anders is er weinig te plaatsen. Dus een Arduino Micro of Pro Mini zullen in principe wel kunnen werken, maar handig is het niet.

En handig is juist een uitgangspunt van de 1Sheeld. Het is namelijk niet zo dat je de functionaliteit niet zou kunnen nabouwen, maar dat kost dan ongetwijfeld meer tijd en werk. Wat je nu namelijk doet is dat je een app op je Android telefoon installeert, via Bluetooth verbinding maakt met de 1Sheeld en dan de keuze hebt uit een 40-tal “shields”.

In het filmpje hieronder zie je een aantal voorbeelden van shields die alleen of in combinatie worden toegepast:

Het eerste voorbeeld dat je ziet is het LED-shield: je telefoon laat dan een afbeelding van een LED zien en vanuit je Arduino zet je die (draadloos/via bluetooth) aan of uit. Niet de meest spannende natuurlijk, maar het was de eerste die ik uitprobeerde, klein beginnen. De code ervoor kun je hier vinden (de LED zat op digitale pin #4) .
Al wat interessanter is het Button-shield, ook te zien in de video. Je telefoon functioneert dan als (draadloze) knop. Ik heb in het filmpje een LED op de Arduino aangesloten en zet die vanaf de telefoon aan of uit. Die op de Arduino aangesloten LED kan van alles zijn, een motor, een relay, noem maar op. De code ervoor kun je hier vinden.
Overigens: in de video zie je een micro-USB aansluiting aan de telefoon hangen, die is er alleen omdat de accu redelijk leeg was. Dit is namelijk de Wolfgang Android telefoon die ik eind 2013 bij de Aldi kocht. Ik weet niet wat de exacte ondergrenzen voor de app zijn, maar Android 4.2 op een niet al te krachtige telefoon is genoeg.

Na die eerste twee eenvoudige pogingen was het tijd voor iets nuttigere zaken.

Lees verder….

Deel dit bericht:
 Reacties uitgeschakeld voor Getest: 1Sheeld Arduino Shield voor Android  Tags: ,
jul 042016
 

20160703_135208_HDRIn de categorie “had ik eigenlijk al langs eens mee moeten experimenteren” valt zeker het product dat ik dit weekend eens flink aan de tand gevoeld heb: een RFID Module voor Arduino en vergelijkbare apparaten. Immers, RFID (radio frequency identification) en zusje NFC (near field communication) kom je op steeds meer plekken tegen. Van mijn bankpas, OV-kaart, de personeelspas op het werk, de etiketten aan de kleren die ik bij sommige zaken koop, tot mijn telefoon (LG G4), om maar eens een paar voorbeelden te noemen.

20160702_141424_HDR-1Het setje dat ik ter beschikking gekregen heb, bestaat uit een RFID-RC522 reader, een kaart in credit card formaat en een tag in sleutelhangerformaat. De eerste stap die je moet uitvoeren (tenminste, dat is aan te raden) is het solderen van een van de twee bijgeleverde headers, de rechte of die met een hoek. Ik koos voor de header met de hoek van 45 graden, als je de reader vast wilt kunnen prikken in een breadboard zul je de andere kiezen.

Daarna heb je in totaal 7 kabels nodig om het geheel aan te sluiten op de Arduino.

Uno_RFID-RC522

Aansluitschema RFID-RC522

Daarbij moet je even opletten omdat het wellicht lijkt alsof de kabels in dezelfde volgorde van “rechts naar links” gaan, maar dat is niet zo. Als je van onder naar boven (met het zilverkleurige kristal aan de bovenkant) telt, dan is de onderste aansluiting voor 3,3 V (niet voor 5V). De GND (ground) zit niet er direct naast, maar eentje verder (je ziet GND staan op het bordje), die moet je aansluiten op een van de GND aansluitingen op de Arduino (er zijn er meer).

Dan krijg je de overige 5 aansluitingen:

  • De RST zit tussen 3.3V en GND op de RC522 (de gele kabel in het plaatje), die sluit je aan op ~9.
  • De aansluiting boven de GND sluit je niet aan, die erboven (turquoise in de afbeelding) gaat naar ~11
  • Die daarboven (groen) gaat naar ~11
  •  Die daarboven (oranje) gaat naar ~13
  • De bovenste (blauw) gaat naar ~10

Niet helemaal helder? Klik dan even op de afbeelding om goed het plaatje te bekijken.

DumpInfo

Output van DumpInfo script

De volgende stap daarna is uiteraard het vinden en installeren van de juiste library voor de RFID-RC522. De meest gebruikte is die van Michuel Balboa, dus die heb ik ook gebruikt. Na het installeren van de library heb je ook nu weer de beschikking over voorbeelden. Het voorbeeld dat je het meest inzicht geeft over de inhoud van een tag is DumpInfo. Daarmee krijg je namelijk niet alleen het UID (unieke ID van de tag), het type van de tag (PICC type: MIFARE 1KB in dit geval) maar ook de inhoud van de kaart / tag  te zien.

De twee tags die bijgeleverd worden zijn standaard leeg, daar is dus niet heel veel aan te zien. Wil je meer weten over wat je nou eigenlijk te zien krijgt in zo’n dump, dan is het handig om wat meer te weten over de MIFARE 1KB RFID kaart. De kaart maakt gebruik van 16 sectoren (in de dump genummerd 0 – 15) of 64 blokken (genummerd 0-63). Elk blok heeft ruimte voor 16 bytes aan data (te zien als kolommen genummerd 0 – 15 in de dump). De informatie die je ziet wordt in hexadecimaal formaat opgeslagen, dus daarom zul je in het algemeen in die dump alleen maar “zooi” zien, d.w.z. geen informatie waar je echt chocola van kunt maken zonder dat je de software de conversie naar leesbare tekst laat uitvoeren.

Wat je mogelijk ook zal opvallen in de dump of de screenshot hiernaast is dat er regelmatig de combinatie FF FF FF FF FF FF ziet staan. Goed gezien! Die combinatie is de standaardsleutel die gebruikt wordt bij het krijgen van toegang tot de data. Als je bv deze sketch als uitgangspunt neemt dan heb je daarmee eigenlijk alles wat je voor een eenvoudige situatie nodig hebt: je zou het unieke ID van een tag kunnen gebruiken om de Arduino bepaalde acties op te laten starten, je zou dan zoiets kunnen bouwen als de Nabaztag/tag van bijna 10 jaar geleden. Wil je specifieke info op de tag opslaan of met de Arduino vanaf de tag lezen, dan kan dat ook.

Maar ik wilde meer. Want ik had immers een LG G4 met NFC. En toen werd het wat ingewikkelder…
Lees verder….

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: