jan 162018
 

OK, hier wordt ik dus enthousiast van, al is het niet eens echt heel veel goedkoper dan de kant en klare oplossing waar ik vorige week mee geëxperimenteerd heb. Het blijkt namelijk mogelijk om een node met sensor voor het LoRaWAN netwerk / The Things Network te bouwen op basis van een ATtiny85!

Dus, gewoon op basis van die microprocessor, die zo’n 80 eurocent kost als je hem uit China laat komen en die we hier tot nu toe gebruikten om LEDs in een kleine kerstboom aan te sturen of papercircuit kerstkaarten te maken. Diezelfde chip kun je gebruiken als de basis van een meetapparaat waarmee je de lokale temperatuur, vochtigheid en luchtdruk tot kilometers ver door kunt geven.

Ok, ok, je hebt nog een paar andere dingen nodig. Bijvoorbeeld de sensor voor die drie waarden, in dit geval een BME280, die kost zo’n 2,5 euro per stuk. En je hebt natuurlijk ook een chip nodig die het LoRa-deel van de communicatie voor zijn rekening neemt. Er wordt hier gebruik gemaakt van een RMF95  en die kost nog steeds nog een euro of 4-5. Betekent dus dat het meetstation (zonder behuizing, bekabeling, batterijhouder etc) nog steeds zo’n 7-8 euro per stuk kost. Dat is maar een paar euro goedkoper dan die kant en klare oplossing die ik kocht.

Maar in de categorie “omdat het kan” en “omdat het cool is om te zien dat zo’n klein ding zoiets indrukwekkends kan” schreeuwt het natuurlijk om een test (sorry, volgende vakantie duurt nog even). De beschrijving hier gaat nu nog uit van het resetten van pin PB5 zodat het een gewone I/O pin wordt (ipv de reset pin), maar dan kun je daarna niet/slecht heel ingewikkeld de ATtiny85 herprogrammeren. Op het forum wordt al gesproken over een oplossing waarbij dat niet langer nodig is.

Bij de beschrijving staat niet hoe lang deze specifieke constructie mee kan op een set batterijen. Ook dat zou een leuke test zijn. Gaat op het verlanglijstje om te bouwen.

Deel dit bericht:

Kerstster met ATTiny85 en NeoPixel

 Gepubliceerd door om 14:59  Hardware
dec 252017
 

Het was zo’n projectje van Marit waarbij ik nog “even” de laatste details moest verzorgen: de NeoPixel LED die met dank aan een ATTiny85 en een knoopcelbatterij er voor zou zorgen dat de ster licht zou geven in wisselende kleuren. Ik had de LEDs besteld via deze leverancier op AliExpress maar de exacte aansturing was nog even puzzelen geweest de afgelopen weken (tussen alle andere werk door). De NeoPixel heeft als voordeel ten opzichte van een RGB LED dat je maar 3 aansluitingen nodig hebt op een processor, ook als je meerdere LEDs wilt aansturen. De 4e pin van een LED is namelijk de Data-out. Je stuurt de kleurcodes voor alle LEDs via 1 datapoort naar buiten en elke LED “pakt” alleen de kleurcode die voor hemzelf bedoelt is (de eerste code in de keten) en stuurt dan de rest door. Je sluit dus de Data-out poort van de eerste LED aan op de Data-in poort van de tweede LED etc.

Nou had ik maar 1 LED en een knoopcel, dus geen gedoe met weerstanden etc.
Ontwerpvraag was of het geheel ín de ster kon hangen of erbuiten moest. Het papier bleek uiteindelijk dusdanig dun (wat handig was omdat het licht er dan ook doorheen gaat) dat het erbuiten moest. Dat betekende 3 draden de ster in. Het was daarna even zoeken naar de draden die niet te dik maar ook niet onhandelbaar dun waren.

Ik heb de pootjes van de LED in Dupont stekkers gestoken. Normaal koop je kabeltjes met de stekkers (mannetje of vrouwtje) er al aan, maar omdat ik draden nodig had van elk 50 cm lang, moest ik met de tang aan de slag. Soms vragen mijn kinderen zich af waarom papa zoveel spullen in huis heeft…soms begrijpen ze het… 🙂

 

Deel dit bericht:
dec 052017
 

De vraag/opdracht was heel ruim: maak iets rond het thema “Engel” dat als surprise kan dienen voor Sinterklaas.

Het werd al heel snel een Kerstboom met engeltjes en een ster er op. Met in de kerstboom LED-lampjes die aangestuurd worden door een ATTiny85 chip die van stroom voorzien wordt door een knoopcelbatterij. Oorspronkelijk was het idee om de ster met behulp van een servo te laten bewegen, maar die functionaliteit is door tijdgebrek geschrapt.

Ook hebben we er bewust voor gekozen om de “technologie” zichtbaar te maken. Dat betekent dat je aan de achterkant van de kerstboom de draadjes, de ATTiny85, de batterij etc. kunt zien zitten. Een deel van de “bekabeling”, de “ground” terug vanuit de LEDs gaat nu via kopertape. Achteraf gezien was het mooier geweest ook de voedingslijnen met kopertape te doen, maar dit kan ook.

We waren in dit geval mijn twee tieners en ikzelf. Ik prijs mezelf namelijk heel gelukkig dat zij inmiddels de leeftijd en interesse hebben om zo’n project als een familieproject te zien. We zijn aan de tafel begonnen met overleggen, mijn oudste dochter kan goed tekenen, zij tekende dus uit de vrije hand een kerstboom. Mijn jongste kan prima overweg met de elektrische figuurzaag en nam het uitzagen en verven voor zijn rekening. Het versieren van de ster liet hij over aan zijn zus, de andere versieringen hebben ze met z’n tweeën verzorgd.

Lees verder….

Deel dit bericht:

Het programmeren van een ATTiny85

 Gepubliceerd door om 06:52  Arduino, Hardware
dec 042017
 

Hoewel ik al ervaring had met het programmeren van een ATTiny85 als die onderdeel was van een Digispark board (links op de foto),  heb ik dit weekend geleerd dat het programmeren van een losse chip (rechts op de foto, de andere 9 exemplaren zitten in het buisje erboven) iets ingewikkelder is/was. Was eigenlijk omdat het nu ik het een keer gedaan heb weet en het niet echt moeilijker is.

Het Digispark board had zelf nog een USB-aansluiting, die had ik nu niet. Nou dacht ik dat ik daar een oplossing voor had in de vorm van een “Pluggable Development Board Voor ATtiny13A/ATtiny25/ATtiny45/ATtiny85 Programmering Editor Micro Usb Power Connector” (link). Inmiddels heb ik begrepen dat het  mogelijk moet zijn om, door eerst een bootloader op de ATTiny85 te zetten, ik iets kan met dat board. Maar vooraf nog niet.

Dus moest ik aan de slag met de “bekend” alternatieve optie waarbij een Arduino Uno gebruikt wordt om de code op de ATTiny85 te zetten. Daarvoor is de volgende constructie nodig:

De detailbeschrijving van het aansluiten kun je hier vinden.

De Arduino Uno moet dan een script krijgen dat standaard te vinden is in de IDE via Bestand > Voorbeelden > ArduinoISP > ArduinoISP

Daarna was het even zoeken naar de dingen die ik moest doen om het ATTiny85 script *via* de Arduino Uno naar de ATTiny85 te krijgen.

Uiteindelijk heb ik hier de url voor de Board managers voor “attiny” (https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json) en “ATTinyCore” (http://drazzy.com/package_drazzy.com_index.json) gevonden, die toegevoegd via Bestand > Voorkeuren en daarna de beide boards geïnstalleerd.

Daarna was het een kwestie van het instellen van board, de programmer moest omgezet naar “Arduino as ISP” en wonder boven wonder werkte het allemaal daarna.

Dát het werkte wist ik was toen ik de chip aangesloten had op het circuit dat ik eerst getest had met het Digispark board. Dat is een werkwijze die ik iedereen kan aanraden. Het programmeren van de Digispark via USB gaat veel sneller, je hoeft niet en chip om te prikken etc.
Maar dat kan dus wellicht straks ook met het ontwikkelboard, nadat ik een bootloader op een ATTiny85 chip gezet heb.

Ik kan het me helemaal voorstellen als je denkt “Wat een gedoe!”. Dat klopt. Maar daar staat tegenover dat de ATTiny85 ook een pareltje is. Qua afmetingen, qua prijs (minder dan 1 euro per stuk), het gegeven dat je hem gewoon op een 3V knoopcelbatterij kunt aansluiten. Kortom, voor “kleine” projecten, papercircuits etc. is het een fantastische chip.

p.s. het script waarmee ik aan de gang ging dit weekend kwam hier vandaan. Blijkt ook prima op de ATTiny85 te draaien.

Deel dit bericht:

Charlieplexing en de ATTiny85

 Gepubliceerd door om 22:30  Algemeen, Hardware
nov 302017
 

Een nadeel van zo’n “kleine” processor als de ATTiny85 is het beperkte aantal I/O (input/output) poorten. En dan maakt het niet uit of je de “grote” versie gebruikt op een Digispark bordje met USB-aansluiting of alleen de kale chip.

Je moet het in de praktijk doen met 5 effectieve output pinnen. Met zo’n pin kun je de waarde van een sensor lezen of je kunt een LED aanschakelen (of een relais als je iets groters dan een LED wilt schakelen).

Maar wat nou als je 20 LEDs individueel wilt kunnen schakelen met die 5 poorten? Hoe doe je dat dan?

Het blijkt te kunnen. Ik heb het niet zelf verzonnen, zelfs nog geen tijd gehad om de bijbehorende schakeling zelf te realiseren (staat nog op de uitdagingenlijst), maar het systeem heet “Charlieplexing” of “matrix-mulitplexing”. Wikipedia weet me te vertellen dat de naam afkomstig is van Charlie Allen, de bedenker/voorvechter van het principe.

Het idee is simpel, maar ook weer niet. Het eerste deel is waarschijnlijk redelijk eenvoudig te begrijpen en heeft te maken met het principe dat LEDs alleen licht geven als de plus en de min goed aangesloten zijn. Als je naar onderstaande afbeelding kijkt, dan zie je dat je door het omwisselen van de plus en min, de ene of de andere LED aanschakelt.

En toen begreep ik het zelf eerst even niet meer. Want wat als je allebei de LEDs aan wilt schakelen? Dat kan in principe niet. Maar je kunt het wel laten lijken alsof het zo is door de plus en min steeds om te wisselen. Je schakelt dus beide om en om LEDs snel genoeg aan (en uit) waardoor het lijkt alsof ze beiden aan zijn.

Voeg je nu een derde aansluiting toe dan kun je in totaal 6 LEDs aansluiten en schakelen:

Daarbij is het niet voldoende om tussen 0V en 5V te schakelen, je moet een van de 3 pinnen als het ware elke keer loskoppelen van de schakeling. Dat hoef je gelukkig niet te doen door het kabeltje los te trekken, het is voldoende om de I/O pin op “input” te zetten.
Met 5 I/O pinnen kom je dan uiteindelijk tot de maximaal 20 LEDs.

In het filmpje hierboven, afkomstig van instructables.com kun je zien dat het inderdaad lijkt alsof alle LEDs branden terwijl ze dus eigenlijk snel aan/uit geschakeld worden. Het is even wat meer werk, maar het resultaat is op zijn minst intrigerend.

 

Deel dit bericht:
apr 032017
 

Laat ik beginnen met de breed gedragen constatering dat het werken met paper circuits toch nog best heel wat moeilijker is dan dat je zou denken als je de filmpjes die online staan ziet. Wat dat betreft is het ook maar goed dat ik 5 rollen van 30 meter besteld heb, want er zal nog wel wat tape “verbruikt” worden.

Maar…de opmerking dat ik natuurlijk na het weekend ook wel een paar voorbeelden wilde hebben om te laten zien, was voldoende stimulans om te volharden.

Ikzelf was er voor het debuggen, als mensen een voorbeeld zoeken van een debug-activiteit die niet met programmeren te maken heeft: laat leerlingen met paper circuits aan de slag gaan! 😉

Ik weet zeker dat ze dan ook leren om nauwkeurig te werken en planmatig te werk te gaan. Want als je niet nauwkeurig bent, dan is je stroomkring al bij de eerst bocht onderbroken en als je niet planmatig te werk gaat bestaat je project vooral uit frustratie om led lampjes die verkeerd om zitten of stroomkringen die niet sluiten.

Maar natuurlijk is het ook gewoon leuk. Waar Marit meteen aan het tekenen sloeg en begon met een mooie voorkant, dacht Niek na over parallelschakelingen van ledjes met aparte knopjes per led en combineerde Josine bestaande kaarten met ledjes en zorgde voor batterijhouders (van papier).

De kopertape die we hebben blijkt tweezijdig te geleiden, dat is handiger dan tape die alleen aan de bovenkant geleidt. Het vastplakken van leds met plakband blijkt niet zo handig, het contact is minder sterk dan nodig, beter is het om ook daar kopertape te gebruiken.

Lees verder….

Deel dit bericht:
mrt 192017
 

Since some of the people the inspired this weekend project can’t read Dutch, I decided to do the follow up of part 1 / deel 1 in English. That first part, posted yesterday evening late showed work in progress. Today, the Panda Ballerina was completed. Before I show you the end result, I wanted to go into the steps involved in a bit more detail.

Like I mentioned, the Paper Panda Prototype by Jeannine Huffman was the initial inspiration. That project is already a year old, but I think it was Per-Ivar Kloen that tweeted about it recently. That combined with the tweet by Sarah Magner determined the theme: a Panda Ballerina.
Now both the Paper Panda and the Ballerina use copper tape / paper circuits, my order of tape is still on its way, so that wasn’t possible yet, but I did receive the ATtiny85 chips, although in a different form factor, in my case as a DigiSpark ATtiny85. We had some TowerPro SG90 servos and a couple of LEDs, so the idea was to create one using thin plywood.

Template
First step was to come up with a template. Now I have to admit, Googling one is no problem for a private setting, for say classroom use it is best to use one where you are more sure about the rights to re-use and make derivative works then I am for this one: I could not find the original creator. So, draw one yourself if you want to be 100% sure that it is OK. After you draw you figure, you have to separate the two parts. In my case I made a copy and using the lasso tool, I erased the body for one copy and the head for the other copy. Then I added something neutral looking that could act as a nek. For the next version that part is going to be smaller and less visible, but you need something to attach the servo to.

Print, transfer to plywood, cut the plywood with a jigsaw, carefully smooth with sandpaper and add color. We glued a second black/white version to the wood because that allowed the drilling of holes for the LEDs in the head without later seeing the actual LEDs.

Lees verder….

Deel dit bericht:
mrt 182017
 

Vanaf het moment dat ik via Twitter het Paper Panda prototype voorbij zag komen, kwam het op mijn “eens keer uitproberen” lijstje terecht. Toen ik daarna (via deze tweet) een ander vergelijkbaar voorbeeld met een ballerina zag wist ik dat het dan een Panda Ballerina moest worden.

Omdat de kopertape nog niet binnen is, maar de ATtiny85 wél, kon ik aan de slag. Nou ja, ik, het werd een weekend familie project waarbij de ene helft van de familie het figuurzaagwerk voor haar rekening nam en de andere helft met de DigiSpark ATtiny85, een TowerPro SG90 servo en een paar LEDjes aan de slag ging om te kijken of we dat deel voor elkaar konden krijgen.

De deelresultaten:

 

Zoals je hierboven kunt zien zit het geheel inmiddels bijna in elkaar. Het boren van het juiste gat in het lijf (zodat de servo haast vanzelf vast klempt), de extra dunne en flexibele draad aan de LEDs en de programmering van de ATtiny85 werken in principe. De servo maakt nog niet helemaal de juiste beweging, dat betekent dat ik het aantal graden in de code nog moet aanpassen.

De twee LEDs zitten nu zonder weerstand in serie aangesloten. Ze zijn op het moment feller dan toen ik de schakeling met losse kabels opgebouwd had. Zal dus aan de weerstand van de verbindingen liggen. Voor wat betreft de kabels was het even kiezen tussen het gebruiken van een prototype-board alleen voor het netjes aan elkaar verbinden ervan of bij elkaar pakken, soldeer erover en krimpkousje. Het werd dat laatste.

Morgen dus herprogrammeren, het kabeltje van de batterijdoos die (grrrrr) afbrak in de doos netjes solderen (zit nu provisorisch vast), het gezichtje er op plakken, het geheel vast aan het doosje en dan is dit weekendproject officieel klaar (en het weekend voorbij).

Deel dit bericht:
 Reacties uitgeschakeld voor Weekendproject: Panda Ballerina ATtiny85 – deel 1  Tags: , ,