https://revspace.nl/api.php?action=feedcontributions&user=Noor&feedformat=atom
RevSpace - User contributions [en-gb]
2024-03-29T14:15:31Z
User contributions
MediaWiki 1.32.1
https://revspace.nl/index.php?title=F%C3%AAte_de_la_Friture&diff=30640
Fête de la Friture
2022-12-24T15:45:16Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Fête de la Friture<br />
|DateStart=27 Dec 2022<br />
|DateEnd=27 Dec 2022<br />
|InfoLocation=L'espace de la Révélation<br />
|InfoOpen=19:00<br />
}}<br />
Tja we kunnen wel chique gaan doen, maar eigenlijk willen we gewoon samen een vette bek halen. Deze wiki-pagina is bewust nogal ghetto. Voel je vrij daar wat aan te doen, maar we hebben liever dat je een klusje van de klusjeslijst hieronder oppakt. <br />
<br />
== Liste d'inscription ==<br />
Realistisch is tot ongeveer 12 mensen. Meer kan wel maar dan duurt het allemaal wat langer tussen de rondes.<br />
<br />
Vlees is okee ('''geen''' garantie op vlees, je loopt ernstig risico op een stevig percentage vegetarisch):<br />
* Sebastius<br />
* supakeen+1<br />
* cmpxchg<br />
* Peetz0r<br />
* Crashjuh<br />
* fk<br />
* Shiz<br />
* polyfloyd+1<br />
* Noor<br />
* riichard<br />
<br />
Vlees is niet okee (wel garantie op '''geen''' vlees. Niet vegan. En het gaat in dezelfde frituur als alle vleesmeuk. Kun je dat aan? Mooi, dan kun je meedoen!):<br />
* f0x<br />
* ...<br />
<br />
== Liste d'emplois ==<br />
* Chef des Achats: Shiz<br />
* Chef de mission et la friteuse: Sebastius<br />
* Sous-chef: ...?<br />
* Chef de Garniture: ...?<br />
* Chef des Plats: cmpxchg<br />
* Chef nettoyant la Friteuse: ...?<br />
* Sommelier du Sauces: supakeen<br />
<br />
== Liste de souhaits ==<br />
* Frikandel speciaal<br />
* Beslag om in de kleine frituur deep-fried-candy-bars te maken. Nee doe het niet! JAWEL!<br />
<br />
== Liste des allergies ==<br />
te controleren in de supermarkt en voordat het de vetput in gaat:<br />
<br />
* Geen tuinbonen!<br />
* Geen kaas. Behalve dingen met kaas. Daarin gewoon wel kaas.</div>
Noor
https://revspace.nl/index.php?title=Hoera12%C2%BDjaar&diff=29780
Hoera12½jaar
2022-06-06T20:26:47Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Verjaardag 12½<sup>e</sup> jaar<br />
|DateStart=13 Aug 2022<br />
|DateEnd=13 Aug 2022<br />
|InfoLocation=Revspace!<br />
|InfoOpen=17:00<br />
}}<br />
<br />
== Feest! ==<br />
<br />
Traditioneel vieren wij de verjaardag van RevSpace (tevens HSNL-nieuwjaarsborrel) de zaterdag vóór FOSDEM. Dit keer niet! We vieren ons 12½jarig jubileum!<br />
<br />
Het feestje begint om 17:00. Als je eerder komt, word je geacht mee te helpen met voorbereidingen!<br />
<br />
== BBQ ==<br />
<br />
Bij onze traditie hoort ook dat we bij het feestje een winter-BBQ doen. <br />
<br />
== Crew ==<br />
<br />
Wil je helpen? De taakverdeling (denk aan opbouw, afwas, afbouw, etc.) vullen we later nog in.<br />
<br />
* Inkopen:<br />
* Huur BBQ/statafels/etc:<br />
* Opbouw: <br />
* Sla-guru<br />
* Broodfluisteraar<br />
* Grillmeister(s/innen):<br />
* Afruimen: polyfloyd, ...?<br />
* Afwassers:<br />
* Afdrogers:<br />
* Space opruimers:<br />
<br />
== Inschrijving ==<br />
Bij "vlees" en "vega(n)" graag het aantal mee-eters vermelden, als je vegaN wilt hebben, zet het erbij, anders krijg je vegA. <br />
<br />
Kosten voor het eten: ca. 10 € per persoon; we moeten even kijken hoe de inflatie uitpakt.<br />
<br />
* We gaan tot maximaal 50 aanmeldingen voor het avondprogramma (bbq + feest).<br />
* Deze aantallen zijn gebaseerd op hoeveel fysieke ruimte er is om het veilig te houden, dus je MOET aanmelden om naar RevSpace te mogen komen op deze dag.<br />
<br />
Zonder wiki-account aanmelden kan ook. Vraag op [[IRC]] of iemand je wil toevoegen, of e-mail via https://revspace.nl/Contact<br />
<br />
NB: graag alleen jezelf en partner(s) inschrijven, geen groepen.<br />
<br />
Er is een deadline! Maar die is nog lang niet!<br />
<br />
<div style="animation: spin 10s linear infinite"><br />
<div style="transform-origin: top left; transform:rotate(-.7deg) scale(1.0837, 1.05)"><br />
{| border="1" class="wikitable sortable" style="border:40px inset rgba(calc({{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=999|format=sum}} * 2),calc((100 - {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=999|format=sum}}) * 2), 0,0.4); box-shadow: 0 0 0 5px rgba(calc({{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=999|format=sum}} * 2),calc((100 - {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=999|format=sum}}) * 2), 0,0.4);;" <br />
! Naam/Nick !! VleesBBQ !! Vega(n)BBQ !! Opmerkingen<br />
{{BBQParticipant|Participant=[[Sebastius]]|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[Crashjuh]]|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[Kartoffel]]|Vega=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[F0x]]|Vega=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[Juerd]]|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[Boekenwuurm]]|Vega=1|Opmerking=}}<br />
{{BBQParticipant|Participant=[[Polyfloyd]]|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=Anus|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=Wheeze_NL|Vlees=1|Opmerking=}}<br />
{{BBQParticipant|Participant=Noor|Vlees=1|Opmerking=}}<br />
<!-- He jij daar, tof dat je je inschrijft! Overweeg alsjeblieft om je naam ook bij de takenlijst te zetten. Zo'n feestje is best veel werk en we zoeken altijd meer vrijwilligers! --><br />
|-<br />
! Subtotaal || {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|limit=999|format=sum}} ||{{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVega|limit=999|format=sum}} ||<br />
|-<br />
! Totaal ||colspan="2"| {{#ask:[[-Has subobject::{{FULLPAGENAME}}]]|?BBQVlees|?BBQVega|limit=50|format=sum}} || max: 50<br />
|}<br />
</div> <br />
</div><br />
<br />
<br />
Heb je geen account op de wiki en wil je je wel inschrijven voor het feestje? Vraag iemand anders om je naam in de tabel te zetten :)</div>
Noor
https://revspace.nl/index.php?title=Eten_bestellen&diff=29587
Eten bestellen
2022-04-23T19:37:39Z
<p>Noor: </p>
<hr />
<div>Wil jij nomz bestellen? Hieronder staat een lijst met meningen en restaraunts.<br />
<br />
= Restaurants =<br />
<br />
{| class="wikitable"<br />
|-<br />
! Naam !! Categorie !! Vegetarisch !! Vegan !! Rating !! Kosten !! Snel !! Extra<br />
|-<br />
| [https://www.eflatundoner.nl/ Eflatun] || Turks || Ja || Nee || 3.5/5 || Ok || Ja || Lekker Turks eten wel veel vet en altijd op tijd. (vegetarisch mogelijk)<br />
|-<br />
| [https://www.jjskitchen.nl/ JJ's Kitchen] || Surinaams || Ja || Nee || 4/5 || Medium || Nee || Lekker Surinaams eten. Een quote van een deelnemer "De lekkerste bezorg Roti die ik in 10 jaar op heb". Beter even appen dan via de website, ophalen = warmer. <br />
|-<br />
| [https://www.pizzaportobello.nl/ Porto Bello] || Pizza || Ja || Ja-ish (zonder kaas) || 3/5 || Ja || Meestal || Pizza.<br />
|-<br />
| [https://www.pizzapronto-leidschendam.nl/ Pizza Pronto] || Pizza || Ja || Nee || 3/5 || Ja || Soms || Wederom Pizza.<br />
|-<br />
| [https://www.royalcurry.nl/ Royal Curry] || Indiaas || Ja || Nee? || 4.5/5 || Ok || Nee || De default Indiaas voor de vrijdagavond.<br />
Note from Noor: Worst Indian food I've had, very bland, and I'm not a picky eater who has had plenty of *good* Indian food all over three continents.<br />
|-<br />
| [https://leidschendam.pannenkoe.nl/ Pannenkoe] || Pannenkoeken (ook hartig) || Ja || Ja || 4/5 || Duur || Dunno || Hip restaurant iets duur, pannenkoeken en andere dingen.<br />
|-<br />
| [https://leidschendam.foodmaster.nl/?radius=10 Foodmaster Sytwinde ] || Snackbar || Ja || Nee || 3/5 || Meh || Meestal || Goeie snackbar.<br />
|-<br />
| [https://www.snackbar-het-pleintje.nl/ Snackbar 't Pleintje ] || Snackbar || Ja || Nee || 4/5 || Ok || Meestal || Betere snackbar.<br />
|}<br />
<br />
'''Niet doen'''<br />
* Jimmy/Johny Burger - Een slappe burger voor een hoge prijs</div>
Noor
https://revspace.nl/index.php?title=Corona/Reserveren&diff=28677
Corona/Reserveren
2021-12-31T14:30:24Z
<p>Noor: </p>
<hr />
<div>= Spacen op afspraak =<br />
<br />
Wegens lockdown helaas even geen gezelligheid, maar wel het rijk alleen!<br />
<br />
* Er mag 1 deelnemer tegelijk op de space zijn met reservering, plus eventueel nog 1 die even snel iets komt halen.<br />
* '''Afhalen zonder reservering:'''<br />
** Je mag even snel (max. 5 minuten) wat komen halen, 1 tegelijk.<br />
** Space al vol terwijl er geen reservering is? Wacht tot de vorige afhaler weg is. Gebruik de deurbel als je ongeduldig bent.<br />
** Niet-deelnemers (ook huisgenoten) wachten buiten.<br />
* '''Space gebruiken tijdens de <!--dagelijkse c-->lockdown:'''<br />
** Verplicht vooraf inschrijven op deze pagina, maximaal 7 dagen van te voren.<br />
** Er mag een huisgenoot bij, maar niemand anders binnen laten (uitgezonderd noodgevallen (zie hieronder)).<br />
** Je spacebezoek duurt maximaal 4 uur, tussen je spacebezoeken laat je een gat van minstens 2 uur. <!--(Voorbeeld: als je van 14:00 tot 18:00 wilt spacen, dan moet je 17:00-18:00 reserveren.)--><br />
** De reservering geldt voor de hele space behalve de sparkshack. Voor de sparkshack zijn er [[Corona/Sparkshack|aparte regels]].<br />
** '''Arriveren, inchecken, space openen:'''<br />
*** NA het begin van je reservering.<br />
** '''Uitchecken, space sluiten, vertrekken:'''<br />
*** VOOR het einde van je reservering.<br />
*** VERGEET NIET UIT TE CHECKEN. Als je vergeet uit te checken, moet de volgende wachten op de timeout. Als je ook vergeet om de space te sluiten, komt er geen timeout en is de space gedeadlockt.<br />
* Volg alle gebruikelijke regels en [[Corona]]-regels.<br />
* Het kan fris zijn op de space, vooral 's nachts (ca. 17 graden). Met goede kleding kom je de 4 uur echt wel door. Een extra T-shirt onder je hoodie doet wonderen.<br />
<br />
== Reserveren ==<br />
<br />
Hou de lijst gesorteerd op datum en tijd alsjeblieft!<br />
<br />
{|class=wikitable<br />
! Datum !! Begintijd !! Eindtijd !! Naam van deelnemer<br />
|-<br />
| dinsdag 21 december 2021 || 14:00 || 18:00 || pinoaffe<br />
|-<br />
| dinsdag 21 december 2021 || 22:00 || 00:00 || Okkie<br />
|-<br />
| woensdag 22 december 2021 || 00:00 || 02:00 || Okkie<br />
|-<br />
| woensdag 22 december 2021 || 11:45 || 15:45 || benadski<br />
|-<br />
| woensdag 22 december 2021 || 16:00 || 20:00 || pinoaffe<br />
|-<br />
| woensdag 22 december 2021 || 20:00 || 24:00 || mono-bob<br />
|-<br />
| donderdag 23 december 2021 || 11:30 || 13:00 || hvwees<br />
|-<br />
| donderdag 23 december 2021 || 13:00 || 15:00 || supakeen<br />
|-<br />
| donderdag 23 december 2021 || 17:30 || 20:30 || minicom<br />
|-<br />
| donderdag 23 december 2021 || 23:15 || 3:15 || Juerd<br />
|-<br />
| vrijdag 24 december 2021 || 15:00 || 17:00 || supakeen<br />
|-<br />
| vrijdag 24 december 2021 || 18:00 || 22:00 || benadski<br />
|-<br />
| zaterdag 25 december 2021 || 02:40 || 03:40 || pbx ( + emma [ huisgenoot ] )<br />
|-<br />
| maandag 27 december 2021 || 9:30 || 13:30 || cmpxchg<br />
|-<br />
| maandag 27 december 2021 || 18:30 || 22:30 || benadski<br />
|-<br />
| dinsdag 28 December 2021 || 16:00 || 18:00 || Okkie <br />
|-<br />
| dinsdag 28 December 2021 || 18:00 || 22:00 || benadski <br />
|-<br />
| woensdag 29 December 2021 || 12:30 || 13:30 || f0x <br />
|-<br />
| woensdag 29 December 2021 || 14:30 || 16:30 || cmpxchg <br />
|-<br />
| woensdag 29 December 2021 || 18:30 || 19:30 || benadski <br />
|-<br />
| donderdag 30 december 2021 || 13:00 || 17:00 || Tempestas<br />
|-<br />
| donderdag 30 december 2021 || 19:00 || 23:00 || benadski<br />
|-<br />
| vrijdag 31 december 2021 || 18:00 || 22:00 || Juerd<br />
|-<br />
| zaterdag 1 januari 2022 || 16:00 || 17:30 || supakeen<br />
|-<br />
| zondag 2 januari 2022 || 14:00 || 16:00 || supakeen<br />
|}<br />
<br />
Besef dat er niemand anders is om 112 voor je te bellen, dus hou 't veilig. Zorg dat je jezelf niet kunt verwonden als je schrikt van de deurbel of van vuurwerk.<br />
<br />
<!--<br />
*********************************************************************************************<br />
**** Hou de lijst op volgorde van datum/tijd! Reserveringen van ≥1 week geleden mogen worden verwijderd.<br />
*********************************************************************************************<br />
--><br />
<br />
= Q & A =<br />
<br />
; Wat moet ik doen als er iemand aanbelt?<br />
: Er mag 1 extra deelnemer tegelijkertijd binnen zijn die wat komt halen of brengen. Controleer of de aanbeller ook echt deelnemer is (ken je die niet persoonlijk, laat de deelnemer dan met dies eigen iButton zelf de deur openen). De afhaler moet niet blijven hangen voor een praatje, want de <!--c-->lockdown is om contacten te voorkomen; sorry. In een echt noodgeval kan er uiteraard veel meer.<br />
<br />
; Wat is een 'noodgeval'?<br />
: Denk aan heel heftige dingen, zoals fysiek gevaar, een afgebrand huis, of een paniekaanval. In zulke uitzonderlijke omstandigheden kun je naar de space gaan, ook als er al iemand is, en daarvandaan hulp regelen. Als er al iemand ingecheckt is, leg dan uit wat er aan de hand is.<br />
<br />
; Handen wassen? Mondkapje?<br />
: Ja. Dat voorkomt voor een groot deel dat je oppervlakten besmet. Dus ook al ben je alleen, toch doen. En graag alles goed schoonmaken voordat je vertrekt. Als je je mondkapje bent vergeten, kun je er bij de ingang eentje uit de bak pakken.<br />
<br />
; Ben ik gegarandeerd alleen op de space?<br />
: Nee. Er kan iemand langskomen om snel wat op te halen. Diegene moet binnen 5 minuten weer vertrekken. Ook zijn er huurders van kantoorruimte in het gebouw, die via de space naar hun kantoor lopen. Tot slot hebben bestuursleden een sleutel die het altijd doet, voor als er werkzaamheden voor de space zelf nodig zijn.<br />
<br />
; Mag je de lasercutter en zo gebruiken?<br />
: Je mag alle faciliteiten gebruiken, maar besef dat er niemand anders is om 112 voor je te bellen, dus hou 't veilig.<br />
<br />
; Is er een maximum aantal reserveringen per deelnemer?<br />
: Momenteel is er geen maximum, maar gun je mede-deelnemers ook wat. Er is wel een maximum van 4 uur per spacebezoek.<br />
<br />
; Mag je last-minute reserveren?<br />
: Ja, ongereserveerde tijd mag je ook reserveren vlak voordat die tijd ingaat. Tip: reserveer wel voordat je van huis vertrekt, om te voorkomen dat iemand anders de tijd claimt terwijl je nog onderweg bent.</div>
Noor
https://revspace.nl/index.php?title=Inkoopactie_megafoodstunter&diff=27734
Inkoopactie megafoodstunter
2021-08-04T12:21:09Z
<p>Noor: </p>
<hr />
<div>Hoi, we gaan binnenkort bestellen, zorg dat er geld op je revbank staat.<br />
<br />
We hebben op de space tijdelijk veel diepvriescapaciteit over, dus we kunnen een keertje een inkoopactie op megafoodstunter.nl doen!<br />
<br />
{| class="wikitable"<br />
|-<br />
! Product !! Bestelling<br />
|-<br />
| [https://megafoodstunter.nl/winkel/vlees/rundvlees-entrecote-steak-ready-minimaal-2-kilo/ Entrecote 10 stuks]<br />
| Let op: gaat per 10 stuks. Je mag minder units bestellen maar dan kan het zijn dat jouw item niet besteld wordt. <br />
* <br />
|-<br />
| [https://megafoodstunter.nl/winkel/vlees/filet-steak-10x200g/ Biefstuk 10x 200g]<br />
| Let op: gaat per 10 stuks. Je mag minder units bestellen maar dan kan het zijn dat jouw item niet besteld wordt. <br />
* <br />
|-<br />
| [https://megafoodstunter.nl/winkel/ijs/cornetto-6-x-120ml/ Cornetto 8x 6 stuks]<br />
| Let op: gaat per 8 dozen van 6 stuks, bestel hieronder een aantal dozen. Je mag minder units bestellen maar dan kan het zijn dat jouw item niet besteld wordt. <br />
* 8x Revspace € 10,00<br />
* 4x Juerd € 5,00<br />
|-<br />
| [https://megafoodstunter.nl/winkel/vegetarisch/magnetron-patat-10-x-140-gram/ Magnetronpatat 10x 140 g]<br />
| wtf?<br />
* 2x Revspace € 4,00<br />
* 1x Peetz0r € 2,00<br />
* 1x Juerd € 2,00<br />
|-<br />
| [https://megafoodstunter.nl/winkel/pizza-snacks/pizza-mozzarella-10-stuks/ Pizza mozarella 10x]<br />
|<br />
* 5x Juerd € 5,00<br />
* 5x Supakeen € 5,00<br />
* 10x Revspace € 10,00<br />
|-<br />
| [https://megafoodstunter.nl/winkel/bake-off/saucijzenbroodje-xl-30-x-135-gram/ Saucijzenbroodje XL 30x]<br />
|<br />
* 15x Supakeen € 7,50<br />
* 15x Sebastius € 7,50<br />
* 30x Revspace € 15,00 (of de helft als supakeen niet uitkomt)<br />
|-<br />
| [https://megafoodstunter.nl/winkel/vlees/us-beef-burger-10-x-200-gram/ Beefburger 10x 200gram]<br />
| lekkah<br />
* 5x Supakeen € 15,00<br />
* <br />
|-<br />
| [https://megafoodstunter.nl/winkel/pizza-snacks/aardappelbolletjes-10x1000-gram/ Aardappelbolletjes 10x 1kg]<br />
| lekkah<br />
* 3x Supakeen € 2,10<br />
* 2x Juerd € 1,40<br />
* 5x Foobar € 3.50<br />
|-<br />
| [https://megafoodstunter.nl/winkel/bake-off/wurstchen-doc-84x120g/ Bladerdeeg gevuld met Knakworst – 84 stuks]<br />
| Let op: gaat per zak van 12 stuks (7 zakjes per doos)<br />
* 12x Zawadi € 3,43<br />
* 12x Juerd € 3,43<br />
* 12x Sebastius € 3,43<br />
* 12x Peetz0r € 3,43<br />
|-<br />
| [https://megafoodstunter.nl/winkel/bake-off/ham-kaas-croissants-112-x-105-gram/ Ham kaas croissants 112 stuks]<br />
| Heerlijk<br />
* 1 doos voor Revspace € 10,00<br />
|-<br />
| [https://megafoodstunter.nl/winkel/bake-off/choco-croissants-minimaal-48-stuks/ Choco Croissants (48 stuks)]<br />
| 1 doos FooBar € 9.-<br />
|-<br />
| [https://megafoodstunter.nl/winkel/ijs/green-tea-roomijs-4-x-2400-ml/ Green Tea roomijs 4x 2,4L]<br />
| <br />
* 2x PeterC € 3,75 (PeterC would like others to take some of his hands ;)<br />
* 1x Peetz0r € 1,25<br />
* 1x Noor € 1,25<br />
|-<br />
|}</div>
Noor
https://revspace.nl/index.php?title=Cloud_shirt&diff=27295
Cloud shirt
2021-05-24T21:39:46Z
<p>Noor: </p>
<hr />
<div>{{Project<br />
|Name=Cloud shirt<br />
|Picture=cloud.png<br />
|Status=In progress<br />
|Omschrijving=Het design valt niet onder de CC-licentie.<br />
|Contact=zawadi<br />
}}<br />
<br />
= Huh, wat? =<br />
Kijken of genoeg mensen interesse hebben in een Cloud shirt.<br />
<br />
* € 15 per stuk.<br />
* Shirt(s) zelf afhalen bij RevSpace.<br />
* Vanaf ca. 20 t-shirts gaan we bestellen.<br />
* Info over de betaling volgt wel als we de bestelling plaatsen.<br />
<br />
= Intekenlijst =<br />
<br />
* Als je geen RevSpace-deelnemer bent, vermeld dan ook je e-mailadres zodat we je kunnen bereiken!<br />
* Per maat een nieuwe regel maken<br />
<br />
{| class="wikitable"<br />
! Naam || Aantal shirts || Maat + heren/dames || E-mailadres <br />
|-<br />
| jij || 0 || - || hier@naar.mailen.nl <br />
|-<br />
| Zawadi || 1 || M heren || hi@zawadidone.nl<br />
|-<br />
| polyfloyd || 1 || M heren || floyd at polyfloyd dot net<br />
|-<br />
| kinroy || 3 || XL heren || yornik<Apenstaartje>yornik.nl<br />
|-<br />
| h3x4d3c1m4l || 2 || L heren || sander<0x40>inthout.me<br />
|-<br />
| the_jinx || 1 || XL heren || revspacewiki@annejan.com<br />
|-<br />
| buZz || 2 || L heer || buzz cirkelrondeenA spacedout punkt nl <br />
|-<br />
| Wheeze_NL || 1 || XXL || Revspace <br />
|-<br />
| Noor || 1 || S dames ||<br />
|-|}</div>
Noor
https://revspace.nl/index.php?title=LED_skirt&diff=26995
LED skirt
2021-04-20T20:31:32Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LED skirt<br />
|Status=In progress<br />
|Picture=Photo5933744821665640847 - by WheezeNL.jpg<br />
|Contact=Noor<br />
}}<br />
==To do==<br />
* Reinforce wire connections with hot glue and/or zip ties.<br />
* Punch and grommet holes where velcro used to be.<br />
* Buy or make a carrying case (width ~80 cm, height ~110 cm), maybe pop-up tent bag.<br />
* Make LEDs addressable by position.<br />
* More programming designs.<br />
* Get '''[http://soliton.vm.bytemark.co.uk/pub/cpt-city/pd/astro/tn/aurora_borealis.png.index.html aurora borealis palette]''' working properly on circles and panel, and shooting stars display on strips.<br />
* Replace (or add to) strip in bottom tube with '''[https://nl.aliexpress.com/item/32885384695.html side-emitting LEDs]'''?<br />
<br />
==LED count==<br />
*240 - circles (all used except one)<br />
*64 - 8x8 panel.<br />
<br />
*23 - strip 1.<br />
*23 - strip 2.<br />
*17 - strip 3.<br />
*84 (?) - strip along bottom tube.<br />
<br />
Total: 451 LEDs.<br />
<br />
==Timeline==<br />
<br />
===Construction===<br />
'''2019-11-06 - 2019-11-11'''<br />
<br />
Bought:<br />
* '''[https://nl.aliexpress.com/item/32911854822.html 8x8 cm WS2812 LED panel]'''<br />
* '''[https://nl.aliexpress.com/item/32966375934.html 5m, 30 LEDs/m, IP67, black LED pixel strip]'''<br />
* '''[https://nl.aliexpress.com/item/4000146649971.html 241 LEDs, rings of varying sizes from 3 to 17 cm]'''<br />
* [x2] '''[https://nl.aliexpress.com/item/32988614802.html 2-hoop crinolines to attach LEDs to]'''<br />
* '''[https://nl.aliexpress.com/item/32846977474.html?spm=a2g0s.9042311.0.0.ce634c4dCN7q6F 88 cm black skirt]'''<br />
<br />
Old sketches:<br />
<br />
[[File:2019-11-04 224115 - design1.png|100px]][[File:2019-11-04 224123 - led skirt 2.png|100px]][[File:2019-11-04 224131 - led skirt 3.png|100px]]<br />
[[File:2019-11-05 215433 - DSC06381.jpg|214px]][[File:2019-11-05 215437 - DSC06382.jpg|214px]]<br />
<br />
'''2019-11-12 - 2019-11-24'''<br />
* Played with layout of LEDs, waiting for items to arrive.<br />
* Tested out LEDs under layers and on crinoline.<br />
<br />
[[File:2019-11-23 220454 - DSC06537.jpg|150px]]<br />
[[File:2019-11-23 221724 - DSC06542.jpg|150px]]<br />
[[File:2019-11-24 173747 - DSC06546.jpg|200px]]<br />
<br />
'''2019-11-25'''<br />
* Took apart seams of inner layers of black skirt to add extra panels to fit over crinoline.<br />
<br />
'''2019-11-26'''<br />
* Measured skirt on top of crinoline. Extra panel with bottom arc length of 100+cm.<br />
* Decided to go with 6 strips of 23 LEDs each. Cut one strip.<br />
<br />
[[File:2019-11-26 190451 - DSC06570.jpg|150px]]<br />
[[File:2019-11-26 190712 - DSC06573.jpg|150px]]<br />
<br />
'''2019-12-03 - 2019-12-05'''<br />
* Tested out LED rings. One wire was detached so had to be soldered on.<br />
[[File:2019-12-03 174905 - DSC06589.jpg|200px]]<br />
[[File:2019-12-05 182443 - DSC06618.jpg|200px]]<br />
<br />
[[File:2019-12-05 172105 - MAH06604.mp4|250px]]<br />
[[File:2019-12-05 182150 - MAH06614.mp4|250px]]<br />
[[File:2019-12-05 203225 - MAH06620.mp4|250px]]<br />
<br />
'''2019-12-06'''<br />
*Punched holes in crinoline, used zip ties to attach first LED strip.<br />
*Took apart LED circles and tested FastLED programs.<br />
*Set up LED circles, one strip, and panel together on crinoline and used zip ties to place everything but the panel on crinoline.<br />
*Ran FastLED programs on everything together.<br />
*Pictures posted by others to '''[https://www.facebook.com/story.php?story_fbid=2623825531015894&id=249310478467423 Facebook]''', '''[https://revspace.nl/kiekjes/view/20191206/P1000995.JPG RevSpace kiekjes]''', '''[https://twitter.com/revspacenl/status/1203094244057059329 Twitter]'''.<br />
<br />
[[File:2019-12-06 193923 - DSC06635.jpg|150px]]<br />
[[File:2019-12-06 194452 - DSC06637.jpg|150px]]<br />
[[File:2019-12-06 200017 - DSC06639.jpg|266px]]<br />
[[File:2019-12-06 220618 - DSC06666.jpg|150px]]<br />
[[File:2019-12-06 220632 - DSC06667.jpg|150px]]<br />
[[File:2019-12-06 220710 - DSC06668.jpg|150px]]<br />
[[File:2019-12-06 181804 - MAH06633.mp4|250px]]<br />
[[File:2019-12-06 201308 - MAH06641.mp4|250px]]<br />
[[File:2019-12-06 220455 - MAH06664.mp4|150px]]<br />
[[File:2019-12-06 220715 - MAH06669.mp4|150px]]<br />
<br />
'''2019-12-20'''<br />
<br />
*Rearranged LED circles, mounted some back on with velcro. Mounted panel with velcro.<br />
*Cut two more strips. Attached wires to one and mounted it horizontally at an angle.<br />
<br />
[[File:2019-12-20 214116 - DSC06775.JPG|150px]]<br />
<br />
'''2019-12-22'''<br />
*Folded up bottom hem and put velcro strips all across to partially make a tube along bottom.<br />
[[File:2019-12-22 202231 - DSC06794.jpg|200px]]<br />
[[File:2019-12-22 203241 - DSC06795.jpg|150px]]<br />
<br />
'''2019-12-24'''<br />
*Bought '''[https://www.aliexpress.com/item/32801353259.html LED connectors (20 pairs, 3-pin)]'''.<br />
<br />
'''2019-12-25'''<br />
*Measured and cut panel for black layer of skirt.<br />
<br />
'''2020-01-10'''<br />
*Used fabric glue along bottom hem tube, in between velcro strips.<br />
*Soldered wires to more LED strips.<br />
<br />
[[File:2020-01-10 145148 - DSC08359.jpg|200px]]<br />
[[File:2020-01-10 165310 - DSC08360.jpg|200px]]<br />
[[File:2020-01-10 201701 - DSC08367.jpg|200px]]<br />
[[File:2020-01-10 205118 - DSC08368.jpg|150px]]<br />
[[File:2020-01-10 211717 - DSC08370.jpg|200px]]<br />
[[File:2020-01-10 213030 - DSC08371.jpg|200px]]<br />
[[File:2020-01-10 223034 - DSC08375.jpg|200px]]<br />
[[File:2020-01-10 225615 - DSC08377.jpg|150px]]<br />
<br />
'''2020-01-11'''<br />
*Soldered wires to remaining LED strips.<br />
*Connected everything together, hooked up to an Arduino.<br />
<br />
[[File:2020-01-11 185141 - DSC08388.jpg|200px]]<br />
[[File:2020-01-11 191121 - DSC08389.jpg|150px]]<br />
[[File:2020-01-11 202121 - DSC08392.jpg|200px]]<br />
[[File:2020-01-11 202125 - DSC08393.jpg|200px]]<br />
[[File:2020-01-11 202717 - DSC08394.jpg|200px]]<br />
[[File:2020-01-11 203657 - DSC08396.jpg|200px]]<br />
[[File:2020-01-11 204945 - DSC08397.jpg|200px]]<br />
[[File:2020-01-11 210350 - DSC08401.jpg|200px]]<br />
<br />
[[File:2020-01-11 195305 - MAH08399 3.mp4|150px]]<br />
[[File:2020-01-11 201459 - MAH08404 2.mp4|150px]]<br />
<br />
'''2020-01-17'''<br />
*Added more velcro bits to fix placement of LEDs.<br />
*Experimented with modifying FastLED programs. BPM on circles?<br />
<br />
[[File:2020-01-17 170344 - DSC08486.jpg|200px]]<br />
[[File:2020-01-17 174034 - DSC08489.jpg|200px]]<br />
[[File:2020-01-17 183719 - DSC08492.jpg|150px]]<br />
[[File:2020-01-17 195703 - DSC08503.jpg|150px]]<br />
<br />
[[File:2020-01-17 183546 - MAH08490.mp4|150px]]<br />
[[File:2020-01-17 195232 - MAH08497.mp4|150px]]<br />
<br />
'''2020-01-18 - 2020-02-13'''<br />
<br />
* Experimented more with FastLED programs.<br />
* For custom color palettes, used '''[http://fastled.io/tools/paletteknife/ PaletteKnife bookmarklet]''' to generate codes for palettes. Add to sketch directly, or add to Arduino/libraries/FastLED/colorpalettes.cpp and palette name to colorpalettes.h.<br />
* Cut up plastic bag for panel over skirt, attached with velcro.<br />
* Finished up everything on black outer skirt.<br />
* Bought 2x '''[https://www.lidl-shop.nl/SILVERCREST-Powerbank-10-000-mAh/p100264867 SilverCrest power banks]'''.<br />
<br />
[[File:2020-01-28 202925 - DSC08667.jpg|240px]]<br />
[[File:2020-01-28 205606 - DSC08678.jpg|240px]]<br />
[[File:2020-01-28 205645 - DSC08682.jpg|135px]]<br />
[[File:2020-01-31 201610 - DSC08697.jpg|240px]]<br />
[[File:2020-02-05 222300 - DSC08979.jpg|240px]]<br />
[[File:2020-02-07 214159 - DSC09010.jpg|135px]]<br />
[[File:2020-02-07 214322 - DSC09012.jpg|240px]]<br />
[[File:2020-02-09 184847 - DSC09137.jpg|135px]]<br />
[[File:2020-02-11 182635 - DSC09159.jpg|240px]]<br />
[[File:2020-02-11 185833 - DSC09164.jpg|240px]]<br />
[[File:2020-02-11 201149 - DSC09169.jpg|135px]]<br />
[[File:2020-02-11 233802 - DSC09223.jpg|135px]]<br />
[[File:2020-02-13 170031 - DSC09231.jpg|240px]]<br />
[[File:2020-02-13 195455 - DSC09237.jpg|240px]]<br />
[[File:2020-02-13 201536 - DSC09239.jpg|240px]]<br />
[[File:2020-02-13 204153 - DSC09242.jpg|135px]]<br />
[[File:2020-02-13 205404 - DSC09244.jpg|135px]]<br />
[[File:2020-02-13 213221 - DSC09245.jpg|240px]]<br />
<br />
[[File:2020-02-05 212228 - MAH08977.mkv|250px]]<br />
[[File:2020-02-13 204138 - MAH09241.mkv|150px]]<br />
[[File:2020-02-13 205005 - MAH09243.mkv|150px]]<br />
<br />
===HackerHotel 2020===<br />
<br />
'''2020-02-14 -2020-02-16'''<br />
<br />
* Debut as Princess of Lights went excellent, with paparazzi taking pictures and video all weekend.<br />
* About a dozen wires broke off throughout the weekend and had to be soldered back on, some with reinforcements of zip ties to hold them in place.<br />
* LEDs kept weighing down crinoline, and since the string in the waist came out a long time ago, the velcro was not enough to hold it up. Used an opened paperclip to hold it together, and then a safety pin. Need to add a hook fastener, or use a large safety pin (through grommeted holes) or some other kind of fastener.<br />
<br />
[[File:2020-02-14 215110 - DSC09343.jpg|170px]]<br />
[[File:2020-02-15 004016 - DSC09369.jpg|240px]]<br />
[[File:photo5933744821665640847 - by WheezeNL.jpg|170px]]<br />
<br />
[[File:2020-02-14 205051 - MAH09341.mkv|200px]]<br />
[[File:2020-02-14 205124 - MAH09344.mkv|194px]]<br />
[[File:t_video5933782887504545062 - by WheezeNL.mkv|216px]]<br />
[[File:t_video5931592870795413162 - by Rowan8k.mkv|165px]]<br />
<br />
Modified fastLED sketches that I used at HH2020:<br />
<br />
Arduino 1 (for circles and panel):<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 304<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 15<br />
#define FRAMES_PER_SECOND 120<br />
#define SHIFT_PER_SECOND 15<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { rainbowWithGlitter, bpm, confetti, flowingwater };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
DEFINE_GRADIENT_PALETTE( Aleutian_Clouds_gp ) {<br />
0, 37,184,133,<br />
12, 37,184,133,<br />
25, 46,168, 98,<br />
37, 55,152, 67,<br />
51, 22,104, 77,<br />
63, 5, 66, 88,<br />
76, 1, 31, 49,<br />
88, 1, 19, 32,<br />
100, 1, 2, 11,<br />
112, 1, 3, 9,<br />
125, 1, 6, 20,<br />
137, 1, 10, 20,<br />
149, 1, 2, 11, <br />
161, 1, 19, 32,<br />
173, 1, 31, 49,<br />
185, 5, 66, 88,<br />
200, 22,104, 77,<br />
212, 55,152, 67,<br />
225, 46,168, 98,<br />
237, 37,184,133,<br />
255, 37,184,133,<br />
};<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
void rainbow() <br />
{<br />
// FastLED's built-in rainbow generator<br />
fill_rainbow( leds, NUM_LEDS, gHue, 35);<br />
}<br />
<br />
void rainbowWithGlitter() <br />
{<br />
// built-in FastLED rainbow, plus some random sparkly glitter<br />
rainbow();<br />
addGlitter(80);<br />
}<br />
<br />
void addGlitter( fract8 chanceOfGlitter) <br />
{<br />
if( random8() < chanceOfGlitter) {<br />
leds[ random16(NUM_LEDS) ] += CRGB::White;<br />
}<br />
}<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
int offset = 0;<br />
int framecounter = 0;<br />
void flowingwater()<br />
{<br />
<br />
CRGBPalette16 palette = Aleutian_Clouds_gp;<br />
<br />
for( int i = 0; i < NUM_LEDS; i++) { <br />
leds[i] = ColorFromPalette(palette, ((i+offset)%256), 128);<br />
addGlitter(1);<br />
}<br />
framecounter++;<br />
if (framecounter > FRAMES_PER_SECOND / SHIFT_PER_SECOND) {<br />
offset++;<br />
//offset = offset + random8(4);<br />
if (offset >= 256) {<br />
offset = 0;<br />
}<br />
framecounter = 0;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
Arduino 2 (for strips), from fastLED's demo reel:<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 147<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 75<br />
#define FRAMES_PER_SECOND 40<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { confetti, sinelon, juggle, bpm };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void sinelon()<br />
{<br />
// a colored dot sweeping back and forth, with fading trails<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
int pos = beatsin16( 13, 0, NUM_LEDS-1 );<br />
leds[pos] += CHSV( gHue, 255, 192);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
void juggle() {<br />
// eight colored dots, weaving in and out of sync with each other<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
byte dothue = 0;<br />
for( int i = 0; i < 8; i++) {<br />
leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);<br />
dothue += 32;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
===LED skirt corona-tion edition===<br />
<br />
[[File:2020-03-24 164127.jpg|200px|right]]<br />
<br />
Thought experiment: Corona-tion edition<br />
<br />
* Skirt needs to keep other people 1.5 m away, so bottom hoop with 3 m diameter (~9.4248 m circumference).<br />
* Waist circumference (cut-off top of cone) is 65 cm, height is 1 m, bottom radius is 1.5 m.<br />
* First back-of-the-envelope calculation: surface area of 70,000 sq cm for LEDs (that many if assuming 1 LED per sq cm).<br />
* Requires a portable nuclear power station (can build them in openRA).<br />
* Weight of LEDs can be dealt with by using a proper wooden/metal hoop skirt, with roller wheels at bottom.<br />
* Plenty of space under skirt for batteries. Roller wheels can be powered wheels to move around.<br />
* Power consumption can be reduced massively by adding in motion detectors that light up only some LEDs at a time if someone gets near [noopwafel].<br />
* Addressable RGB leds will come at 5cts in bulk, so 3500 euro in LEDs excluding PCBs and other stuff [Sebastius].<br />
<br />
* A proper calculation resulted in 87,656.25 sq cm surface area. Assuming 1 LED per sq cm, and approx 7 LEDs per euro, the cost of the LEDs would be 12,522 euro.<br />
* Power consumption for 87,656 neopixel LEDs at 60 mA, 5 V each: 26+ kW, more than a 3x 35A mains set up to power [Peetz0r].<br />
* LEDs are more likely to be 20 mA each, resulting in 8.77 kW [Juerd].<br />
<br />
* With circle packing and lower density LEDs it might become affordable, if LEDs are placed inside circles with r = 2.5, ~4100 leds for triangular packing [supakeen].<br />
<br />
===Further work===<br />
<br />
'''2020-02-21 and 2020-02-25'''<br />
* Removed velcro pads from skirt as they were coming apart and were useless at Hacker Hotel.<br />
* Applied Mod Podge where velcro pads used to be, sealing loose threads.<br />
<br />
[[File:2020-02-25 212846 - DSC09574.jpg|200px]]<br />
[[File:2020-02-21 161944 - DSC09517.jpg|200px]]<br />
<br />
'''2020-03-07'''<br />
* Took apart a couple of cracked LCD screens. Diffusion and reflective films had some trippy effects (that don't show so well in pictures). Plan is to use them as panels for some parts.<br />
<br />
[[File:2020-03-07 175704 - DSC09635.jpg|200px]]<br />
[[File:2020-03-07 180407 - DSC09636.jpg|200px]]<br />
[[File:2020-03-07 180457 - DSC09639.jpg|200px]]<br />
<br />
'''2020-10'''<br />
<br />
[[File:DSC02065.JPG|200px]]<br />
<br />
*Several Velcro patches need re-gluing back on.</div>
Noor
https://revspace.nl/index.php?title=MetaMeeting21x03x02&diff=26723
MetaMeeting21x03x02
2021-03-02T19:28:38Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Metameet<br />
|DateStart=2 march 2021<br />
|DateEnd=2 march 2021<br />
|InfoLocation=Jitsi<br />
|InfoOpen=20:15<br />
}}<br />
<br />
[[Category:Event]]<br />
[[Category:Metameet]]<br />
<br />
Vorige MetaMeet: [[MetaMeeting21x02x16]]<br />
Volgende MetaMeet: [[MetaMeeting21x03x16]]<br />
<br />
==Notulen==<br />
<br />
== Mededelingen van het bestuur ==<br />
* geen, anders dan: vandaag zou de space weer opengaan, maar de lockdown is verlengd<br />
<br />
== Projectupdates/rondvraag ==<br />
; Juerd: niet zo heel veel<br />
; cmpxchg: eigenlijk niks; als het goed is komt er morgen een 3D printer binnen om in elkaar te zetten<br />
; zawadi: ook niks gedaan<br />
; Peetz0r: nope<br />
; Noor: nothing<br />
; foobar: ook niet echt heel veel, bezig met nieuwe klanten<br />
; f0x: nieuwe thuisserver gekocht en in elkaar gezet, fractal node 304 schattig, nixOS erop zetten, eerst netjes krijgen en dan migreren: o.a. Matrix<br />
; merethan: heleboel dingen aan auto gedaan, o.a. interieur uit elkaar gehaald en achterwielophanging gereviseerd - ook achteruitrijcamera van buurman gefixt; gesolliciteerd<br />
; polyfloyd: begint energie terug te krijgen, dus weer verder met muziekvideo website ding: meerdere animatie na elkaar met crossfades<br />
; Sebastius: ouwe speakers en radio gekocht, die speakers klinken eigenlijk fakking goed<br />
; ultratux: niet zo heel veel gedaan; gestuct en 3x rijles plus brommer-rijexamen gehaald, daardoor nu weer rijden in Biro<br />
; Shiz: auctions kijken om chip analyse project uit te breiden; logic analyzer gescoord hopelijk. gekloot met PS2 dingen, proberen meer hardware aan te leren<br />
; audionerd: nieuwe digitale stemcondensator besteld om fancy uitvoering te maken van StrobeWaffle met variabele frequentie; kijken om misschien proefkonijnen te recruteren via Facebook</div>
Noor
https://revspace.nl/index.php?title=Hoera11jaar&diff=26666
Hoera11jaar
2021-01-20T23:01:50Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Verjaardag 11<sup>e</sup> jaar<br />
|DateStart=30 Jan 2021<br />
|DateEnd=30 Jan 2021<br />
|InfoLocation=BBB<br />
|InfoOpen=17:00<br />
}}<br />
<br />
== Feest! ==<br />
<br />
Traditioneel vieren wij de verjaardag van RevSpace (tevens HSNL-nieuwjaarsborrel) de zaterdag vóór FOSDEM. Dit jaar is FOSDEM op 6 & 7 februari, dus hoera11jaar is op zaterdag 30 januari.<br />
<br />
En uiteraard is het feestje online, net als FOSDEM, en eigenlijk alles nu.<br />
<br />
* De feestlocatie is https://meet.nluug.nl/b/seb-2uy-is9 (Big Blue Barbecue)<br />
<br />
Het feestje begint om 17:00. Als je eerder komt, word je geacht mee te helpen met voorbereidingen :P<br />
<br />
== BBQ ==<br />
<br />
Bij onze traditie hoort ook dat we bij het feestje een winter-BBQ doen. Tja, dat zul je deze keer zelf moeten regelen als je wilt BBQ'en. Zelf inkopen doen, zelf grillen, zelf afwassen.<br />
<br />
== Inschrijving ==<br />
<br />
Er is deze keer geen enkele reden om inschrijving te verplichten, maar sommige mensen willen zich graag wel kunnen inschrijven omdat het traditie is. Dus ga je gang:<br />
<br />
<div style="animation: spin 10s linear infinite"><br />
<div style="transform-origin: top left; transform:rotate(-.7deg) scale(1.0837, 1.05)"><br />
{| border="1" class="wikitable sortable" style="border:10px solid rgba(255, 192, 203, .4)" <br />
! Naam/Nick !! VleesBBQ !! Vega(n)BBQ !! Opmerkingen<br />
|-<br />
| Juerd || 1 || - || Ik heb geen bbq dus ik gooi wel wat vlees in 'n pan :)<br />
|-<br />
| Kartoffel || - || 1 || Wel vega, geen BBQ<br />
|-<br />
| Sebastius || 1 || - ||<br />
|-<br />
| Wheeze_NL || 1 || - || Ik kan niet garanderen dat het vlees op een BBQ word bereid.<br />
|-<br />
| Audionerd || n || - ||<br />
|-<br />
| polyfloyd || - || 1 || AH Maaltijdsalade<br />
|-<br />
| boekenwuurm || - || 1 ||<br />
|-<br />
| supakeen || 1 || - ||<br />
|-<br />
| Thijs || - || 2 ||<br />
|-<br />
| kinroy || 2 || - || KAPSALON<br />
|-<br />
| Noor || 1 || i || complex<br />
|-<br />
| Peetz0r || x || y || z<br />
|-<br />
| f0x || r || θ || φ<br />
|-<br />
| zawadi || 1 || - || <br />
|}<br />
</div><br />
</div><br />
<br />
Heb je geen account op de wiki en wil je je wel inschrijven voor je eigen thuis-BBQ? Vraag iemand anders om je naam in de tabel te zetten :)</div>
Noor
https://revspace.nl/index.php?title=Hoera11jaar&diff=26649
Hoera11jaar
2021-01-19T20:51:00Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Verjaardag 11<sup>e</sup> jaar<br />
|DateStart=30 Jan 2021<br />
|DateEnd=30 Jan 2021<br />
|InfoLocation=BBB<br />
|InfoOpen=17:00<br />
}}<br />
<br />
== Feest! ==<br />
<br />
Traditioneel vieren wij de verjaardag van RevSpace (tevens HSNL-nieuwjaarsborrel) de zaterdag vóór FOSDEM. Dit jaar is FOSDEM op 6 & 7 februari, dus hoera11jaar is op zaterdag 30 januari.<br />
<br />
En uiteraard is het feestje online, net als FOSDEM, en eigenlijk alles nu.<br />
<br />
* De feestlocatie is https://meet.nluug.nl/b/seb-2uy-is9<br />
<br />
Het feestje begint om 17:00. Als je eerder komt, word je geacht mee te helpen met voorbereidingen :P<br />
<br />
== BBQ ==<br />
<br />
Bij onze traditie hoort ook dat we bij het feestje een winter-BBQ doen. Tja, dat zul je deze keer zelf moeten regelen als je wilt BBQ'en. Zelf inkopen doen, zelf grillen, zelf afwassen.<br />
<br />
== Inschrijving ==<br />
<br />
Er is deze keer geen enkele reden om inschrijving te verplichten, maar sommige mensen willen zich graag wel kunnen inschrijven omdat het traditie is. Dus ga je gang:<br />
<br />
<div style="transform-origin: top left; transform:rotate(-.7deg) scale(1.337, 1.05); animation: spin 10s"><br />
{| border="1" class="wikitable sortable" style="" <br />
! Naam/Nick !! VleesBBQ !! Vega(n)BBQ !! Opmerkingen<br />
|-<br />
| Juerd || 1 || - || Ik heb geen bbq dus ik gooi wel wat vlees in 'n pan :)<br />
|-<br />
| Kartoffel || - || 1 || Wel vega, geen BBQ<br />
|-<br />
| Sebastius || 1 || -<br />
|-<br />
| Wheeze_NL || 1 || - || Ik kan niet garanderen dat het vlees op een BBQ word bereid.<br />
|-<br />
| Audionerd || n || -<br />
|-<br />
| polyfloyd || - || 1 || AH Maaltijdsalade<br />
|-<br />
| boekenwuurm || - || 1<br />
|-<br />
| supakeen || 1 || -<br />
|-<br />
| Thijs || - || 2<br />
|-<br />
| kinroy || 2 || - || KAPSALON<br />
|-<br />
| Noor || 1 || - ||<br />
|}<br />
</div><br />
<br />
Heb je geen account op de wiki en wil je je wel inschrijven voor je eigen thuis-BBQ? Vraag iemand anders om je naam in de tabel te zetten :)</div>
Noor
https://revspace.nl/index.php?title=FAQ&diff=26397
FAQ
2020-12-06T15:40:30Z
<p>Noor: </p>
<hr />
<div>== Deze FAQ ==<br />
<br />
; Worden deze vragen echt zo frequently asked?<br />
: Sommige wel...<br />
; Waarom een FAQ? Alle informatie staat toch al op de site?<br />
: Vanwege het vermoeden dat een FAQ beter gelezen wordt dan de rest. Overigens, nu we toch je aandacht hebben: lees het [[Reglement]] ook eens een keertje door.<br />
<br />
== English ==<br />
<br />
; Why is the site part English, part Dutch?<br />
: The main official information is in Dutch because that's easier for a large part of our target audience, and to make clear that at our hackerspace, the primary spoken language is also Dutch. Although we like to think that we speak and understand English pretty well, participation went up noticeably when we started doing the main things in Dutch. Some pages, especially project pages, are in English because the author prefers it for personal reasons, or to reach a larger online audience.<br />
; But why are there so few translations?<br />
: Translating is a lot of work and translations tend to get outdated. Besides, there are several automated translation services that work reasonably well, so it's not really necessary.<br />
; Can I get around at RevSpace, if I don't speak any Dutch?<br />
: Yes, practically everyone will understand you if you speak English. It does help a lot to bring a device that is capable of translating labels, although most boxes and bins are transparent or open. We have several regular participants who do not speak Dutch.<br />
; Is it considered rude to speak a different language?<br />
: At RevSpace, it is socially acceptable to speak any language you prefer, as long as you're not doing so to intentionally exclude other people.<br />
; I want to learn Dutch, but people keep answering in English!<br />
: They're not trying to be rude. Many Dutch people love to practice speaking English, and the ones that are fluent have a tendency to pick the most efficient language. But if you want to learn Dutch by immersion, simply explain to people that you prefer to speak Dutch, and most people will happily switch over.<br />
<br />
== Hackerspaces ==<br />
<br />
; Wat is een hackerspace?<br />
: Een werkplaats en ontmoetingsplaats speciaal voor hackers, die door de bezoekers wordt opgebouwd en onderhouden. Omdat de ruimte ("de space") specifiek bestemd is voor hackers, kunnen de deelnemers er 24/7 (of bijna 24/7) terecht.<br />
; Wat is hacken dan?<br />
: Zoveel hackers, zoveel definities. Een aantal: 1. Het omzeilen van (kunstmatige) beperkingen in technische systemen. 2. Op creatieve wijze meer doen met techniek dan de makers zelf hadden bedacht, het opzoeken van de grenzen van het mogelijke en het verkennen van de ethische en maatschappelijke consequenties van de ontdekte mogelijkheden. 3. Naar behoeven aanpassen. 4. Meubels maken met een bijl. Enzovoort, enzovoort...<br />
; Maar hacken is toch illegaal inbreken in computers?<br />
: Hacken hoeft niks te maken hebben met inbreken, en als je wel aan het inbreken bent, hoeft dat niet illegaal te zijn (bijvoorbeeld als je toestemming hebt van de eigenaar).<br />
; Houden ethische hackers zich altijd aan de wet?<br />
: Dat verschilt per hacker. Sommigen willen nooit de wet overtreden, sommigen vinden dat de wet niet goed genoeg is. Maar het is belangrijk om te vermelden dat de meeste vormen van hacken helemaal niet strafbaar zijn. Er bestaan wel criminele hackers, maar vermoedelijk komen die nauwelijks bij hackerspaces.<br />
; Gebeuren er nou illegale dingen bij hackerspaces, of niet?<br />
: Waarschijnlijk niet. Om het zeker te weten zouden we intensief moeten monitoren en surveilleren. Dat willen we niet, want zo'n inbreuk op de privacy van onze deelnemers staat haaks op onze principes. We gaan ervan uit dat onze bezoekers goede bedoelingen hebben. Bovendien zijn wij niet echt getraind in de juridische aspecten.<br />
; Zijn er nog andere hackerspaces in Nederland?<br />
: Ja, zie https://hackerspaces.nl/ voor een overzicht. Elke hackerspace is weer anders, maar het komt vaak voor dat de diverse hackerspaces samenwerken, en menig hacker is bij meerdere spaces ingeschreven.<br />
; Hoe zit de organisatie in elkaar?<br />
: In Nederland worden de meeste hackerspaces gefaciliteerd door een stichting. Het bestuur beheert de bankrekening en bepaalt de hoofdlijnen. De dagelijkse gang van zaken is informeel en wordt door de deelnemers (mensen die contributie betalen) zelf georganiseerd.<br />
; Hoe worden hackerspaces gefinancierd?<br />
: In principe met de maandelijkse contributie van deelnemers/leden. Er zijn ook mensen die regelmatig doneren. In tegenstelling tot sommige andere hackerspaces, accepteert RevSpace in principe geen sponsoring (wel donaties!) en zijn we niet afhankelijk van subsidies.<br />
; Wat is het verschil tussen een hackerspace en een makerspace?<br />
: Makerspaces gaan om het maken van nieuwe dingen (eventueel van hergebruikte materialen), terwijl hackerspaces zich daarnaast ook richten op minder tastbare dingen zoals burgerrechten en informatieveiligheid. Vrijwel alle maker-dingen kun je bij een hackerspace of een makerspace doen, maar voor de hackerspecifieke zaken moet je toch echt bij een hackerspace zijn.<br />
; Thuis heb ik ook veel gereedschap. Waarom is mijn garage dan geen hackerspace?<br />
: Als er meerdere mensen in jouw garage samenkomen om te hacken, je inschrijvingen accepteert en ook sleutels uitgeeft waarmee mensen 24/7 naar binnen kunnen, er regelmatig workshops worden gehouden en jullie je naast fysieke dingen ook richten op andere hackeronderwerpen, kun je je garage best een hackerspace noemen.<br />
<br />
== Voor buitenstaanders ==<br />
<br />
; Waar vind ik een hacker voor een klusje?<br />
: Probeer een vacaturewebsite of zoiets. In ieder geval niet bij ons op de space, want wij komen daar niet om werk te zoeken.<br />
; Accepteren jullie ook donaties?<br />
: Geld kunnen we heel goed gebruiken. Gereedschap, als we het nog niet hebben, vaak ook wel. Courante (digitale) elektronica is ook fijn om op voorraad te hebben. Maar aan oude brommers, magnetrons, kapotte printers en autoradio's hebben we niet zo veel. Wie een hele partij computers kwijt wil, kan die wel aan ons geven; wij hergebruiken zoveel mogelijk zelf en zorgen voor goede recycling van de rest. En verder hebben we nooit genoeg netstroomadapters van 5 volt en 12 volt!<br />
<br />
== Deelnemerschap ==<br />
<br />
; Is deelnemerschap verplicht?<br />
: Nee, RevSpace is gratis toegankelijk voor alle hackers, ongeacht of ze zich inschrijven als deelnemer. Echter, na inschrijving kun je een sleutel krijgen en zelf je openingstijden bepalen.<br />
; Moet je een hacker zijn om deelnemer te kunnen worden?<br />
: Op zich niet, maar onze definitie van hacken is heel ruim en er is best een kans dat wij jou wel een hacker vinden, ondanks dat je daar zelf anders over denkt.<br />
; Wat is de contributie?<br />
: Deelnemers betalen 25 € per maand. Deelnemers onder de 18 betalen 15 € per maand.<br />
; Wat krijg je daarvoor?<br />
: Deelnemers betalen mee aan de faciliteiten die de space biedt. Ze kunnen een sleutel krijgen en 24/7 op de space terecht. Je mag als deelnemer (binnen bepaalde grenzen) gereedschap en projecten op de space achterlaten. En je krijgt toegang tot de mailinglist voor deelnemers. Tot slot mag je als deelnemer tot 13,37 € rood staan in het betaalsysteem.<br />
; Hoe kan ik me inschrijven? (onder de 18)<br />
: Als je de space een paar keer hebt bezocht en je wilt je inschrijven, kun je vragen om een inschrijfformulier. Die moet je laten ondertekenen door je ouder of voogd. Vervolgens kun je je bij een bestuurslid melden. Zorg dat je 15 € bij je hebt om de eerste maand contributie meteen te kunnen betalen.<br />
; Hoe kan ik me inschrijven? (18+)<br />
: Als je de space een paar keer hebt bezocht en je wilt je inschrijven, kun je tijdens onze openingstijden bij een bestuurslid terecht. Praktisch elke dinsdagavond is er wel iemand van het bestuur, maar op andere dagen vaak ook. Zorg dat je 40 € bij je hebt, of dat je die mobiel kunt overmaken naar onze rekening. 25 € daarvan is voor de eerste maand contributie, de resterende 15 € is borg voor een sleutel.<br />
; Ik wil geen deelnemer worden maar wel financieel m'n steentje bijdragen. Kan ik me inschrijven als donateur of "vriend van de space"?<br />
: Vriendschap is gratis, maar als je ons geld wilt geven: ja, heel graag! Ons rekeningnummer staat op de site en bij de bar staat een geldkistje waar je anoniem geld kunt achterlaten. Bedenk wel dat we er, behalve dankbaarheid en de belofte dat we het geld goed zullen gebruiken, weinig voor terug kunnen geven. Wil je de voordelen van deelnemerschap, dan zul je je toch echt deelnemer moeten worden.<br />
; Hoe kan ik me uitschrijven?<br />
: Het liefst per e-mail aan het bestuur. We vinden het fijn als je laat weten waarom je geen deelnemer meer wilt zijn. Overigens: als het niet lukt om de maandelijkse contributie te betalen, neem dan ook even contact op. Uitschrijven om financiele redenen is vaak niet nodig als je actief de space wilt blijven bezoeken; we regelen wel wat.<br />
; Wat is de opzegtermijn?<br />
: De contributie wordt betaald per hele kalendermaand, maar je kunt per direct uitschrijven als je dat wilt. Reeds betaalde contributie krijg je niet terug, de 15 euro sleutelborg wel. Sommige vertrekkende deelnemers besluiten hun sleutelborg te doneren aan de stichting en houden hun sleutel (iButton) als aandenken.<br />
; Ik heb me bedacht en wil me toch weer opnieuw inschrijven, kan dat?<br />
: Ja, maar uitschrijven en inschrijven is voor ons wel werk, dus hopelijk blijf je nu wat langer... :-)<br />
; Waarom hebben jullie het over "deelnemers" in plaats van "leden"?<br />
: Omdat Stichting Revelation Space geen vereniging is, gebruiken we ook geen verenigingsterminologie. We hebben ook geen ALV, maar een deelnemersvergadering.<br />
; Wie zijn jullie huidige deelnemers? Hoe oud zijn ze? Mannen of vrouwen? Waar komen ze vandaan? Zijn het allemaal autisten? Hoe lang is de gemiddelde unixbaard? Hebben ze zwarte of zilverkleurige laptops?<br />
: Wij vinden deze dingen niet zo belangrijk. Iedereen die zich gedraagt, is bij ons welkom! Kom je ook?<br />
<br />
== Opruimen ==<br />
<br />
; Is er een corveerooster?<br />
: We hebben geen verplicht corvee. Iedereen moet zijn eigen werkplek opgeruimd en schoon achterlaten, en helpen met de dingen die iemand anders is vergeten. Daarnaast hebben we een corveerooster voor betaalde schoonmaak; zie [[Schoonmaakbounties]].<br />
; Tafel schoonmaken of niet?<br />
: In principe altijd, want zelfs een blikje of Mateflesje laat kringen achter. Rugtassen die op de tafel worden gezet zijn waarschijnlijk eerder op de vloer geweest, etcetera. In het algemeen staat er een fles schoonmaakmiddel met een doekje klaar, en is het schoonmaken van de tafel als je vertrekt minder dan 1 minuut werk.<br />
; Waar liggen de schoonmaakspullen?<br />
: Bij het gereedschapbord in de buurt, centraal in de space. In de keuken vind je schoonmaakdingen boven het aanrecht en in de kast.<br />
; Wie doet de afwas?<br />
: Wie dingen vies maakt, moet ze ook weer schoonmaken. Als je in je eentje gebruik hebt gemaakt van servies, moet je het dezelfde dag schoon en droog opbergen. Wanneer een groep samen heeft gegeten, is het gebruikelijk om de taken te verdelen.<br />
; Wie doet de was?<br />
: Degene die ontdekt dat de wasmand vol begint te raken. We hebben een eigen wasmachine die de was ook weer droogt.<br />
; Wie vult de koelkast bij?<br />
: Iedereen!<br />
<br />
== Gereedschap ==<br />
<br />
; Van wie is al dat gereedschap?<br />
: Het meeste is eigendom van de space. Sommige dingen zijn in bruikleen gegeven door deelnemers en voorzien van een eigendomssticker.<br />
; Is alle gereedschap veilig?<br />
: Nee. We hebben ook gereedschap waar je specifieke kennis of vaardigheid voor nodig hebt om het veilig te kunnen gebruiken. Daarnaast wordt ons gereedschap niet gekeurd. Gebruik je eigen verstand om te bepalen of je voldoende weet en kunt.<br />
; Mag ik gereedschap lenen?<br />
: Nee, want RevSpace heeft daarvoor te veel deelnemers en we hebben slechte ervaringen met gereedschap uitlenen. Als iets wordt uitgeleend, zul je net zien dat iemand anders het ook nodig heeft. We maken alleen uitzonderingen voor hacker-evenementen, en dat moet altijd in overleg met het bestuur.<br />
; Mag ik dan op de space dingen voor thuis maken, ook al heeft 't echt niks met hacken te maken?<br />
: Ja, dat mag.<br />
; Wat moet ik doen als ik iets stuk heb gemaakt?<br />
: Even mailen naar de mailinglist of het bestuur. Leg uit wat er is gebeurd. Als het je eigen schuld was: koop zo snel mogelijk een vervanging. Als het onze schuld is: sorry.<br />
; Wat moet ik doen als ik iets niet kan vinden?<br />
: Eerst: beter zoeken en mensen vragen of ze willen helpen met zoeken. Als je het dan nog niet kunt vinden, mail dan naar de mailinglist of het bestuur. We hebben bijna alles al, maar we vinden het ook leuk om nieuw gereedschap te kopen als het nuttig is voor veel van onze deelnemers.<br />
<br />
== Regels ==<br />
<br />
; Waar staan de regels?<br />
: In het [[Reglement]].<br />
; Waarom geen alcohol?<br />
: Deelnemers mogen gerust wat alcohol meenemen en zelf gebruiken, maar vanwege de veiligheid en de sfeer verwachten we dat je de hoeveelheid heel beperkt houdt. Alcohol verstrekken is wettelijk gezien heel lastig: alle drinken uit de koelkast wordt bij ons verkocht via zelfbediening. Daarbij kunnen we de verplichte leeftijdscontrole niet doen, en we hebben ook geen personeel met de verplichte diploma voor "Sociale Hygiene". Tot slot hebben we geen tapvergunning. Bezoekers moeten ook niet zomaar alcohol verstrekken aan andere bezoekers, want dezelfde regels blijven gelden en de stichting kan erop worden aangekeken.<br />
; Maar waar moet ik dan flux mee wegpoetsen?<br />
: Bovenstaande gaat over alcoholische dranken, niet over zuivere of schoonmaakalcohol... Hint: de isopropanol staat niet in de koelkast.<br />
; Mag ik de wet overtreden bij RevSpace?<br />
: De wet overtreden mag nergens, da's het hele idee van een wet... Maar wat ons betreft is dit iets tussen jou en de overheid, waar wij helemaal niks mee te maken willen hebben. Val andere bezoekers en het bestuur er dus niet mee lastig.<br />
; Waarom is er geen minimumleeftijd?<br />
: Kinderen ontwikkelen zich niet allemaal precies hetzelfde op dezelfde leeftijden. We willen degenen die verder zijn in hun ontwikkeling, niet hinderen met kunstmatige beperkingen. Wat dat betreft: we hebben ook geen maximumleeftijd.<br />
; Waarom moet ik andermans troep opruimen?<br />
: Technisch gezien is het niet verplicht, maar we verwachten het wel van je. Iedereen vergeet wel eens wat, en de enige manier om te voorkomen dat het uit de hand loopt, is de space altijd netter achterlaten dan je 'm aantrof.<br />
; Kan er voor mij een uitzondering gemaakt worden op regel n?<br />
: Heel misschien. Stuur een e-mail naar het bestuur met goede argumenten, dan zullen we erover nadenken.<br />
<br />
== Activiteiten ==<br />
<br />
; Wat kost deelname aan een activiteit?<br />
: We proberen alle workshops en lezingen gratis toegankelijk te houden. We vragen wel om een donatie, maar dat is geheel vrijwillig. Bij sommige workshops moet een "kit" van onderdelen worden gekocht om aan de workshop mee te kunnen doen. Deze kits worden tegen kostprijs (afgerond) verkocht.<br />
; Kan mijn workshop/lezing/evenement bij RevSpace worden gehouden?<br />
: Als het met hacken te maken heeft, vrij toegankelijk is voor al onze deelnemers, niet commercieel van aard is, en je je netjes aan al onze regels houdt, waarschijnlijk wel. Wel moet er minstens een deelnemer van de space bij het gehele evenement aanwezig zijn. Neem contact op voor overleg.<br />
; Wat kost het om een evenement bij RevSpace te organiseren?<br />
: We gaan ervan uit dat de organisator geen commerciele bedoelingen heeft, en wij hebben als stichting ook geen commerciele bedoelingen. Als het evenement aansluit bij ons doel (kennis delen), kan het wat ons betreft met gesloten beurs. Echter, omdat er altijd een deelnemer van RevSpace bij aanwezig moet zijn, kan het zijn dat je diegene moet omkopen. Een geschikt tarief is € 75 per uur, maar als je een tof evenement organiseert kun je wellicht iemand vinden die er alleen een reiskostenvergoeding voor hoeft :-)<br />
; Hoe organiseer je een evenement?<br />
: Zie [[Organizing Events]] voor een uitgebreide handleiding met veel tips.</div>
Noor
https://revspace.nl/index.php?title=MetaMeeting20x10x13&diff=26242
MetaMeeting20x10x13
2020-10-27T16:18:37Z
<p>Noor: </p>
<hr />
<div>{{Event<br />
|Name=Metameet<br />
|DateStart=13 oktober 2020<br />
|DateEnd=13 oktober 2020<br />
|InfoLocation=RevSpace<br />
|InfoOpen=20:15<br />
}}<br />
<br />
[[Category:Event]]<br />
[[Category:Metameet]]<br />
<br />
Vorige MetaMeet: [[MetaMeeting20x10x13]]<br />
Volgende MetaMeet: [[MetaMeeting20x10x27]]<br />
<br />
==Notulen==<br />
Aanwezig: 15 deelnemers<br />
<br />
== Mededelingen van het bestuur ==<br />
<br />
* nieuwe coronamaatregelen: blijf thuis als je kan, max n wordt 5, alle dagen mondkapjesplicht, eten (mondkapje af) alleen in de keuken. dit alles vooralsnog voor de komende 4 weken<br />
<br />
== Projectupdates/rondvraag ==<br />
<br />
; audionerd: verder met KiCad, beetje aan auto’s sleutelen<br />
; Anus: bezig met badge team dingen, o.a. FPGA programming uitleg<br />
; boekenwuurm: gaat Octoprint installeren om beter haar 3d printer aan te kunnen sturen<br />
; cmpxchg: electronic loads, batterij-impedanties meten <br />
; devnuller: weinig hobby, lora wan gateway aangeschaft en tracker en sensor <br />
; f0x: studie, nix OS<br />
; foobar: spelletjes aan het spelen in afwachting van water meet sensors<br />
; Juerd: kistjes aan het lakken op de space, verwarming thuis hacken met een oud dubbeltje<br />
; Kartoffel: 6” e-paper display binnen, daarvoor custom lijstje voor ontworpen en geprint, mumble kanaal Hoofd ruimte aangemaakt en met succes ingevoerd<br />
; noordraconia: ordered stuff for another LED skirt and tiara, 3d printed a frog.<br />
; polyfloyd: is appartement aan het verbouwen, afgerond is: elektra van aarde voorzien<br />
; Sebastius: is in afwachting van China qua Snuffelaar, heeft nog programmeer hulp nodig wat dat betreft. heeft een code voor de Hackaday online conference. denkt dat het leuk is om een online RevSpace of eth0 ding te doen, zoekt mede organizers daarvoor. MCH2021 badge gaat een gesponsorde Lattice FPGA bevatten, BOSCH heeft ook toegezegd voor een environmental sensor<br />
; Shiz: heeft met noopwafel, pbx, peterc en gori een unit gehuurd, Absolute Unit, verderop in de gang naast RevSpace. heeft een auto gekocht (Mazda 2) en meteen het infotainment systeem gehackt, verder nog wat arcade dingen<br />
; Wheeze_NL: scouting ding: jamboree on the internet<br />
; Xesxen: kleine sysadmin dingetjes voor MCH, mensen gered van elektrocutie<br />
; zawadi: niks te vertellen, school en tentamens</div>
Noor
https://revspace.nl/index.php?title=LCD_screen&diff=26193
LCD screen
2020-10-19T15:24:12Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LCD screen as second monitor<br />
|Status=Completed<br />
|Picture=<br />
|Contact=Noor<br />
}}<br />
<br />
'''2020-03'''<br />
* Took apart a laptop.<br />
* Ordered '''[https://nl.aliexpress.com/item/33043470399.html controller board kit]'''. Arrived at space 2020-03-19, picked up shortly after.<br />
<br />
[[File:2020-03-06 201748 - DSC09617.jpg|200px]] [[File:2020-03-06 202115 - DSC09619.jpg|200px]]<br />
<br />
'''2020-05-30'''<br />
<br />
[[File:2020-05-30 150951 - DSC00385.jpg|200px]] [[File:2020-05-30 151000 - DSC00386.jpg|200px]] [[File:2020-05-30 151018 - DSC00387.jpg|200px]] [[File:2020-05-30 151602 - DSC00388.jpg|200px]]<br />
<br />
'''2020-06-13'''<br />
<br />
[[File:DSC00454.JPG|200px]]<br />
[[File:DSC00461.JPG|200px]]<br />
<br />
'''2020-06-17'''<br />
<br />
Ordered '''[https://www.onlinekabelshop.nl/voedingadapter-12v-1a-12w-5-5-x-2-5mm 12V/1A/12W power supply]'''.<br />
<br />
'''2020-06-24'''<br />
<br />
'''[[https://revspace.nl/File:Monitor_frame.svg SVG file frame]]'''.<br />
<br />
[[File:2020-06-24 183537 - DSC00504.JPG|200px]]<br />
[[File:2020-06-24 193540 - DSC00508.JPG|200px]]<br />
[[File:2020-06-24 193541 - DSC00510.JPG|200px]]<br />
[[File:2020-06-24 193542 - DSC00512.JPG|200px]]<br />
[[File:2020-06-24 193543 - DSC00514.JPG|200px]]<br />
<br />
'''2020-10'''<br />
<br />
[[File:DSC02064.JPG|200px]]</div>
Noor
https://revspace.nl/index.php?title=File:DSC02064.JPG&diff=26192
File:DSC02064.JPG
2020-10-19T15:22:51Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=LED_skirt&diff=26191
LED skirt
2020-10-19T15:13:55Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LED skirt<br />
|Status=In progress<br />
|Picture=Photo5933744821665640847 - by WheezeNL.jpg<br />
|Contact=Noor<br />
}}<br />
==To do==<br />
* Reinforce wire connections with hot glue and/or zip ties.<br />
* Punch and grommet holes where velcro used to be.<br />
* Buy or make a carrying case (width ~80 cm, height ~110 cm), maybe pop-up tent bag.<br />
* Make LEDs addressable by position.<br />
* More programming designs.<br />
* Get '''[http://soliton.vm.bytemark.co.uk/pub/cpt-city/pd/astro/tn/aurora_borealis.png.index.html aurora borealis palette]''' working properly on circles and panel, and shooting stars display on strips.<br />
* Replace (or add to) strip in bottom tube with '''[https://nl.aliexpress.com/item/32885384695.html side-emitting LEDs]'''?<br />
<br />
==LED count==<br />
*240 - circles (all used except one)<br />
*64 - 8x8 panel.<br />
<br />
*23 - strip 1.<br />
*23 - strip 2.<br />
*17 - strip 3.<br />
*84 (?) - strip along bottom tube.<br />
<br />
Total: 451 LEDs.<br />
<br />
==Timeline==<br />
<br />
===Construction===<br />
'''2019-11-06 - 2019-11-11'''<br />
<br />
Bought:<br />
* '''[https://nl.aliexpress.com/item/32911854822.html 8x8 cm WS2812 LED panel]'''<br />
* '''[https://nl.aliexpress.com/item/32966375934.html 5m, 30 LEDs/m, IP67, black LED pixel strip]'''<br />
* '''[https://nl.aliexpress.com/item/4000146649971.html 241 LEDs, rings of varying sizes from 3 to 17 cm]'''<br />
* [x2] '''[https://nl.aliexpress.com/item/32988614802.html 2-hoop crinolines to attach LEDs to]'''<br />
* '''[https://nl.aliexpress.com/item/32846977474.html?spm=a2g0s.9042311.0.0.ce634c4dCN7q6F 88 cm black skirt]'''<br />
<br />
Old sketches:<br />
<br />
[[File:2019-11-04 224115 - design1.png|100px]][[File:2019-11-04 224123 - led skirt 2.png|100px]][[File:2019-11-04 224131 - led skirt 3.png|100px]]<br />
[[File:2019-11-05 215433 - DSC06381.jpg|214px]][[File:2019-11-05 215437 - DSC06382.jpg|214px]]<br />
<br />
'''2019-11-12 - 2019-11-24'''<br />
* Played with layout of LEDs, waiting for items to arrive.<br />
* Tested out LEDs under layers and on crinoline.<br />
<br />
[[File:2019-11-23 220454 - DSC06537.jpg|150px]]<br />
[[File:2019-11-23 221724 - DSC06542.jpg|150px]]<br />
[[File:2019-11-24 173747 - DSC06546.jpg|200px]]<br />
<br />
'''2019-11-25'''<br />
* Took apart seams of inner layers of black skirt to add extra panels to fit over crinoline.<br />
<br />
'''2019-11-26'''<br />
* Measured skirt on top of crinoline. Extra panel with bottom arc length of 100+cm.<br />
* Decided to go with 6 strips of 23 LEDs each. Cut one strip.<br />
<br />
[[File:2019-11-26 190451 - DSC06570.jpg|150px]]<br />
[[File:2019-11-26 190712 - DSC06573.jpg|150px]]<br />
<br />
'''2019-12-03 - 2019-12-05'''<br />
* Tested out LED rings. One wire was detached so had to be soldered on.<br />
[[File:2019-12-03 174905 - DSC06589.jpg|200px]]<br />
[[File:2019-12-05 182443 - DSC06618.jpg|200px]]<br />
<br />
[[File:2019-12-05 172105 - MAH06604.mp4|250px]]<br />
[[File:2019-12-05 182150 - MAH06614.mp4|250px]]<br />
[[File:2019-12-05 203225 - MAH06620.mp4|250px]]<br />
<br />
'''2019-12-06'''<br />
*Punched holes in crinoline, used zip ties to attach first LED strip.<br />
*Took apart LED circles and tested FastLED programs.<br />
*Set up LED circles, one strip, and panel together on crinoline and used zip ties to place everything but the panel on crinoline.<br />
*Ran FastLED programs on everything together.<br />
*Pictures posted by others to '''[https://www.facebook.com/story.php?story_fbid=2623825531015894&id=249310478467423 Facebook]''', '''[https://revspace.nl/kiekjes/view/20191206/P1000995.JPG RevSpace kiekjes]''', '''[https://twitter.com/revspacenl/status/1203094244057059329 Twitter]'''.<br />
<br />
[[File:2019-12-06 193923 - DSC06635.jpg|150px]]<br />
[[File:2019-12-06 194452 - DSC06637.jpg|150px]]<br />
[[File:2019-12-06 200017 - DSC06639.jpg|266px]]<br />
[[File:2019-12-06 220618 - DSC06666.jpg|150px]]<br />
[[File:2019-12-06 220632 - DSC06667.jpg|150px]]<br />
[[File:2019-12-06 220710 - DSC06668.jpg|150px]]<br />
[[File:2019-12-06 181804 - MAH06633.mp4|250px]]<br />
[[File:2019-12-06 201308 - MAH06641.mp4|250px]]<br />
[[File:2019-12-06 220455 - MAH06664.mp4|150px]]<br />
[[File:2019-12-06 220715 - MAH06669.mp4|150px]]<br />
<br />
'''2019-12-20'''<br />
<br />
*Rearranged LED circles, mounted some back on with velcro. Mounted panel with velcro.<br />
*Cut two more strips. Attached wires to one and mounted it horizontally at an angle.<br />
<br />
[[File:2019-12-20 214116 - DSC06775.JPG|150px]]<br />
<br />
'''2019-12-22'''<br />
*Folded up bottom hem and put velcro strips all across to partially make a tube along bottom.<br />
[[File:2019-12-22 202231 - DSC06794.jpg|200px]]<br />
[[File:2019-12-22 203241 - DSC06795.jpg|150px]]<br />
<br />
'''2019-12-24'''<br />
*Bought '''[https://www.aliexpress.com/item/32801353259.html LED connectors (20 pairs, 3-pin)]'''.<br />
<br />
'''2019-12-25'''<br />
*Measured and cut panel for black layer of skirt.<br />
<br />
'''2020-01-10'''<br />
*Used fabric glue along bottom hem tube, in between velcro strips.<br />
*Soldered wires to more LED strips.<br />
<br />
[[File:2020-01-10 145148 - DSC08359.jpg|200px]]<br />
[[File:2020-01-10 165310 - DSC08360.jpg|200px]]<br />
[[File:2020-01-10 201701 - DSC08367.jpg|200px]]<br />
[[File:2020-01-10 205118 - DSC08368.jpg|150px]]<br />
[[File:2020-01-10 211717 - DSC08370.jpg|200px]]<br />
[[File:2020-01-10 213030 - DSC08371.jpg|200px]]<br />
[[File:2020-01-10 223034 - DSC08375.jpg|200px]]<br />
[[File:2020-01-10 225615 - DSC08377.jpg|150px]]<br />
<br />
'''2020-01-11'''<br />
*Soldered wires to remaining LED strips.<br />
*Connected everything together, hooked up to an Arduino.<br />
<br />
[[File:2020-01-11 185141 - DSC08388.jpg|200px]]<br />
[[File:2020-01-11 191121 - DSC08389.jpg|150px]]<br />
[[File:2020-01-11 202121 - DSC08392.jpg|200px]]<br />
[[File:2020-01-11 202125 - DSC08393.jpg|200px]]<br />
[[File:2020-01-11 202717 - DSC08394.jpg|200px]]<br />
[[File:2020-01-11 203657 - DSC08396.jpg|200px]]<br />
[[File:2020-01-11 204945 - DSC08397.jpg|200px]]<br />
[[File:2020-01-11 210350 - DSC08401.jpg|200px]]<br />
<br />
[[File:2020-01-11 195305 - MAH08399 3.mp4|150px]]<br />
[[File:2020-01-11 201459 - MAH08404 2.mp4|150px]]<br />
<br />
'''2020-01-17'''<br />
*Added more velcro bits to fix placement of LEDs.<br />
*Experimented with modifying FastLED programs. BPM on circles?<br />
<br />
[[File:2020-01-17 170344 - DSC08486.jpg|200px]]<br />
[[File:2020-01-17 174034 - DSC08489.jpg|200px]]<br />
[[File:2020-01-17 183719 - DSC08492.jpg|150px]]<br />
[[File:2020-01-17 195703 - DSC08503.jpg|150px]]<br />
<br />
[[File:2020-01-17 183546 - MAH08490.mp4|150px]]<br />
[[File:2020-01-17 195232 - MAH08497.mp4|150px]]<br />
<br />
'''2020-01-18 - 2020-02-13'''<br />
<br />
* Experimented more with FastLED programs.<br />
* For custom color palettes, used '''[http://fastled.io/tools/paletteknife/ PaletteKnife bookmarklet]''' to generate codes for palettes. Add to sketch directly, or add to Arduino/libraries/FastLED/colorpalettes.cpp and palette name to colorpalettes.h.<br />
* Cut up plastic bag for panel over skirt, attached with velcro.<br />
* Finished up everything on black outer skirt.<br />
* Bought 2x '''[https://www.lidl-shop.nl/SILVERCREST-Powerbank-10-000-mAh/p100264867 SilverCrest power banks]'''.<br />
<br />
[[File:2020-01-28 202925 - DSC08667.jpg|240px]]<br />
[[File:2020-01-28 205606 - DSC08678.jpg|240px]]<br />
[[File:2020-01-28 205645 - DSC08682.jpg|135px]]<br />
[[File:2020-01-31 201610 - DSC08697.jpg|240px]]<br />
[[File:2020-02-05 222300 - DSC08979.jpg|240px]]<br />
[[File:2020-02-07 214159 - DSC09010.jpg|135px]]<br />
[[File:2020-02-07 214322 - DSC09012.jpg|240px]]<br />
[[File:2020-02-09 184847 - DSC09137.jpg|135px]]<br />
[[File:2020-02-11 182635 - DSC09159.jpg|240px]]<br />
[[File:2020-02-11 185833 - DSC09164.jpg|240px]]<br />
[[File:2020-02-11 201149 - DSC09169.jpg|135px]]<br />
[[File:2020-02-11 233802 - DSC09223.jpg|135px]]<br />
[[File:2020-02-13 170031 - DSC09231.jpg|240px]]<br />
[[File:2020-02-13 195455 - DSC09237.jpg|240px]]<br />
[[File:2020-02-13 201536 - DSC09239.jpg|240px]]<br />
[[File:2020-02-13 204153 - DSC09242.jpg|135px]]<br />
[[File:2020-02-13 205404 - DSC09244.jpg|135px]]<br />
[[File:2020-02-13 213221 - DSC09245.jpg|240px]]<br />
<br />
[[File:2020-02-05 212228 - MAH08977.mkv|250px]]<br />
[[File:2020-02-13 204138 - MAH09241.mkv|150px]]<br />
[[File:2020-02-13 205005 - MAH09243.mkv|150px]]<br />
<br />
===HackerHotel 2020===<br />
<br />
'''2020-02-14 -2020-02-16'''<br />
<br />
* Debut as Princess of Lights went excellent, with paparazzi taking pictures and video all weekend.<br />
* About a dozen wires broke off throughout the weekend and had to be soldered back on, some with reinforcements of zip ties to hold them in place.<br />
* LEDs kept weighing down crinoline, and since the string in the waist came out a long time ago, the velcro was not enough to hold it up. Used an opened paperclip to hold it together, and then a safety pin. Need to add a hook fastener, or use a large safety pin (through grommeted holes) or some other kind of fastener.<br />
<br />
[[File:2020-02-14 215110 - DSC09343.jpg|170px]]<br />
[[File:2020-02-15 004016 - DSC09369.jpg|240px]]<br />
[[File:photo5933744821665640847 - by WheezeNL.jpg|170px]]<br />
<br />
[[File:2020-02-14 205051 - MAH09341.mkv|200px]]<br />
[[File:2020-02-14 205124 - MAH09344.mkv|194px]]<br />
[[File:t_video5933782887504545062 - by WheezeNL.mkv|216px]]<br />
[[File:t_video5931592870795413162 - by Rowan8k.mkv|165px]]<br />
<br />
Modified fastLED sketches that I used at HH2020:<br />
<br />
Arduino 1 (for circles and panel):<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 304<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 15<br />
#define FRAMES_PER_SECOND 120<br />
#define SHIFT_PER_SECOND 15<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { rainbowWithGlitter, bpm, confetti, flowingwater };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
DEFINE_GRADIENT_PALETTE( Aleutian_Clouds_gp ) {<br />
0, 37,184,133,<br />
12, 37,184,133,<br />
25, 46,168, 98,<br />
37, 55,152, 67,<br />
51, 22,104, 77,<br />
63, 5, 66, 88,<br />
76, 1, 31, 49,<br />
88, 1, 19, 32,<br />
100, 1, 2, 11,<br />
112, 1, 3, 9,<br />
125, 1, 6, 20,<br />
137, 1, 10, 20,<br />
149, 1, 2, 11, <br />
161, 1, 19, 32,<br />
173, 1, 31, 49,<br />
185, 5, 66, 88,<br />
200, 22,104, 77,<br />
212, 55,152, 67,<br />
225, 46,168, 98,<br />
237, 37,184,133,<br />
255, 37,184,133,<br />
};<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
void rainbow() <br />
{<br />
// FastLED's built-in rainbow generator<br />
fill_rainbow( leds, NUM_LEDS, gHue, 35);<br />
}<br />
<br />
void rainbowWithGlitter() <br />
{<br />
// built-in FastLED rainbow, plus some random sparkly glitter<br />
rainbow();<br />
addGlitter(80);<br />
}<br />
<br />
void addGlitter( fract8 chanceOfGlitter) <br />
{<br />
if( random8() < chanceOfGlitter) {<br />
leds[ random16(NUM_LEDS) ] += CRGB::White;<br />
}<br />
}<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
int offset = 0;<br />
int framecounter = 0;<br />
void flowingwater()<br />
{<br />
<br />
CRGBPalette16 palette = Aleutian_Clouds_gp;<br />
<br />
for( int i = 0; i < NUM_LEDS; i++) { <br />
leds[i] = ColorFromPalette(palette, ((i+offset)%256), 128);<br />
addGlitter(1);<br />
}<br />
framecounter++;<br />
if (framecounter > FRAMES_PER_SECOND / SHIFT_PER_SECOND) {<br />
offset++;<br />
//offset = offset + random8(4);<br />
if (offset >= 256) {<br />
offset = 0;<br />
}<br />
framecounter = 0;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
Arduino 2 (for strips), from fastLED's demo reel:<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 147<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 75<br />
#define FRAMES_PER_SECOND 40<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { confetti, sinelon, juggle, bpm };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void sinelon()<br />
{<br />
// a colored dot sweeping back and forth, with fading trails<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
int pos = beatsin16( 13, 0, NUM_LEDS-1 );<br />
leds[pos] += CHSV( gHue, 255, 192);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
void juggle() {<br />
// eight colored dots, weaving in and out of sync with each other<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
byte dothue = 0;<br />
for( int i = 0; i < 8; i++) {<br />
leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);<br />
dothue += 32;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
===LED skirt corona-tion edition===<br />
<br />
[[File:2020-03-24 164127.jpg|200px|right]]<br />
<br />
Thought experiment: Corona-tion edition<br />
<br />
* Skirt needs to keep other people 1.5 m away, so bottom hoop with 3 m radius (~9.4245 m diameter).<br />
* Waist circumference (cut-off top of cone) is 65 cm, height is 1 m, bottom radius is 1.5 m.<br />
* First back-of-the-envelope calculation: surface area of 70,000 sq cm for LEDs (that many if assuming 1 LED per sq cm).<br />
* Requires a portable nuclear power station (can build them in openRA).<br />
* Weight of LEDs can be dealt with by using a proper wooden/metal hoop skirt, with roller wheels at bottom.<br />
* Plenty of space under skirt for batteries. Roller wheels can be powered wheels to move around.<br />
* Power consumption can be reduced massively by adding in motion detectors that light up only some LEDs at a time if someone gets near [noopwafel].<br />
* Addressable RGB leds will come at 5cts in bulk, so 3500 euro in LEDs excluding PCBs and other stuff [Sebastius].<br />
<br />
* A proper calculation resulted in 87,656.25 sq cm surface area. Assuming 1 LED per sq cm, and approx 7 LEDs per euro, the cost of the LEDs would be 12,522 euro.<br />
* Power consumption for 87,656 neopixel LEDs at 60 mA, 5 V each: 26+ kW, more than a 3x 35A mains set up to power [Peetz0r].<br />
* LEDs are more likely to be 20 mA each, resulting in 8.77 kW [Juerd].<br />
<br />
* With circle packing and lower density LEDs it might become affordable, if LEDs are placed inside circles with r = 2.5, ~4100 leds for triangular packing [supakeen].<br />
<br />
===Further work===<br />
<br />
'''2020-02-21 and 2020-02-25'''<br />
* Removed velcro pads from skirt as they were coming apart and were useless at Hacker Hotel.<br />
* Applied Mod Podge where velcro pads used to be, sealing loose threads.<br />
<br />
[[File:2020-02-25 212846 - DSC09574.jpg|200px]]<br />
[[File:2020-02-21 161944 - DSC09517.jpg|200px]]<br />
<br />
'''2020-03-07'''<br />
* Took apart a couple of cracked LCD screens. Diffusion and reflective films had some trippy effects (that don't show so well in pictures). Plan is to use them as panels for some parts.<br />
<br />
[[File:2020-03-07 175704 - DSC09635.jpg|200px]]<br />
[[File:2020-03-07 180407 - DSC09636.jpg|200px]]<br />
[[File:2020-03-07 180457 - DSC09639.jpg|200px]]<br />
<br />
'''2020-10'''<br />
<br />
[[File:DSC02065.JPG|200px]]<br />
<br />
*Several Velcro patches need re-gluing back on.</div>
Noor
https://revspace.nl/index.php?title=File:DSC02065.JPG&diff=26190
File:DSC02065.JPG
2020-10-19T15:12:51Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=Challenge_coin&diff=26135
Challenge coin
2020-10-13T17:50:38Z
<p>Noor: </p>
<hr />
<div>[[File:ezgif-7-b5bdbc1f2f0c.gif|400px|frame|right|Mooier dan dit wordt het niet!]]<br />
<br />
== Kopen ==<br />
<br />
Voor wie al lang denkt "shut up and take my money", stuur een mailtje aan '''juerd@revspace.nl''' om er eentje te bestellen. Meerdere mag ook, zeg maar hoe veel. First come, first served, op = op, etc.<br />
<br />
Zet in je mailtje of je betaalt met een IBAN-overschrijving of met je RevBank-tegoed.<br />
<br />
{|class=wikitable<br />
! Optie !! Prijs per stuk<br />
|-<br />
| E-mailbestelling, levering in een envelop aan een adres binnen Europa<br />
|align=right| 7,50 €<br />
|-<br />
| Kopen bij RevSpace<br />
|align=right| 5,00 €<br />
|-<br />
| Deluxe-uitvoering<br />
|align=right| 42,00 €<br />
|}<br />
<br />
[[File:front.JPG|400px]]<br />
[[File:chicken.JPG|400px]]<br />
<br />
== Verkooppraatje ==<br />
<br />
TL;DR: Koop onze collectable "munt" voor 5 euro.<br />
<br />
Qua economie klopt het ontwerp van onze wereld niet. Materialen uit de aarde trekken is gratis, afval op de planeet dumpen is ook gratis, en deze combinatie heet de lineaire economie. De kosten van vervuiling en andere milieuschade zitten bijna nooit verwerkt in de prijs die je betaalt voor een product. Doordat het allemaal zo goedkoop is, kopen we allerlei dingen waarvan we weten dat het niet lang meegaat. We leggen ons bij voorbaat erbij neer dat we iets een paar keer gebruiken, en dan weggooien. "Single use" is een extreme variant hiervan: er wordt iets geproduceerd, vervoerd, en verkocht, om het na slechts 1x gebruiken, weer af te voeren. Met een beetje geluk wordt het gerecycled, maar met veel producten kan dat niet of nauwelijks.<br />
<br />
En dan is er de categorie "zero use". Producten die geen enkel praktisch nut hebben, die worden geproduceerd, vervoerd, en verkocht, om daarna helemaal nooit te gebruiken. Omdat delen door nul niet gaat, is het lastig om deze producten op waarde te schatten. Het is de kern van de meeste verzamelingen in privébezit: hebben om het hebben. Om de collectie compleet te maken, of gewoon omdat het kan. Schaarste maakt het waardevoller, juist bij dingen die technisch gezien helemaal niet functioneel zijn. Soms is er toch nog een beperkt nut te vinden in de veronderstelde schoonheid van het object, en dan heet het kunst.<br />
<br />
Maar het mag, want zoiets koop je niet om weg te gooien. Je hoeft daarom dus ook niet na te denken over of het recyclebaar is. Zodra de voorraad op is, of zodra de circulaire economie er eindelijk is, wordt de waarde vanzelf oneindig (of nul, afhankelijk van je perspectief).<br />
<br />
Hack42 heeft met hun [https://hack42.nl/wiki/Favicoin Favicoin] een trend gezet met een rond, plat, zero-use-object waar echt alleen met buitengewone fantasie een zinnig nut voor te verzinnen valt. Het is een soort flippo, maar dan anders, dus wij konden natuurlijk niet achterblijven. Zij lieten een schijf met elementen in de kleur van zilver produceren, dus wij hebben gekozen voor iets met een afwerking van echt goud. Verder is onze "challenge coin" een aanfluiting, want het ding is dunner en weegt bijna niks. Dat maakt het wel weer makkelijker om 'm altijd bij je te dragen!<br />
<br />
Voor slechts 5 euro, en ja, daar verdient Stichting Revelation Space heel goed aan, kun jij de trotse eigenaar worden van dit collector's item! De oplage is beperkt, want alle aardse materialen zijn nu eenmaal schaars.<br />
<br />
De challenge PCB is verkrijgbaar via RevBank, maar je kunt ook een mailtje sturen met je adres, dan steken we 'm in een envelop.<br />
<br />
<br />
P.S. De Deluxe versie kost 42 euro. Deze verhoudt zich tot de standaarduitvoering als de Deluxe Favicoin tot de standaard Favicoin, en is alleen beschikbaar voor deelnemers van Hack42. (NB: Uiteraard mogen zij ook gewoon de standaarduitvoering kopen.)<br />
<br />
== Specificaties ==<br />
<br />
(Onder voorbehoud van stomme fouten en verkeerde aannames.)<br />
<br />
{|class=wikitable<br />
| Diameter || 50 mm<br />
|-<br />
| Dikte || 2 mm<br />
|-<br />
| Massa || ~8 g<br />
|-<br />
| Gewicht op Aarde || ~0,08 N<br />
|-<br />
| Materiaal kern || Vezelversterkt epoxyhars (FR4)<br />
|-<br />
| Materiaal decoratie || Koper, nikkel, goud, polymeerlak, epoxy-inkt<br />
|-<br />
| Dikte goudlaag || ~650 atomen<br />
|-<br />
| Kleur || Donkergroen, lichtgroen, goud, wit<br />
<br />
|-<br />
| Productietechniek || o.a. frezen, etsen, ENIG, zeefdruk<br />
|-<br />
| Heraldische omschrijving voorzijde || In sinopel, centraal een menselijke hand van verdektmetallisch sinopel vasthoudend een crappy soldeerbout van goud en zilver, met boven en onder een geschreven motto van goud.<br />
|-<br />
| Heraldische omschrijving achterzijde || In verdektmetallisch sinopel, in een cirkel van zilver, links een through-hole LED van goud, rechts de naam in zilver, onder beide in hoofdletters een onderschrift van goud.<br />
|-<br />
| Kleinste details || Zo klein dat de fabrikant geen garantie durft te geven dat 't allemaal precies klopt. :)<br />
|}<br />
<br />
NB: Waar "zilver" staat, wordt "wit" bedoeld, maar het goud is wel echt (en echt flinterdun ;).<br />
<br />
=== Reeksen ===<br />
<br />
# Reguliere reeks: 147 stuks (genummerd "001 / 147" t/m "147 / 147")<br />
# Met kleine productiefoutjes: 10 stuks (genummerd "1 / 10" t/m "10 / 10")<br />
<br />
=== Certificaat van authenticiteit ===<br />
<br />
Uit dank voor deelname aan de preorder zijn alle munten uit de eerste levering voorzien van certificaat. Was je te laat voor de preorder, maar wil je wel zo'n certificaatje bij je munt? Download de PDF hier [[File:Certificaatchallengecoins.pdf]] en print 'm zelf even :D<br />
<br />
Ben je je certificaat kwijt? Heel vervelend, maar vanwege het risico op fraude kunnen we uiteraard geen nieuw certificaat verstrekken. De enige oplossing is het kopen van een nieuwe challenge coin, want dan mag je zelf een certificaat printen (zie hierboven).</div>
Noor
https://revspace.nl/index.php?title=File:Front.JPG&diff=26134
File:Front.JPG
2020-10-13T17:49:59Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=File:Chicken.JPG&diff=26133
File:Chicken.JPG
2020-10-13T17:49:56Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=Bezoeken&diff=26132
Bezoeken
2020-10-13T07:22:15Z
<p>Noor: </p>
<hr />
<div>== Afspraak maken voor een rondleiding. ==<br />
<br />
Vanwege de coronacrisis kunnen gasten momenteel niet zomaar langskomen bij RevSpace. Je moet eerst een afspraak maken.<br />
<br />
== Voor gasten ==<br />
<br />
Tijdens de huidige fase van de coronacrisis mag je de space alleen bezoeken op afspraak. Om je aan te melden voor een bezoek aan de space (uiteraard met rondleiding), kun je rechtstreeks contact opnemen met een van onze deelnemers en vragen of die je een rondleiding zou willen geven. Elke deelnemer van RevSpace heeft in principe een sleutel van de space.<br />
<br />
Bij het maken van de afspraak moet je een gezondheidsverklaring afleggen:<br />
<br />
* Je had in de afgelopen 24 uur geen last van: hoesten, neusverkoudheid, koorts (≥ 38 °C), of benauwdheid<br />
* Je huisgenoten hebben geen koorts en/of benauwdheidsklachten.<br />
* Het coronavirus is niet in de afgelopen 7 dagen bij je vastgesteld.<br />
* Je hebt geen besmette huisgenoot met wie je in de afgelopen 14 dagen contact hebt gehad.<br />
* Je bent niet in quarantaine omdat je direct contact hebt gehad met iemand waarbij het coronavirus is vastgesteld.<br />
<br />
Bij het bezoeken van de space moeten deze punten opnieuw worden gecheckt. De deelnemer die je de rondleiding geeft, zal daarom bij de ingang wat vragen stellen. Als de deelnemer het niet vertrouwt (om welke reden dan ook) mag die jou als gast de toegang weigeren; we hopen dat je begrip hebt voor de voorzichtige aanpak. Het is ook voor je eigen veiligheid.<br />
<br />
Op de space geldt het gebruikelijke [[reglement]], aangevuld met [[Corona|speciale regels vanwege het coronavirus]]. Deze regels gelden ook voor gasten. We vragen je om zelf een mondkapje mee te nemen en die alvast te dragen voordat je aanbelt.<br />
<br />
=== Groepen ===<br />
<br />
Het is momenteel niet toegestaan om met een groep langs te komen. Individueel ben je wel welkom, maar alleen op afspraak.<br />
<br />
=== Een deelnemer vinden voor een afspraak ===<br />
<br />
Je moet als gast zelf op zoek gaan naar een deelnemer die je wil rondleiden. Dit kan lastig zijn, maar de aanhouder wint. Let op: rondleidingen geven aan gasten is vrijwilligerswerk, dus deelnemers zijn niet verplicht om jou te ontvangen. Wees dus flexibel en vriendelijk als je vraagt om een afspraak.<br />
<br />
* Als je een deelnemer persoonlijk kent: mooi, jullie weten elkaar wel te vinden dan<br />
* Je kunt rondvragen via de chat; zie de pagina [[IRC]] voor informatie over hoe je kunt komen chatten.<br />
* Je kunt contact opnemen met een van de deelnemers die zich hebben opgegeven om rondleidingen te geven:<br />
** pinoaffe - IRC (Freenode, OFTC) pinoaffe - Telegram @pinoaffe - Email <nickname>@gmail.com<br />
** cmpxchg - IRC (Freenode, OFTC) cmpxchg<br />
** Crashjuh - IRC (Freenode) Crashjuh - Email <nickname>@crashlab.nl<br />
** noopwafel - IRC (freenode) noopwafel - email <nickname>@gmail.com<br />
** ...<br />
<br />
=== Deelnemer worden ===<br />
<br />
De eerste keer dat je langskomt, kun je nog geen deelnemer worden. Als je besluit dat je deelnemer wilt worden van de space, dan moet je opnieuw een afspraak maken. Deze afspraak maak je met een bestuurslid, die je dan op de space kan inschrijven en een extra rondleiding geeft met praktische uitleg. Bij inschrijving moet je meteen de eerste maand contributie (25 €) en de sleutelborg (15 €) betalen.<br />
<br />
Voor contact met het bestuur kun je mailen met board@revspace.nl; vermeld in je mailtje welke deelnemer jou de rondleiding heeft gegeven.<br />
<br />
=== Specifieke edge cases ===<br />
<br />
==== Kinderen van deelnemers ====<br />
<br />
We maken (zonder specifieke leeftijdsgrens) onderscheid tussen kleine en grote kinderen, naar inzicht van de ouder in kwestie:<br />
<br />
* Kleine kinderen die niet zelf door de space lopen, maar (continu!) heel dicht bij $ouder blijven, tellen niet mee als aanwezige, en hoeven niet te worden aangemeld.<br />
* Grotere kinderen die wel zelf door de space lopen en (nog?) niet zelf juniordeelnemer zijn, moeten als bezoeker worden worden aangemeld en moeten zich gewoon aan alle regels houden.<br />
<br />
==== Bezoekers die samen wonen met een deelnemer ====<br />
<br />
Je hoeft ten opzichte van een huisgenoot geen 1,5 m afstand te houden, maar informeer de andere aanwezigen even over deze bijzonderheid. Geef ook op de lijst hieronder aan dat de bezoeker je huisgenoot is.<br />
<br />
== Aanmeldingen ==<br />
<br />
Let op: maximaal 1 gast per kalenderdag, ongeacht tijdstip. Uiteraard is het wel verstandig om onderling met de gast een specifiek tijdstip af te spreken, en zelf al iets eerder naar de space te komen.<br />
<br />
Deze lijst wordt ingevuld door de deelnemer die de rondleiding gaat geven. De naam van de gast, en het tijdstip van de afspraak, hoef je niet te vermelden.<br />
<br />
{|class=wikitable<br />
! Datum !! Deelnemer die de gast ontvangt !! Bezoeker is huisgenoot ja/nee<br />
|-<br />
| donderdag 17 september 2020 || Crashjuh || nee<br />
|-<br />
| vrijdag 18 september 2020 || cmpxchg || nee<br />
|-<br />
| zaterdag 19 september 2020 || PBX || ja<br />
|-<br />
| zondag 20 september 2020 || TerraScope || ja<br />
|-<br />
| woensdag 23 september 2020 || Kinroy || ja<br />
|-<br />
| donderdag 24 september 2020 || Crashjuh || nee<br />
|-<br />
| vrijdag 25 september 2020 || Videot || nee<br />
|-<br />
| donderdag 1 oktober 2020 || Crashjuh || nee<br />
|-<br />
| donderdag 8 oktober 2020 || Pwuts || nee<br />
|-<br />
| maandag 12 oktober 2020 || pbx || ja<br />
|-<br />
| dinsdag 13 oktober 2020 || Noor (supakeen) || nee<br />
|-<br />
| donderdag 22 oktober 2020 || Wheeze_NL || nee<br />
|-<br />
|}<br />
<br />
<!-- datum || naam van deelnemer || bezoeker is huisgenoot ja/nee --><br />
<br />
Laat oude items minstens 14 dagen staan i.v.m. eventuele toekomstige [https://lci.rivm.nl/COVID-19-bco contact tracing].<br />
<br />
== Voor deelnemers ==<br />
<br />
Er mag 1 gast (iemand die geen deelnemer is) per kalenderdag worden toegelaten tot de space. Als je een bezoek inplant, reserveer dan de dag in de tabel hierboven.<br />
<br />
Voordat je de gast binnenlaat, moet je vragen of de gezondheidsverklaring nog klopt. Stel daarom 5 vragen (niet samenvatten):<br />
<br />
* Heb je in de afgelopen 24 uur last gehad van verkoudheidssymptomen?<br />
* En je huisgenoten?<br />
* Is er in de afgelopen 7 dagen een coronavirusinfectie bij je vastgesteld?<br />
* En bij huisgenoten waar je contact mee hebt gehad in de afgelopen 2 weken?<br />
* Zit je in quarantaine vanwege contact met een besmet persoon?<br />
<br />
De gast mag alleen de space in, als het antwoord op alle vragen "nee" is. Je mag de bezoeker de toegang weigeren als je twijfelt, of om welke reden dan ook. Jouw veiligheid en gezondheid zijn belangrijker dan de rondleiding!<br />
<br />
Deze instructies worden ook opgehangen bij de deur.<br />
<br />
=== Rondleiding ===<br />
<br />
Tijdens de rondleiding mag de bezoeker eventueel als 11e persoon op de space zijn.<br />
<br />
Bij de rondleiding leg je uit wat er allemaal kan op de space, en laat je zien welke ruimtes en bijzondere gereedschappen we hebben. Kom je in een ruimte waar het maximum aantal mensen is bereikt? Kom daar later terug, of vraag degene die daar al is, om de uitleg van die ruimte te geven aan de bezoeker. Je kan mogelijk via de ramen dingen laten zien zonder in de ruimte zelf te komen.<br />
<br />
Wanneer de rondleiding klaar is, mag de gast nog even blijven als daar ruimte voor is (max. 9 deelnemers ingecheckt) en zolang er iemand met een sleutel is. Mocht er een 10e deelnemer inchecken, dan moet de gast wel vertrekken.</div>
Noor
https://revspace.nl/index.php?title=LED_mini-skirt_and_tiara&diff=26123
LED mini-skirt and tiara
2020-10-11T12:25:26Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LED mini-skirt and tiara<br />
|Status=In progress<br />
|Picture=<br />
|Contact=Noor<br />
}}<br />
<br />
'''2020-09-26'''<br />
*Bought '''[https://nl.aliexpress.com/item/4000146709729.html 30 cm crinoline]'''.<br />
<br />
'''2020-10-09'''<br />
<br />
*Bought: '''[https://nl.aliexpress.com/item/4000744445376.html 1m WS2812 strip, 144 LEDs/m, black PCB, IP30]''' for tiara.<br />
* And [x3] '''[https://nl.aliexpress.com/item/4001010808015.html 8x32 WS2812 LED panels]'''.<br />
(Total LEDs in this order: 912.)</div>
Noor
https://revspace.nl/index.php?title=LCD_screen&diff=26122
LCD screen
2020-10-10T23:20:21Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LCD screen as second monitor<br />
|Status=Completed<br />
|Picture=<br />
|Contact=Noor<br />
}}<br />
<br />
12V/3A power supply: https://www.reichelt.nl/stekkervoedingsdeel-36w-12-v-3-a-mw-gst36e12-p171106.html<br />
<br />
'''2020-03'''<br />
* Took apart a laptop.<br />
* Ordered '''[https://nl.aliexpress.com/item/33043470399.html controller board kit]'''. Arrived at space 2020-03-19, picked up shortly after.<br />
<br />
[[File:2020-03-06 201748 - DSC09617.jpg|200px]] [[File:2020-03-06 202115 - DSC09619.jpg|200px]]<br />
<br />
'''2020-05-30'''<br />
<br />
[[File:2020-05-30 150951 - DSC00385.jpg|200px]] [[File:2020-05-30 151000 - DSC00386.jpg|200px]] [[File:2020-05-30 151018 - DSC00387.jpg|200px]] [[File:2020-05-30 151602 - DSC00388.jpg|200px]]<br />
<br />
'''2020-06-13'''<br />
<br />
[[File:DSC00454.JPG|200px]]<br />
[[File:DSC00461.JPG|200px]]<br />
<br />
'''2020-06-24'''<br />
<br />
[[File:2020-06-24 183537 - DSC00504.JPG|200px]]<br />
[[File:2020-06-24 193540 - DSC00508.JPG|200px]]<br />
[[File:2020-06-24 193541 - DSC00510.JPG|200px]]<br />
[[File:2020-06-24 193542 - DSC00512.JPG|200px]]<br />
[[File:2020-06-24 193543 - DSC00514.JPG|200px]]</div>
Noor
https://revspace.nl/index.php?title=File:2020-06-24_193541_-_DSC00510.JPG&diff=26119
File:2020-06-24 193541 - DSC00510.JPG
2020-10-10T23:18:09Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=File:2020-06-24_193542_-_DSC00512.JPG&diff=26120
File:2020-06-24 193542 - DSC00512.JPG
2020-10-10T23:18:09Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=File:2020-06-24_193543_-_DSC00514.JPG&diff=26121
File:2020-06-24 193543 - DSC00514.JPG
2020-10-10T23:18:09Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=File:2020-06-24_183537_-_DSC00504.JPG&diff=26117
File:2020-06-24 183537 - DSC00504.JPG
2020-10-10T23:18:08Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=File:2020-06-24_193540_-_DSC00508.JPG&diff=26118
File:2020-06-24 193540 - DSC00508.JPG
2020-10-10T23:18:08Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=LED_skirt&diff=26116
LED skirt
2020-10-10T23:14:26Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LED skirt<br />
|Status=In progress<br />
|Picture=Photo5933744821665640847 - by WheezeNL.jpg<br />
|Contact=Noor<br />
}}<br />
==To do==<br />
* Reinforce wire connections with hot glue and/or zip ties.<br />
* Punch and grommet holes where velcro used to be.<br />
* Buy or make a carrying case (width ~80 cm, height ~110 cm), maybe pop-up tent bag.<br />
* Make LEDs addressable by position.<br />
* More programming designs.<br />
* Get '''[http://soliton.vm.bytemark.co.uk/pub/cpt-city/pd/astro/tn/aurora_borealis.png.index.html aurora borealis palette]''' working properly on circles and panel, and shooting stars display on strips.<br />
* Replace (or add to) strip in bottom tube with '''[https://nl.aliexpress.com/item/32885384695.html side-emitting LEDs]'''?<br />
<br />
==LED count==<br />
*240 - circles (all used except one)<br />
*64 - 8x8 panel.<br />
<br />
*23 - strip 1.<br />
*23 - strip 2.<br />
*17 - strip 3.<br />
*84 (?) - strip along bottom tube.<br />
<br />
Total: 451 LEDs.<br />
<br />
==Timeline==<br />
<br />
===Construction===<br />
'''2019-11-06 - 2019-11-11'''<br />
<br />
Bought:<br />
* '''[https://nl.aliexpress.com/item/32911854822.html 8x8 cm WS2812 LED panel]'''<br />
* '''[https://nl.aliexpress.com/item/32966375934.html 5m, 30 LEDs/m, IP67, black LED pixel strip]'''<br />
* '''[https://nl.aliexpress.com/item/4000146649971.html 241 LEDs, rings of varying sizes from 3 to 17 cm]'''<br />
* [x2] '''[https://nl.aliexpress.com/item/32988614802.html 2-hoop crinolines to attach LEDs to]'''<br />
* '''[https://nl.aliexpress.com/item/32846977474.html?spm=a2g0s.9042311.0.0.ce634c4dCN7q6F 88 cm black skirt]'''<br />
<br />
Old sketches:<br />
<br />
[[File:2019-11-04 224115 - design1.png|100px]][[File:2019-11-04 224123 - led skirt 2.png|100px]][[File:2019-11-04 224131 - led skirt 3.png|100px]]<br />
[[File:2019-11-05 215433 - DSC06381.jpg|214px]][[File:2019-11-05 215437 - DSC06382.jpg|214px]]<br />
<br />
'''2019-11-12 - 2019-11-24'''<br />
* Played with layout of LEDs, waiting for items to arrive.<br />
* Tested out LEDs under layers and on crinoline.<br />
<br />
[[File:2019-11-23 220454 - DSC06537.jpg|150px]]<br />
[[File:2019-11-23 221724 - DSC06542.jpg|150px]]<br />
[[File:2019-11-24 173747 - DSC06546.jpg|200px]]<br />
<br />
'''2019-11-25'''<br />
* Took apart seams of inner layers of black skirt to add extra panels to fit over crinoline.<br />
<br />
'''2019-11-26'''<br />
* Measured skirt on top of crinoline. Extra panel with bottom arc length of 100+cm.<br />
* Decided to go with 6 strips of 23 LEDs each. Cut one strip.<br />
<br />
[[File:2019-11-26 190451 - DSC06570.jpg|150px]]<br />
[[File:2019-11-26 190712 - DSC06573.jpg|150px]]<br />
<br />
'''2019-12-03 - 2019-12-05'''<br />
* Tested out LED rings. One wire was detached so had to be soldered on.<br />
[[File:2019-12-03 174905 - DSC06589.jpg|200px]]<br />
[[File:2019-12-05 182443 - DSC06618.jpg|200px]]<br />
<br />
[[File:2019-12-05 172105 - MAH06604.mp4|250px]]<br />
[[File:2019-12-05 182150 - MAH06614.mp4|250px]]<br />
[[File:2019-12-05 203225 - MAH06620.mp4|250px]]<br />
<br />
'''2019-12-06'''<br />
*Punched holes in crinoline, used zip ties to attach first LED strip.<br />
*Took apart LED circles and tested FastLED programs.<br />
*Set up LED circles, one strip, and panel together on crinoline and used zip ties to place everything but the panel on crinoline.<br />
*Ran FastLED programs on everything together.<br />
*Pictures posted by others to '''[https://www.facebook.com/story.php?story_fbid=2623825531015894&id=249310478467423 Facebook]''', '''[https://revspace.nl/kiekjes/view/20191206/P1000995.JPG RevSpace kiekjes]''', '''[https://twitter.com/revspacenl/status/1203094244057059329 Twitter]'''.<br />
<br />
[[File:2019-12-06 193923 - DSC06635.jpg|150px]]<br />
[[File:2019-12-06 194452 - DSC06637.jpg|150px]]<br />
[[File:2019-12-06 200017 - DSC06639.jpg|266px]]<br />
[[File:2019-12-06 220618 - DSC06666.jpg|150px]]<br />
[[File:2019-12-06 220632 - DSC06667.jpg|150px]]<br />
[[File:2019-12-06 220710 - DSC06668.jpg|150px]]<br />
[[File:2019-12-06 181804 - MAH06633.mp4|250px]]<br />
[[File:2019-12-06 201308 - MAH06641.mp4|250px]]<br />
[[File:2019-12-06 220455 - MAH06664.mp4|150px]]<br />
[[File:2019-12-06 220715 - MAH06669.mp4|150px]]<br />
<br />
'''2019-12-20'''<br />
<br />
*Rearranged LED circles, mounted some back on with velcro. Mounted panel with velcro.<br />
*Cut two more strips. Attached wires to one and mounted it horizontally at an angle.<br />
<br />
[[File:2019-12-20 214116 - DSC06775.JPG|150px]]<br />
<br />
'''2019-12-22'''<br />
*Folded up bottom hem and put velcro strips all across to partially make a tube along bottom.<br />
[[File:2019-12-22 202231 - DSC06794.jpg|200px]]<br />
[[File:2019-12-22 203241 - DSC06795.jpg|150px]]<br />
<br />
'''2019-12-24'''<br />
*Bought '''[https://www.aliexpress.com/item/32801353259.html LED connectors (20 pairs, 3-pin)]'''.<br />
<br />
'''2019-12-25'''<br />
*Measured and cut panel for black layer of skirt.<br />
<br />
'''2020-01-10'''<br />
*Used fabric glue along bottom hem tube, in between velcro strips.<br />
*Soldered wires to more LED strips.<br />
<br />
[[File:2020-01-10 145148 - DSC08359.jpg|200px]]<br />
[[File:2020-01-10 165310 - DSC08360.jpg|200px]]<br />
[[File:2020-01-10 201701 - DSC08367.jpg|200px]]<br />
[[File:2020-01-10 205118 - DSC08368.jpg|150px]]<br />
[[File:2020-01-10 211717 - DSC08370.jpg|200px]]<br />
[[File:2020-01-10 213030 - DSC08371.jpg|200px]]<br />
[[File:2020-01-10 223034 - DSC08375.jpg|200px]]<br />
[[File:2020-01-10 225615 - DSC08377.jpg|150px]]<br />
<br />
'''2020-01-11'''<br />
*Soldered wires to remaining LED strips.<br />
*Connected everything together, hooked up to an Arduino.<br />
<br />
[[File:2020-01-11 185141 - DSC08388.jpg|200px]]<br />
[[File:2020-01-11 191121 - DSC08389.jpg|150px]]<br />
[[File:2020-01-11 202121 - DSC08392.jpg|200px]]<br />
[[File:2020-01-11 202125 - DSC08393.jpg|200px]]<br />
[[File:2020-01-11 202717 - DSC08394.jpg|200px]]<br />
[[File:2020-01-11 203657 - DSC08396.jpg|200px]]<br />
[[File:2020-01-11 204945 - DSC08397.jpg|200px]]<br />
[[File:2020-01-11 210350 - DSC08401.jpg|200px]]<br />
<br />
[[File:2020-01-11 195305 - MAH08399 3.mp4|150px]]<br />
[[File:2020-01-11 201459 - MAH08404 2.mp4|150px]]<br />
<br />
'''2020-01-17'''<br />
*Added more velcro bits to fix placement of LEDs.<br />
*Experimented with modifying FastLED programs. BPM on circles?<br />
<br />
[[File:2020-01-17 170344 - DSC08486.jpg|200px]]<br />
[[File:2020-01-17 174034 - DSC08489.jpg|200px]]<br />
[[File:2020-01-17 183719 - DSC08492.jpg|150px]]<br />
[[File:2020-01-17 195703 - DSC08503.jpg|150px]]<br />
<br />
[[File:2020-01-17 183546 - MAH08490.mp4|150px]]<br />
[[File:2020-01-17 195232 - MAH08497.mp4|150px]]<br />
<br />
'''2020-01-18 - 2020-02-13'''<br />
<br />
* Experimented more with FastLED programs.<br />
* For custom color palettes, used '''[http://fastled.io/tools/paletteknife/ PaletteKnife bookmarklet]''' to generate codes for palettes. Add to sketch directly, or add to Arduino/libraries/FastLED/colorpalettes.cpp and palette name to colorpalettes.h.<br />
* Cut up plastic bag for panel over skirt, attached with velcro.<br />
* Finished up everything on black outer skirt.<br />
* Bought 2x '''[https://www.lidl-shop.nl/SILVERCREST-Powerbank-10-000-mAh/p100264867 SilverCrest power banks]'''.<br />
<br />
[[File:2020-01-28 202925 - DSC08667.jpg|240px]]<br />
[[File:2020-01-28 205606 - DSC08678.jpg|240px]]<br />
[[File:2020-01-28 205645 - DSC08682.jpg|135px]]<br />
[[File:2020-01-31 201610 - DSC08697.jpg|240px]]<br />
[[File:2020-02-05 222300 - DSC08979.jpg|240px]]<br />
[[File:2020-02-07 214159 - DSC09010.jpg|135px]]<br />
[[File:2020-02-07 214322 - DSC09012.jpg|240px]]<br />
[[File:2020-02-09 184847 - DSC09137.jpg|135px]]<br />
[[File:2020-02-11 182635 - DSC09159.jpg|240px]]<br />
[[File:2020-02-11 185833 - DSC09164.jpg|240px]]<br />
[[File:2020-02-11 201149 - DSC09169.jpg|135px]]<br />
[[File:2020-02-11 233802 - DSC09223.jpg|135px]]<br />
[[File:2020-02-13 170031 - DSC09231.jpg|240px]]<br />
[[File:2020-02-13 195455 - DSC09237.jpg|240px]]<br />
[[File:2020-02-13 201536 - DSC09239.jpg|240px]]<br />
[[File:2020-02-13 204153 - DSC09242.jpg|135px]]<br />
[[File:2020-02-13 205404 - DSC09244.jpg|135px]]<br />
[[File:2020-02-13 213221 - DSC09245.jpg|240px]]<br />
<br />
[[File:2020-02-05 212228 - MAH08977.mkv|250px]]<br />
[[File:2020-02-13 204138 - MAH09241.mkv|150px]]<br />
[[File:2020-02-13 205005 - MAH09243.mkv|150px]]<br />
<br />
===HackerHotel 2020===<br />
<br />
'''2020-02-14 -2020-02-16'''<br />
<br />
* Debut as Princess of Lights went excellent, with paparazzi taking pictures and video all weekend.<br />
* About a dozen wires broke off throughout the weekend and had to be soldered back on, some with reinforcements of zip ties to hold them in place.<br />
* LEDs kept weighing down crinoline, and since the string in the waist came out a long time ago, the velcro was not enough to hold it up. Used an opened paperclip to hold it together, and then a safety pin. Need to add a hook fastener, or use a large safety pin (through grommeted holes) or some other kind of fastener.<br />
<br />
[[File:2020-02-14 215110 - DSC09343.jpg|170px]]<br />
[[File:2020-02-15 004016 - DSC09369.jpg|240px]]<br />
[[File:photo5933744821665640847 - by WheezeNL.jpg|170px]]<br />
<br />
[[File:2020-02-14 205051 - MAH09341.mkv|200px]]<br />
[[File:2020-02-14 205124 - MAH09344.mkv|194px]]<br />
[[File:t_video5933782887504545062 - by WheezeNL.mkv|216px]]<br />
[[File:t_video5931592870795413162 - by Rowan8k.mkv|165px]]<br />
<br />
Modified fastLED sketches that I used at HH2020:<br />
<br />
Arduino 1 (for circles and panel):<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 304<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 15<br />
#define FRAMES_PER_SECOND 120<br />
#define SHIFT_PER_SECOND 15<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { rainbowWithGlitter, bpm, confetti, flowingwater };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
DEFINE_GRADIENT_PALETTE( Aleutian_Clouds_gp ) {<br />
0, 37,184,133,<br />
12, 37,184,133,<br />
25, 46,168, 98,<br />
37, 55,152, 67,<br />
51, 22,104, 77,<br />
63, 5, 66, 88,<br />
76, 1, 31, 49,<br />
88, 1, 19, 32,<br />
100, 1, 2, 11,<br />
112, 1, 3, 9,<br />
125, 1, 6, 20,<br />
137, 1, 10, 20,<br />
149, 1, 2, 11, <br />
161, 1, 19, 32,<br />
173, 1, 31, 49,<br />
185, 5, 66, 88,<br />
200, 22,104, 77,<br />
212, 55,152, 67,<br />
225, 46,168, 98,<br />
237, 37,184,133,<br />
255, 37,184,133,<br />
};<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
void rainbow() <br />
{<br />
// FastLED's built-in rainbow generator<br />
fill_rainbow( leds, NUM_LEDS, gHue, 35);<br />
}<br />
<br />
void rainbowWithGlitter() <br />
{<br />
// built-in FastLED rainbow, plus some random sparkly glitter<br />
rainbow();<br />
addGlitter(80);<br />
}<br />
<br />
void addGlitter( fract8 chanceOfGlitter) <br />
{<br />
if( random8() < chanceOfGlitter) {<br />
leds[ random16(NUM_LEDS) ] += CRGB::White;<br />
}<br />
}<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
int offset = 0;<br />
int framecounter = 0;<br />
void flowingwater()<br />
{<br />
<br />
CRGBPalette16 palette = Aleutian_Clouds_gp;<br />
<br />
for( int i = 0; i < NUM_LEDS; i++) { <br />
leds[i] = ColorFromPalette(palette, ((i+offset)%256), 128);<br />
addGlitter(1);<br />
}<br />
framecounter++;<br />
if (framecounter > FRAMES_PER_SECOND / SHIFT_PER_SECOND) {<br />
offset++;<br />
//offset = offset + random8(4);<br />
if (offset >= 256) {<br />
offset = 0;<br />
}<br />
framecounter = 0;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
Arduino 2 (for strips), from fastLED's demo reel:<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 147<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 75<br />
#define FRAMES_PER_SECOND 40<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { confetti, sinelon, juggle, bpm };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void sinelon()<br />
{<br />
// a colored dot sweeping back and forth, with fading trails<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
int pos = beatsin16( 13, 0, NUM_LEDS-1 );<br />
leds[pos] += CHSV( gHue, 255, 192);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
void juggle() {<br />
// eight colored dots, weaving in and out of sync with each other<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
byte dothue = 0;<br />
for( int i = 0; i < 8; i++) {<br />
leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);<br />
dothue += 32;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
===LED skirt corona-tion edition===<br />
<br />
[[File:2020-03-24 164127.jpg|200px|right]]<br />
<br />
Thought experiment: Corona-tion edition<br />
<br />
* Skirt needs to keep other people 1.5 m away, so bottom hoop with 3 m radius (~9.4245 m diameter).<br />
* Waist circumference (cut-off top of cone) is 65 cm, height is 1 m, bottom radius is 1.5 m.<br />
* First back-of-the-envelope calculation: surface area of 70,000 sq cm for LEDs (that many if assuming 1 LED per sq cm).<br />
* Requires a portable nuclear power station (can build them in openRA).<br />
* Weight of LEDs can be dealt with by using a proper wooden/metal hoop skirt, with roller wheels at bottom.<br />
* Plenty of space under skirt for batteries. Roller wheels can be powered wheels to move around.<br />
* Power consumption can be reduced massively by adding in motion detectors that light up only some LEDs at a time if someone gets near [noopwafel].<br />
* Addressable RGB leds will come at 5cts in bulk, so 3500 euro in LEDs excluding PCBs and other stuff [Sebastius].<br />
<br />
* A proper calculation resulted in 87,656.25 sq cm surface area. Assuming 1 LED per sq cm, and approx 7 LEDs per euro, the cost of the LEDs would be 12,522 euro.<br />
* Power consumption for 87,656 neopixel LEDs at 60 mA, 5 V each: 26+ kW, more than a 3x 35A mains set up to power [Peetz0r].<br />
* LEDs are more likely to be 20 mA each, resulting in 8.77 kW [Juerd].<br />
<br />
===Further work===<br />
<br />
'''2020-02-21 and 2020-02-25'''<br />
* Removed velcro pads from skirt as they were coming apart and were useless at Hacker Hotel.<br />
* Applied Mod Podge where velcro pads used to be, sealing loose threads.<br />
<br />
[[File:2020-02-25 212846 - DSC09574.jpg|200px]]<br />
[[File:2020-02-21 161944 - DSC09517.jpg|200px]]<br />
<br />
'''2020-03-07'''<br />
* Took apart a couple of cracked LCD screens. Diffusion and reflective films had some trippy effects (that don't show so well in pictures). Plan is to use them as panels for some parts.<br />
<br />
[[File:2020-03-07 175704 - DSC09635.jpg|200px]]<br />
[[File:2020-03-07 180407 - DSC09636.jpg|200px]]<br />
[[File:2020-03-07 180457 - DSC09639.jpg|200px]]</div>
Noor
https://revspace.nl/index.php?title=File:2020-03-24_164127.jpg&diff=26115
File:2020-03-24 164127.jpg
2020-10-10T23:09:31Z
<p>Noor: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>
Noor
https://revspace.nl/index.php?title=LED_mini-skirt_and_tiara&diff=26114
LED mini-skirt and tiara
2020-10-10T23:07:26Z
<p>Noor: Created page with " {{Project |Name=LED mini-skirt and tiara |Status=In progress |Picture= |Contact=Noor }} '''2020-09-26''' *Bought '''[https://nl.aliexpress.com/item/4000146709..."</p>
<hr />
<div> {{Project<br />
|Name=LED mini-skirt and tiara<br />
|Status=In progress<br />
|Picture=<br />
|Contact=Noor<br />
}}<br />
<br />
'''2020-09-26'''<br />
*Bought '''[https://nl.aliexpress.com/item/4000146709729.html 30 cm crinoline]'''.<br />
<br />
'''2020-10-09'''<br />
<br />
*Bought: '''[https://nl.aliexpress.com/item/4000744445376.html 1m WS2812 strip, 144 LEDs/m, black PCB, IP30]'''.<br />
* And '''[https://nl.aliexpress.com/item/4001010808015.html 8x32 WS2812 LED panel]'''.</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=26084
Snuffelaar
2020-09-26T20:24:40Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm PCB header als Grove), bv de BME280.<br />
<br />
Git repo: https://github.com/sebastius/airquality<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit(?) te doen: regel het(?) dan vooral lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit<br />
|-<br />
| ObiToo || Hack42 || 1<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
=Definitieve inschrijflijsten=<br />
Let op: als je jezelf hieronder op een van de lijsten (laat) zet(ten), dan verwacht ik geld van je ;)<br />
<br />
Noot: IK VERSTUUR NIET. Alles komt bij RevSpace te liggen en als je het elders wilt hebben, of als je geen deelnemer bent, zul je zelf iets moeten organiseren!<br />
<br />
Planning: <br />
* vrijdag 18 september alle betalingen binnen en bestellingen de deur uit<br />
* eind oktober alle onderdelen binnen en in een weekendje alle kits klaar voor uitlevering<br />
* begin november online workshop hoe je het ding in elkaar soldeert<br />
* mid november van $mensen workshops hoe je grafana inricht en dat soort dingen<br />
<br />
==$disclaimer==<br />
Dit project kan op allerlei vlakken falen: foutief ontwerp, defecte onderdelen, bus factor, matige software. Het mooie is: het meerendeel kun je zelf voorkomen of oplossen. Ga dit project alleen aan als je het aan kunt. Je moet zelf een beetje kunnen solderen en programmeren, en vooral mij niet te veel vragen stellen ;). Ga er van uit dat de meeste sensoren namaak zijn en niet zo accuraat zijn als de 'echte' van Bosch of andere merken. Dan kan het alleen maar meevallen. Garantie tot de hoek van m'n bureau. (En ja tuurlijk koop ik een sensortje extra in, maar als er 5 defect blijken heeft klagen bij Ome Ali verdomd weinig zin). <br />
<br />
==Full kit==<br />
Full kit gaat bevatten: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). De productie versie bevat GEEN LORA footprint/module. 5v USB C kabel kun je vast wel zelf aankomen. <br />
<br />
Op te halen in Den Haag bij RevSpace, of via interhackerspace-post als je het zelf organiseert. <br />
<br />
Kosten: € 60,- (Dit is inclusief diverse veiligheidsmarges en kan mogelijk lager uitvallen.)<br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), Telegram (als je in de Badge.team chat zit) etc. etc. voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit !! Betaling ontvangen?<br />
|-<br />
| Sebastius|| RevSpace || 4 || Ik organiseer het. ;)<br />
|-<br />
| HunterPro|| via Sebastius|| 3 || -<br />
|-<br />
| OpeRaptor || Via Sebastius || 1 || Yes, on the bank<br />
|-<br />
| Elborro || Badge.team || 2 || Ja, staat op de bank<br />
|-<br />
|Edith via Elborro || Badge.team || 1 || Ja, staat op de bank<br />
|-<br />
| Dave_o || RevSpace || 1 || Ja, staat op de bank<br />
|-<br />
| Polyfloyd || Bitlair || 2 || Ja, staat op de bank<br />
|-<br />
| buZz || NURDspace || 2 || Ja, staat op de bank!<br />
|-<br />
| bronsen || NURDspace proxy to .de || 3 || Ja, staat op de bank<br />
|-<br />
| nl0pat/pathia || Tweakers DM ||1 || Jup, op de bank<br />
|-<br />
| fhp || Hackalot || 1 || Ja, staat op de bank<br />
|-<br />
| zawadi|| RevSpace || 1 || Ja, staat op de bank<br />
|-<br />
| Deuce || RevSpace || 1 || Ja, staat op de bank<br />
|-<br />
| Eightdot || Bitlair || 2 || Ja, staat op de bank!<br />
|-<br />
| WinSCaP || RevSpace || 1 ||<br />
|-<br />
| mvnieuw || Hackalot || 1 || Ja, staat op de bank<br />
|-<br />
| bef0re || Hackalot/RevSpace || 4 || Ja, staat op de bank!<br />
|-<br />
| joepie91 || RevSpace || 4 || Ja, staat op de bank<br />
|-<br />
| CrazyA || Frack || 1 || Ja, staat op de bank<br />
|-<br />
| Mikazuki || Frack || 1 || Ja, staat op de bank!<br />
|-<br />
| Walter|| Revelation Space || 1 || Ja, staat op de bank!<br />
|-<br />
| [Sim]|| TkkrLab/Badge.team || 1 || Ja, staat op de bank!<br />
|-<br />
| Ultratux || Technologia Incognita || 1 || Ja, staat op de bank!<br />
|-<br />
| bertrik || RevSpace || 1 || Ja, staat op de bank<br />
|-<br />
| Synq || RevSpace || 10 || Ja, staat op de bank<br />
|-<br />
| Boekenwuurm || HackaSpace Revsalot || 1 || -<br />
|-<br />
| Benadski|| RevSpace || 1 || -<br />
|-<br />
| Noopwafel || RevSpace || 2 || Ja, staat op de bank!<br />
|-<br />
| Wheeze_NL (voor CAQ) || RevSpace || 1 || Betaald via IBAN<br />
|-<br />
| Harris|| Hackalot || 1 || Ja, staat op de bank!<br />
|-<br />
| KLAAR! || KLAAR!|| 0 || KLAAR!<br />
|}<br />
<br />
==PCBs only==<br />
Zelf nog wat liggen? Of zelf de spanning van AliExpress doen? Tuurlijk kan dat! In deze kit zit alleen het PCB en het frontje. <br />
<br />
Kosten: € 5,- <br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), Telegram (als je in de Badge.team chat zit) etc. etc. voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x PCB set!! Betaling ontvangen?<br />
|-<br />
| Polyfloyd || Bitlair || 1 || Staat op de bank<br />
|-<br />
| Kartoffel || Revalot || 1 || Geincasseerd via Revbank<br />
|-<br />
| Wheeze_NL(tbv 1L) || RevSpace || 2 || Staat op de bank<br />
|-<br />
| Eightdot || Bitlair || 3 || -<br />
|-<br />
| WinSCaP || RevSpace || 2 || - <br />
|-<br />
| Hackalot || Hackalot || 1 || Goed doel, dus gratis<br />
|-<br />
| Peetz0r || RevSpace || 1 || - <br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=LED_skirt&diff=25963
LED skirt
2020-09-12T21:44:39Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=LED skirt<br />
|Status=In progress<br />
|Picture=Photo5933744821665640847 - by WheezeNL.jpg<br />
|Contact=Noor<br />
}}<br />
==To do==<br />
* Reinforce wire connections with hot glue and/or zip ties.<br />
* Punch and grommet holes where velcro used to be.<br />
* Buy or make a carrying case (width ~80 cm, height ~110 cm), maybe pop-up tent bag.<br />
* Make LEDs addressable by position.<br />
* More programming designs.<br />
* Get '''[http://soliton.vm.bytemark.co.uk/pub/cpt-city/pd/astro/tn/aurora_borealis.png.index.html aurora borealis palette]''' working properly on circles and panel, and shooting stars display on strips.<br />
* Replace (or add to) strip in bottom tube with '''[https://nl.aliexpress.com/item/32885384695.html side-emitting LEDs]'''?<br />
<br />
==LED count==<br />
*240 - circles (all used except one)<br />
*64 - 8x8 panel.<br />
<br />
*23 - strip 1.<br />
*23 - strip 2.<br />
*17 - strip 3.<br />
*84 (?) - strip along bottom tube.<br />
<br />
Total: 451 LEDs.<br />
<br />
==Timeline==<br />
<br />
===Construction===<br />
'''2019-11-06 - 2019-11-11'''<br />
<br />
Bought:<br />
* '''[https://nl.aliexpress.com/item/32911854822.html 8x8 cm WS2812 LED panel]'''<br />
* '''[https://nl.aliexpress.com/item/32966375934.html 5m, 30 LEDs/m, IP67, black LED pixel strip]'''<br />
* '''[https://nl.aliexpress.com/item/4000146649971.html 241 LEDs, rings of varying sizes from 3 to 17 cm]'''<br />
* [x2] '''[https://nl.aliexpress.com/item/32988614802.html 2-hoop crinolines to attach LEDs to]'''<br />
* '''[https://nl.aliexpress.com/item/32846977474.html?spm=a2g0s.9042311.0.0.ce634c4dCN7q6F 88 cm black skirt]'''<br />
<br />
Old sketches:<br />
<br />
[[File:2019-11-04 224115 - design1.png|100px]][[File:2019-11-04 224123 - led skirt 2.png|100px]][[File:2019-11-04 224131 - led skirt 3.png|100px]]<br />
[[File:2019-11-05 215433 - DSC06381.jpg|214px]][[File:2019-11-05 215437 - DSC06382.jpg|214px]]<br />
<br />
'''2019-11-12 - 2019-11-24'''<br />
* Played with layout of LEDs, waiting for items to arrive.<br />
* Tested out LEDs under layers and on crinoline.<br />
<br />
[[File:2019-11-23 220454 - DSC06537.jpg|150px]]<br />
[[File:2019-11-23 221724 - DSC06542.jpg|150px]]<br />
[[File:2019-11-24 173747 - DSC06546.jpg|200px]]<br />
<br />
'''2019-11-25'''<br />
* Took apart seams of inner layers of black skirt to add extra panels to fit over crinoline.<br />
<br />
'''2019-11-26'''<br />
* Measured skirt on top of crinoline. Extra panel with bottom arc length of 100+cm.<br />
* Decided to go with 6 strips of 23 LEDs each. Cut one strip.<br />
<br />
[[File:2019-11-26 190451 - DSC06570.jpg|150px]]<br />
[[File:2019-11-26 190712 - DSC06573.jpg|150px]]<br />
<br />
'''2019-12-03 - 2019-12-05'''<br />
* Tested out LED rings. One wire was detached so had to be soldered on.<br />
[[File:2019-12-03 174905 - DSC06589.jpg|200px]]<br />
[[File:2019-12-05 182443 - DSC06618.jpg|200px]]<br />
<br />
[[File:2019-12-05 172105 - MAH06604.mp4|250px]]<br />
[[File:2019-12-05 182150 - MAH06614.mp4|250px]]<br />
[[File:2019-12-05 203225 - MAH06620.mp4|250px]]<br />
<br />
'''2019-12-06'''<br />
*Punched holes in crinoline, used zip ties to attach first LED strip.<br />
*Took apart LED circles and tested FastLED programs.<br />
*Set up LED circles, one strip, and panel together on crinoline and used zip ties to place everything but the panel on crinoline.<br />
*Ran FastLED programs on everything together.<br />
*Pictures posted by others to '''[https://www.facebook.com/story.php?story_fbid=2623825531015894&id=249310478467423 Facebook]''', '''[https://revspace.nl/kiekjes/view/20191206/P1000995.JPG RevSpace kiekjes]''', '''[https://twitter.com/revspacenl/status/1203094244057059329 Twitter]'''.<br />
<br />
[[File:2019-12-06 193923 - DSC06635.jpg|150px]]<br />
[[File:2019-12-06 194452 - DSC06637.jpg|150px]]<br />
[[File:2019-12-06 200017 - DSC06639.jpg|266px]]<br />
[[File:2019-12-06 220618 - DSC06666.jpg|150px]]<br />
[[File:2019-12-06 220632 - DSC06667.jpg|150px]]<br />
[[File:2019-12-06 220710 - DSC06668.jpg|150px]]<br />
[[File:2019-12-06 181804 - MAH06633.mp4|250px]]<br />
[[File:2019-12-06 201308 - MAH06641.mp4|250px]]<br />
[[File:2019-12-06 220455 - MAH06664.mp4|150px]]<br />
[[File:2019-12-06 220715 - MAH06669.mp4|150px]]<br />
<br />
'''2019-12-20'''<br />
<br />
*Rearranged LED circles, mounted some back on with velcro. Mounted panel with velcro.<br />
*Cut two more strips. Attached wires to one and mounted it horizontally at an angle.<br />
<br />
[[File:2019-12-20 214116 - DSC06775.JPG|150px]]<br />
<br />
'''2019-12-22'''<br />
*Folded up bottom hem and put velcro strips all across to partially make a tube along bottom.<br />
[[File:2019-12-22 202231 - DSC06794.jpg|200px]]<br />
[[File:2019-12-22 203241 - DSC06795.jpg|150px]]<br />
<br />
'''2019-12-24'''<br />
*Bought '''[https://www.aliexpress.com/item/32801353259.html LED connectors (20 pairs, 3-pin)]'''.<br />
<br />
'''2019-12-25'''<br />
*Measured and cut panel for black layer of skirt.<br />
<br />
'''2020-01-10'''<br />
*Used fabric glue along bottom hem tube, in between velcro strips.<br />
*Soldered wires to more LED strips.<br />
<br />
[[File:2020-01-10 145148 - DSC08359.jpg|200px]]<br />
[[File:2020-01-10 165310 - DSC08360.jpg|200px]]<br />
[[File:2020-01-10 201701 - DSC08367.jpg|200px]]<br />
[[File:2020-01-10 205118 - DSC08368.jpg|150px]]<br />
[[File:2020-01-10 211717 - DSC08370.jpg|200px]]<br />
[[File:2020-01-10 213030 - DSC08371.jpg|200px]]<br />
[[File:2020-01-10 223034 - DSC08375.jpg|200px]]<br />
[[File:2020-01-10 225615 - DSC08377.jpg|150px]]<br />
<br />
'''2020-01-11'''<br />
*Soldered wires to remaining LED strips.<br />
*Connected everything together, hooked up to an Arduino.<br />
<br />
[[File:2020-01-11 185141 - DSC08388.jpg|200px]]<br />
[[File:2020-01-11 191121 - DSC08389.jpg|150px]]<br />
[[File:2020-01-11 202121 - DSC08392.jpg|200px]]<br />
[[File:2020-01-11 202125 - DSC08393.jpg|200px]]<br />
[[File:2020-01-11 202717 - DSC08394.jpg|200px]]<br />
[[File:2020-01-11 203657 - DSC08396.jpg|200px]]<br />
[[File:2020-01-11 204945 - DSC08397.jpg|200px]]<br />
[[File:2020-01-11 210350 - DSC08401.jpg|200px]]<br />
<br />
[[File:2020-01-11 195305 - MAH08399 3.mp4|150px]]<br />
[[File:2020-01-11 201459 - MAH08404 2.mp4|150px]]<br />
<br />
'''2020-01-17'''<br />
*Added more velcro bits to fix placement of LEDs.<br />
*Experimented with modifying FastLED programs. BPM on circles?<br />
<br />
[[File:2020-01-17 170344 - DSC08486.jpg|200px]]<br />
[[File:2020-01-17 174034 - DSC08489.jpg|200px]]<br />
[[File:2020-01-17 183719 - DSC08492.jpg|150px]]<br />
[[File:2020-01-17 195703 - DSC08503.jpg|150px]]<br />
<br />
[[File:2020-01-17 183546 - MAH08490.mp4|150px]]<br />
[[File:2020-01-17 195232 - MAH08497.mp4|150px]]<br />
<br />
'''2020-01-18 - 2020-02-13'''<br />
<br />
* Experimented more with FastLED programs.<br />
* For custom color palettes, used '''[http://fastled.io/tools/paletteknife/ PaletteKnife bookmarklet]''' to generate codes for palettes. Add to sketch directly, or add to Arduino/libraries/FastLED/colorpalettes.cpp and palette name to colorpalettes.h.<br />
* Cut up plastic bag for panel over skirt, attached with velcro.<br />
* Finished up everything on black outer skirt.<br />
* Bought 2x '''[https://www.lidl-shop.nl/SILVERCREST-Powerbank-10-000-mAh/p100264867 SilverCrest power banks]'''.<br />
<br />
[[File:2020-01-28 202925 - DSC08667.jpg|240px]]<br />
[[File:2020-01-28 205606 - DSC08678.jpg|240px]]<br />
[[File:2020-01-28 205645 - DSC08682.jpg|135px]]<br />
[[File:2020-01-31 201610 - DSC08697.jpg|240px]]<br />
[[File:2020-02-05 222300 - DSC08979.jpg|240px]]<br />
[[File:2020-02-07 214159 - DSC09010.jpg|135px]]<br />
[[File:2020-02-07 214322 - DSC09012.jpg|240px]]<br />
[[File:2020-02-09 184847 - DSC09137.jpg|135px]]<br />
[[File:2020-02-11 182635 - DSC09159.jpg|240px]]<br />
[[File:2020-02-11 185833 - DSC09164.jpg|240px]]<br />
[[File:2020-02-11 201149 - DSC09169.jpg|135px]]<br />
[[File:2020-02-11 233802 - DSC09223.jpg|135px]]<br />
[[File:2020-02-13 170031 - DSC09231.jpg|240px]]<br />
[[File:2020-02-13 195455 - DSC09237.jpg|240px]]<br />
[[File:2020-02-13 201536 - DSC09239.jpg|240px]]<br />
[[File:2020-02-13 204153 - DSC09242.jpg|135px]]<br />
[[File:2020-02-13 205404 - DSC09244.jpg|135px]]<br />
[[File:2020-02-13 213221 - DSC09245.jpg|240px]]<br />
<br />
[[File:2020-02-05 212228 - MAH08977.mkv|250px]]<br />
[[File:2020-02-13 204138 - MAH09241.mkv|150px]]<br />
[[File:2020-02-13 205005 - MAH09243.mkv|150px]]<br />
<br />
===HackerHotel 2020===<br />
<br />
'''2020-02-14 -2020-02-16'''<br />
<br />
* Debut as Princess of Lights went excellent, with paparazzi taking pictures and video all weekend.<br />
* About a dozen wires broke off throughout the weekend and had to be soldered back on, some with reinforcements of zip ties to hold them in place.<br />
* LEDs kept weighing down crinoline, and since the string in the waist came out a long time ago, the velcro was not enough to hold it up. Used an opened paperclip to hold it together, and then a safety pin. Need to add a hook fastener, or use a large safety pin (through grommeted holes) or some other kind of fastener.<br />
<br />
[[File:2020-02-14 215110 - DSC09343.jpg|170px]]<br />
[[File:2020-02-15 004016 - DSC09369.jpg|240px]]<br />
[[File:photo5933744821665640847 - by WheezeNL.jpg|170px]]<br />
<br />
[[File:2020-02-14 205051 - MAH09341.mkv|200px]]<br />
[[File:2020-02-14 205124 - MAH09344.mkv|194px]]<br />
[[File:t_video5933782887504545062 - by WheezeNL.mkv|216px]]<br />
[[File:t_video5931592870795413162 - by Rowan8k.mkv|165px]]<br />
<br />
Modified fastLED sketches that I used at HH2020:<br />
<br />
Arduino 1 (for circles and panel):<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 304<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 15<br />
#define FRAMES_PER_SECOND 120<br />
#define SHIFT_PER_SECOND 15<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { rainbowWithGlitter, bpm, confetti, flowingwater };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
DEFINE_GRADIENT_PALETTE( Aleutian_Clouds_gp ) {<br />
0, 37,184,133,<br />
12, 37,184,133,<br />
25, 46,168, 98,<br />
37, 55,152, 67,<br />
51, 22,104, 77,<br />
63, 5, 66, 88,<br />
76, 1, 31, 49,<br />
88, 1, 19, 32,<br />
100, 1, 2, 11,<br />
112, 1, 3, 9,<br />
125, 1, 6, 20,<br />
137, 1, 10, 20,<br />
149, 1, 2, 11, <br />
161, 1, 19, 32,<br />
173, 1, 31, 49,<br />
185, 5, 66, 88,<br />
200, 22,104, 77,<br />
212, 55,152, 67,<br />
225, 46,168, 98,<br />
237, 37,184,133,<br />
255, 37,184,133,<br />
};<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
void rainbow() <br />
{<br />
// FastLED's built-in rainbow generator<br />
fill_rainbow( leds, NUM_LEDS, gHue, 35);<br />
}<br />
<br />
void rainbowWithGlitter() <br />
{<br />
// built-in FastLED rainbow, plus some random sparkly glitter<br />
rainbow();<br />
addGlitter(80);<br />
}<br />
<br />
void addGlitter( fract8 chanceOfGlitter) <br />
{<br />
if( random8() < chanceOfGlitter) {<br />
leds[ random16(NUM_LEDS) ] += CRGB::White;<br />
}<br />
}<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
int offset = 0;<br />
int framecounter = 0;<br />
void flowingwater()<br />
{<br />
<br />
CRGBPalette16 palette = Aleutian_Clouds_gp;<br />
<br />
for( int i = 0; i < NUM_LEDS; i++) { <br />
leds[i] = ColorFromPalette(palette, ((i+offset)%256), 128);<br />
addGlitter(1);<br />
}<br />
framecounter++;<br />
if (framecounter > FRAMES_PER_SECOND / SHIFT_PER_SECOND) {<br />
offset++;<br />
//offset = offset + random8(4);<br />
if (offset >= 256) {<br />
offset = 0;<br />
}<br />
framecounter = 0;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
Arduino 2 (for strips), from fastLED's demo reel:<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 147<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 75<br />
#define FRAMES_PER_SECOND 40<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { confetti, sinelon, juggle, bpm };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void sinelon()<br />
{<br />
// a colored dot sweeping back and forth, with fading trails<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
int pos = beatsin16( 13, 0, NUM_LEDS-1 );<br />
leds[pos] += CHSV( gHue, 255, 192);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
void juggle() {<br />
// eight colored dots, weaving in and out of sync with each other<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
byte dothue = 0;<br />
for( int i = 0; i < 8; i++) {<br />
leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);<br />
dothue += 32;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
===Further work===<br />
<br />
'''2020-02-21 and 2020-02-25'''<br />
* Removed velcro pads from skirt as they were coming apart and were useless at Hacker Hotel.<br />
* Applied Mod Podge where velcro pads used to be, sealing loose threads.<br />
<br />
[[File:2020-02-25 212846 - DSC09574.jpg|200px]]<br />
[[File:2020-02-21 161944 - DSC09517.jpg|200px]]<br />
<br />
'''2020-03-07'''<br />
* Took apart a couple of cracked LCD screens. Diffusion and reflective films had some trippy effects (that don't show so well in pictures). Plan is to use them as panels for some parts.<br />
<br />
[[File:2020-03-07 175704 - DSC09635.jpg|200px]]<br />
[[File:2020-03-07 180407 - DSC09636.jpg|200px]]<br />
[[File:2020-03-07 180457 - DSC09639.jpg|200px]]</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25962
Snuffelaar
2020-09-12T14:48:53Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm PCB header als Grove), bv de BME280.<br />
<br />
Git repo: https://github.com/sebastius/airquality<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit(?) te doen: regel het(?) dan vooral lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit<br />
|-<br />
| Polyfloyd|| Bitlair/RevSpace/Hackalot || 2<br />
|-<br />
| [Sim]|| TkkrLab/Badge.team|| 1<br />
|-<br />
| buZz|| NURDspace || 2<br />
|-<br />
| Walter|| Revelation Space || 1<br />
|-<br />
| Harris|| Hackalot || 1<br />
|-<br />
| CrazyA || Frack || 1<br />
|-<br />
| Ultratux || Technologia Incognita || 1<br />
|-<br />
| mvnieuw || Hackalot || 1<br />
|-<br />
| ObiToo || Hack42 || 1<br />
|-<br />
| Dave_o || RevSpace || 1<br />
|-<br />
| WinSCaP || RevSpace || 1<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
=Definitieve inschrijflijsten=<br />
Let op: als je jezelf hieronder op een van de lijsten (laat) zet(ten), dan verwacht ik geld van je ;)<br />
<br />
Noot: IK VERSTUUR NIET. Alles komt bij RevSpace te liggen en als je het elders wilt hebben, of als je geen deelnemer bent, zul je zelf iets moeten organiseren!<br />
<br />
Planning: <br />
* vrijdag 18 september alle betalingen binnen en bestellingen de deur uit<br />
* eind oktober alle onderdelen binnen en in een weekendje alle kits klaar voor uitlevering<br />
* begin november online workshop hoe je het ding in elkaar soldeert<br />
* mid november van $mensen workshops hoe je grafana inricht en dat soort dingen<br />
<br />
==$disclaimer==<br />
Dit project kan op allerlei vlakken falen: foutief ontwerp, defecte onderdelen, bus factor, matige software. Het mooie is: het meerendeel kun je zelf voorkomen of oplossen. Ga dit project alleen aan als je het aan kunt. Je moet zelf een beetje kunnen solderen en programmeren, en vooral mij niet te veel vragen stellen ;). Ga er van uit dat de meeste sensoren namaak zijn en niet zo accuraat zijn als de 'echte' van Bosch of andere merken. Dan kan het alleen maar meevallen. Garantie tot de hoek van m'n bureau. (En ja tuurlijk koop ik een sensortje extra in, maar als er 5 defect blijken heeft klagen bij Ome Ali verdomd weinig zin). <br />
<br />
==Full kit==<br />
Full kit gaat bevatten: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. 5v USB C kabel kun je ook wel zelf aankomen. <br />
<br />
Op te halen in Den Haag bij RevSpace, of via interhackerspace-post als je het zelf organiseert. <br />
<br />
Kosten: € 60,- (Dit is inclusief diverse veiligheidsmarges en kan mogelijk lager uitvallen.)<br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), Telegram (als je in de Badge.team chat zit) etc. etc. voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit !! Betaling ontvangen?<br />
|-<br />
| Sebastius|| RevSpace || 4 || Ik organiseer het. ;)<br />
|-<br />
| HunterPro|| via Sebastius|| 3 || -<br />
|-<br />
| Elborro || Badge.team || 2 || -<br />
|-<br />
|Edith via Elborro || Badge.team || 1 || -<br />
|-<br />
| Dave_o || RevSpace || 1 || -<br />
|-<br />
| Polyfloyd || Bitlair || 2 || Via IBAN op 11 sept<br />
|-<br />
| buZz || NURDspace || 2 || -<br />
|-<br />
| bronsen || NURDspace proxy to .de || 3 || -<br />
|-<br />
| nl0pat/pathia || Tweakers DM ||1 || Jup, op de bank<br />
|-<br />
| fhp || Hackalot || 1 || -<br />
|-<br />
| zawadi|| RevSpace || 1 || Haal maar van Revbank<br />
|-<br />
| Deuce || RevSpace || 1 || betaald<br />
|-<br />
| Eightdot || Bitlair || 2 || <br />
|-<br />
| WinSCaP || RevSpace || 1 ||<br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
==PCBs only==<br />
Zelf nog wat liggen? Of zelf de spanning van AliExpress doen? Tuurlijk kan dat! In deze kit zit alleen het PCB en het frontje. <br />
<br />
Kosten: € 5,- <br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), Telegram (als je in de Badge.team chat zit) etc. etc. voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x PCB set!! Betaling ontvangen?<br />
|-<br />
| Polyfloyd || Bitlair || 1 || Via IBAN op 11 sept<br />
|-<br />
| Kartoffel || Revalot || 1 || Trek maar van RevBank<br />
|-<br />
| Wheeze_NL(tbv 1L) || RevSpace || 2 || Komt via IBAN<br />
|-<br />
| Eightdot || Bitlair || 3 || -<br />
|-<br />
| WinSCaP || RevSpace || 2 || - <br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25936
Snuffelaar
2020-09-09T14:03:35Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm PCB header als Grove), bv de BME280.<br />
<br />
Git repo: https://github.com/sebastius/airquality<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit(?) te doen: regel het(?) dan vooral lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit<br />
|-<br />
| Polyfloyd|| Bitlair/RevSpace/Hackalot || 2<br />
|-<br />
| zawadi|| RevSpace || 1<br />
|-<br />
| [Sim]|| TkkrLab/Badge.team|| 1<br />
|-<br />
| buZz|| NURDspace || 2<br />
|-<br />
| Walter|| Revelation Space || 1<br />
|-<br />
| Harris|| Hackalot || 1<br />
|-<br />
| CrazyA || Frack || 1<br />
|-<br />
| Ultratux || Technologia Incognita || 1<br />
|-<br />
| mvnieuw || Hackalot || 1<br />
|-<br />
| ObiToo || Hack42 || 1<br />
|-<br />
| Dave_o || RevSpace || 1<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
=Definitieve inschrijflijsten=<br />
Let op: als je jezelf hieronder op een van de lijsten (laat) zet(ten), dan verwacht ik geld van je ;)<br />
<br />
Planning: <br />
* vrijdag 18 september alle betalingen binnen en bestellingen de deur uit<br />
* eind oktober alle onderdelen binnen en in een weekendje alle kits klaar voor uitlevering<br />
* begin november online workshop hoe je het ding in elkaar soldeert<br />
* mid november van $mensen workshops hoe je grafana inricht en dat soort dingen<br />
<br />
==$disclaimer==<br />
Dit project kan op allerlei vlakken falen: foutief ontwerp, defecte onderdelen, bus factor, matige software. Het mooie is: het meerendeel kun je zelf voorkomen of oplossen. Ga dit project alleen aan als je het aan kunt. Je moet zelf een beetje kunnen solderen en programmeren, en vooral mij niet te veel vragen stellen ;). Ga er van uit dat de meeste sensoren namaak zijn en niet zo accuraat zijn als de 'echte' van Bosch of andere merken. Dan kan het alleen maar meevallen. Garantie tot de hoek van m'n bureau. (En ja tuurlijk koop ik een sensortje extra in, maar als er 5 defect blijken heeft klagen bij Ome Ali verdomd weinig zin). <br />
<br />
==Full kit==<br />
Full kit gaat bevatten: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. 5v USB C kabel kun je ook wel zelf aankomen. <br />
<br />
Op te halen in Den Haag bij RevSpace, of via interhackerspace-post als je het zelf organiseert. <br />
<br />
Kosten: € 60,- (Dit is inclusief diverse veiligheidsmarges en kan mogelijk lager uitvallen.)<br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), Telegram (als je in de Badge.team chat zit) etc. etc. voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x full kit !! Betaling ontvangen?<br />
|-<br />
| Sebastius|| RevSpace || 4 || Ik organiseer het. ;)<br />
|-<br />
| HunterPro|| via Sebastius|| 3 || -<br />
|-<br />
| Elborro || Badge.team || 2 || -<br />
|-<br />
|Edith via Elborro || Badge.team || 1 || -<br />
|-<br />
| Dave_o || RevSpace || 1 || -<br />
|-<br />
| Polyfloyd || Bitlair || 2 || -<br />
|-<br />
| buZz || NURDspace || 2 || -<br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
==PCBs only==<br />
Zelf nog wat liggen? Of zelf de spanning van AliExpress doen? Tuurlijk kan dat! In deze kit zit alleen het PCB en het frontje. <br />
<br />
Kosten: € 5,- <br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), telegram (als je in de Badge.team chat zit) etc etc voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Nickname !! Hackerspace/contact !! Aantal x pcb set!! Betaling ontvangen?<br />
|-<br />
| Polyfloyd || Bitlair || 1 || -<br />
|-<br />
| Kartoffel || Revalot || 1 || Trek maar van RevBank<br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25935
Snuffelaar
2020-09-09T14:01:26Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm PCB header als Grove), bv de BME280.<br />
<br />
Git repo: https://github.com/sebastius/airquality<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit(?) te doen: regel het(?) dan vooral lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! nickname !! hackerspace/contact !! aantal x full kit<br />
|-<br />
| Polyfloyd|| Bitlair/RevSpace/Hackalot || 2<br />
|-<br />
| zawadi|| RevSpace || 1<br />
|-<br />
| [sim]|| TkkrLab/Badge.team|| 1<br />
|-<br />
| buZz|| NURDspace || 2<br />
|-<br />
| Walter|| Revelation Space || 1<br />
|-<br />
| Harris|| Hackalot || 1<br />
|-<br />
| CrazyA || Frack || 1<br />
|-<br />
| Ultratux || Technologia Incognita || 1<br />
|-<br />
| mvnieuw || Hackalot || 1<br />
|-<br />
| ObiToo || Hack42 || 1<br />
|-<br />
| Dave_o || RevSpace || 1<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
=Definitieve inschrijflijsten=<br />
Let op: als je jezelf hieronder op een van de lijsten (laat) zet(ten), dan verwacht ik geld van je ;)<br />
<br />
Planning: <br />
* vrijdag 18 september alle betalingen binnen en bestellingen de deur uit<br />
* eind oktober alle onderdelen binnen en in een weekendje alle kits klaar voor uitlevering<br />
* begin november online workshop hoe je het ding in elkaar soldeert<br />
* mid november van $mensen workshops hoe je grafana inricht en dat soort dingen<br />
<br />
==$disclaimer==<br />
Dit project kan op allerlei vlakken falen: foutief ontwerp, defecte onderdelen, bus factor, matige software. Het mooie is: het meerendeel kun je zelf voorkomen of oplossen. Ga dit project alleen aan als je het aan kunt. Je moet zelf een beetje kunnen solderen en programmeren, en vooral mij niet te veel vragen stellen ;). Ga er van uit dat de meeste sensoren namaak zijn en niet zo accuraat zijn als de 'echte' van Bosch of andere merken. Dan kan het alleen maar meevallen. Garantie tot de hoek van m'n bureau. (En ja tuurlijk koop ik een sensortje extra in, maar als er 5 defect blijken heeft klagen bij Ome Ali verdomd weinig zin). <br />
<br />
==Full kit==<br />
Full kit gaat bevatten: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. 5v USB C kabel kun je ook wel zelf aankomen. <br />
<br />
Op te halen in Den Haag bij RevSpace, of via interhackerspace-post als je het zelf organiseert. <br />
<br />
Kosten: € 60,- (dit is inclusief diverse veiligheidsmarges en kan mogelijk lager uitvallen)<br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), telegram (als je in de Badge.team chat zit) etc etc voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! nickname !! hackerspace/contact !! aantal x full kit !! Betaling ontvangen?<br />
|-<br />
| Sebastius|| RevSpace || 4 || Ik organiseer het. ;)<br />
|-<br />
| HunterPro|| via Sebastius|| 3 || -<br />
|-<br />
| Elborro || Badge.team || 2 || -<br />
|-<br />
|Edith via Elborro || Badge.team || 1 || -<br />
|-<br />
| Dave_o || RevSpace || 1 || -<br />
|-<br />
| Polyfloyd || Bitlair || 2 || -<br />
|-<br />
| buZz || NURDspace || 2 || -<br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
==PCBs only==<br />
Zelf nog wat liggen? Of zelf de spanning van AliExpress doen? Tuurlijk kan dat! In deze kit zit alleen het PCB en het frontje. <br />
<br />
Kosten: € 5,- <br />
<br />
Wil je betalen? Dat kan, stuur me even een bericht op IRC (Sebastius op Freenode, OFTC, Smurfnet), email (zie je emailbox), telegram (als je in de Badge.team chat zit) etc etc voor de betalingsdetails. <br />
<br />
{| class="wikitable"<br />
|-<br />
! nickname !! hackerspace/contact !! aantal x pcb set!! Betaling ontvangen?<br />
|-<br />
| Polyfloyd || Bitlair || 1 || -<br />
|-<br />
| Kartoffel || Revalot || 1 || Trek maar van RevBank<br />
|-<br />
| Example || Example|| Example || -<br />
|}<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Challenge_coin&diff=25919
Challenge coin
2020-09-09T00:31:17Z
<p>Noor: </p>
<hr />
<div>[[File:ezgif-7-b5bdbc1f2f0c.gif|400px|frame|right|Mooier dan dit wordt het niet!]]<br />
<br />
== Preorder ==<br />
<br />
Voor wie al lang denkt "shut up and take my money", stuur een mailtje aan '''juerd@revspace.nl''' om er eentje te bestellen. Meerdere mag ook, zeg maar hoe veel. First come, first served, op = op, etc.<br />
<br />
Zet in je mailtje of je betaalt met een IBAN-overschrijving of met je RevBank-tegoed.<br />
<br />
{|class=wikitable<br />
! Optie !! Prijs per stuk<br />
|-<br />
| Preorder, levering in deelnemer-SAMLA<br />
|align=right| 5,00 €<br />
|-<br />
| Preorder, levering in een envelop aan een adres binnen Europa<br />
|align=right| 6,00 €<br />
|-<br />
| Kopen bij RevSpace<br />
|align=right| 5,00 €<br />
|-<br />
| Deluxe-uitvoering<br />
|align=right| 42,00 €<br />
|}<br />
<br />
Ze gaan waarschijnlijk half oktober op de post.<br />
<br />
== Verkooppraatje ==<br />
<br />
TL;DR: Koop onze collectable "munt" voor 5 euro.<br />
<br />
Qua economie klopt het ontwerp van onze wereld niet. Materialen uit de aarde trekken is gratis, afval op de planeet dumpen is ook gratis, en deze combinatie heet de lineaire economie. De kosten van vervuiling en andere milieuschade zitten bijna nooit verwerkt in de prijs die je betaalt voor een product. Doordat het allemaal zo goedkoop is, kopen we allerlei dingen waarvan we weten dat het niet lang meegaat. We leggen ons bij voorbaat erbij neer dat we iets een paar keer gebruiken, en dan weggooien. "Single use" is een extreme variant hiervan: er wordt iets geproduceerd, vervoerd, en verkocht, om het na slechts 1x gebruiken, weer af te voeren. Met een beetje geluk wordt het gerecycled, maar met veel producten kan dat niet of nauwelijks.<br />
<br />
En dan is er de categorie "zero use". Producten die geen enkel praktisch nut hebben, die worden geproduceerd, vervoerd, en verkocht, om daarna helemaal nooit te gebruiken. Omdat delen door nul niet gaat, is het lastig om deze producten op waarde te schatten. Het is de kern van de meeste verzamelingen in privébezit: hebben om het hebben. Om de collectie compleet te maken, of gewoon omdat het kan. Schaarste maakt het waardevoller, juist bij dingen die technisch gezien helemaal niet functioneel zijn. Soms is er toch nog een beperkt nut te vinden in de veronderstelde schoonheid van het object, en dan heet het kunst.<br />
<br />
Maar het mag, want zoiets koop je niet om weg te gooien. Je hoeft daarom dus ook niet na te denken over of het recyclebaar is. Zodra de voorraad op is, of zodra de circulaire economie er eindelijk is, wordt de waarde vanzelf oneindig (of nul, afhankelijk van je perspectief).<br />
<br />
Hack42 heeft met hun [https://hack42.nl/wiki/Favicoin Favicoin] een trend gezet met een rond, plat, zero-use-object waar echt alleen met buitengewone fantasie een zinnig nut voor te verzinnen valt. Het is een soort flippo, maar dan anders, dus wij konden natuurlijk niet achterblijven. Zij lieten een schijf met elementen in de kleur van zilver produceren, dus wij hebben gekozen voor iets met een afwerking van echt goud. Verder is onze "challenge coin" een aanfluiting, want het ding is dunner en weegt bijna niks. Dat maakt het wel weer makkelijker om 'm altijd bij je te dragen!<br />
<br />
Voor slechts 5 euro, en ja, daar verdient Stichting Revelation Space heel goed aan, kun jij de trotse eigenaar worden van dit collector's item! De oplage is beperkt, want alle aardse materialen zijn nu eenmaal schaars.<br />
<br />
De challenge PCB is verkrijgbaar via RevBank, maar je kunt ook een mailtje sturen met je adres, dan steken we 'm in een envelop.<br />
<br />
<br />
P.S. De Deluxe versie kost 42 euro. Deze verhoudt zich tot de standaarduitvoering als de Deluxe Favicoin tot de standaard Favicoin, en is alleen beschikbaar voor deelnemers van Hack42. (NB: Uiteraard mogen zij ook gewoon de standaarduitvoering kopen.)<br />
<br />
== Specificaties ==<br />
<br />
(Onder voorbehoud van stomme fouten en verkeerde aannames.)<br />
<br />
{|class=wikitable<br />
| Diameter || 50 mm<br />
|-<br />
| Dikte || 2 mm<br />
|-<br />
| Gewicht || 8 g (op Aarde)<br />
|-<br />
| Materiaal kern || Vezelversterkt epoxyhars (FR4)<br />
|-<br />
| Materiaal decoratie || Koper, nikkel, goud, polymeerlak, epoxy-inkt<br />
|-<br />
| Kleur || Donkergroen, lichtgroen, goud, wit<br />
<br />
|-<br />
| Productietechniek || o.a. frezen, etsen, ENIG, zeefdruk<br />
|-<br />
| Heraldische omschrijving voorzijde || In sinopel, centraal een menselijke hand van verdektmetallisch sinopel vasthoudend een crappy soldeerbout van goud en zilver, met boven en onder een geschreven motto van goud.<br />
|-<br />
| Heraldische omschrijving achterzijde || In verdektmetallisch sinopel, in een cirkel van zilver, links een through-hole LED van goud, rechts de naam in zilver, onder beide in hoofdletters een onderschrift van goud.<br />
|-<br />
| Kleinste details || Zo klein dat de fabrikant geen garantie durft te geven dat 't allemaal precies klopt. :)<br />
|}<br />
<br />
NB: Waar "zilver" staat, wordt "wit" bedoeld, maar het goud is wel echt (en echt flinterdun ;).</div>
Noor
https://revspace.nl/index.php?title=Visits&diff=25906
Visits
2020-09-08T19:49:00Z
<p>Noor: Redirected page to Bezoeken</p>
<hr />
<div>#REDIRECT [[Bezoeken]]</div>
Noor
https://revspace.nl/index.php?title=Visit&diff=25905
Visit
2020-09-08T19:48:50Z
<p>Noor: Redirected page to Bezoeken</p>
<hr />
<div>#REDIRECT [[Bezoeken]]</div>
Noor
https://revspace.nl/index.php?title=LED-skirt&diff=25904
LED-skirt
2020-09-08T19:48:04Z
<p>Noor: Noor moved page LED-skirt to LED skirt</p>
<hr />
<div>#REDIRECT [[LED skirt]]</div>
Noor
https://revspace.nl/index.php?title=LED_skirt&diff=25903
LED skirt
2020-09-08T19:47:47Z
<p>Noor: Noor moved page LED-skirt to LED skirt</p>
<hr />
<div> {{Project<br />
|Name=LED-skirt<br />
|Status=In progress<br />
|Picture=Photo5933744821665640847 - by WheezeNL.jpg<br />
|Contact=Noor<br />
}}<br />
==To do==<br />
* Reinforce wire connections with hot glue and/or zip ties.<br />
* Punch and grommet holes where velcro used to be.<br />
* Buy or make a carrying case (width ~80 cm, height ~110 cm), maybe pop-up tent bag.<br />
* Make LEDs addressable by position.<br />
* More programming designs.<br />
* Get '''[http://soliton.vm.bytemark.co.uk/pub/cpt-city/pd/astro/tn/aurora_borealis.png.index.html aurora borealis palette]''' working properly on circles and panel, and shooting stars display on strips.<br />
* Replace (or add to) strip in bottom tube with '''[https://nl.aliexpress.com/item/32885384695.html side-emitting LEDs]'''?<br />
<br />
==LED count==<br />
*240 - circles (all used except one)<br />
*64 - 8x8 panel.<br />
<br />
*23 - strip 1.<br />
*23 - strip 2.<br />
*17 - strip 3.<br />
*84 (?) - strip along bottom tube.<br />
<br />
Total: 451 LEDs.<br />
<br />
==Timeline==<br />
<br />
===Construction===<br />
'''2019-11-06 - 2019-11-11'''<br />
<br />
Bought:<br />
* '''[https://nl.aliexpress.com/item/32911854822.html 8x8 cm WS2812 LED panel]'''<br />
* '''[https://nl.aliexpress.com/item/32966375934.html 5m, 30 LEDs/m, IP67, black LED pixel strip]'''<br />
* '''[https://nl.aliexpress.com/item/4000146649971.html 241 LEDs, rings of varying sizes from 3 to 17 cm]'''<br />
* [x2] '''[https://nl.aliexpress.com/item/32988614802.html 2-hoop crinolines to attach LEDs to]'''<br />
* '''[https://nl.aliexpress.com/item/32846977474.html?spm=a2g0s.9042311.0.0.ce634c4dCN7q6F 88 cm black skirt]'''<br />
<br />
Old sketches:<br />
<br />
[[File:2019-11-04 224115 - design1.png|100px]][[File:2019-11-04 224123 - led skirt 2.png|100px]][[File:2019-11-04 224131 - led skirt 3.png|100px]]<br />
[[File:2019-11-05 215433 - DSC06381.jpg|214px]][[File:2019-11-05 215437 - DSC06382.jpg|214px]]<br />
<br />
'''2019-11-12 - 2019-11-24'''<br />
* Played with layout of LEDs, waiting for items to arrive.<br />
* Tested out LEDs under layers and on crinoline.<br />
<br />
[[File:2019-11-23 220454 - DSC06537.jpg|150px]]<br />
[[File:2019-11-23 221724 - DSC06542.jpg|150px]]<br />
[[File:2019-11-24 173747 - DSC06546.jpg|200px]]<br />
<br />
'''2019-11-25'''<br />
* Took apart seams of inner layers of black skirt to add extra panels to fit over crinoline.<br />
<br />
'''2019-11-26'''<br />
* Measured skirt on top of crinoline. Extra panel with bottom arc length of 100+cm.<br />
* Decided to go with 6 strips of 23 LEDs each. Cut one strip.<br />
<br />
[[File:2019-11-26 190451 - DSC06570.jpg|150px]]<br />
[[File:2019-11-26 190712 - DSC06573.jpg|150px]]<br />
<br />
'''2019-12-03 - 2019-12-05'''<br />
* Tested out LED rings. One wire was detached so had to be soldered on.<br />
[[File:2019-12-03 174905 - DSC06589.jpg|200px]]<br />
[[File:2019-12-05 182443 - DSC06618.jpg|200px]]<br />
<br />
[[File:2019-12-05 172105 - MAH06604.mp4|250px]]<br />
[[File:2019-12-05 182150 - MAH06614.mp4|250px]]<br />
[[File:2019-12-05 203225 - MAH06620.mp4|250px]]<br />
<br />
'''2019-12-06'''<br />
*Punched holes in crinoline, used zip ties to attach first LED strip.<br />
*Took apart LED circles and tested FastLED programs.<br />
*Set up LED circles, one strip, and panel together on crinoline and used zip ties to place everything but the panel on crinoline.<br />
*Ran FastLED programs on everything together.<br />
*Pictures posted by others to '''[https://www.facebook.com/story.php?story_fbid=2623825531015894&id=249310478467423 Facebook]''', '''[https://revspace.nl/kiekjes/view/20191206/P1000995.JPG RevSpace kiekjes]''', '''[https://twitter.com/revspacenl/status/1203094244057059329 Twitter]'''.<br />
<br />
[[File:2019-12-06 193923 - DSC06635.jpg|150px]]<br />
[[File:2019-12-06 194452 - DSC06637.jpg|150px]]<br />
[[File:2019-12-06 200017 - DSC06639.jpg|266px]]<br />
[[File:2019-12-06 220618 - DSC06666.jpg|150px]]<br />
[[File:2019-12-06 220632 - DSC06667.jpg|150px]]<br />
[[File:2019-12-06 220710 - DSC06668.jpg|150px]]<br />
[[File:2019-12-06 181804 - MAH06633.mp4|250px]]<br />
[[File:2019-12-06 201308 - MAH06641.mp4|250px]]<br />
[[File:2019-12-06 220455 - MAH06664.mp4|150px]]<br />
[[File:2019-12-06 220715 - MAH06669.mp4|150px]]<br />
<br />
'''2019-12-20'''<br />
<br />
*Rearranged LED circles, mounted some back on with velcro. Mounted panel with velcro.<br />
*Cut two more strips. Attached wires to one and mounted it horizontally at an angle.<br />
<br />
[[File:2019-12-20 214116 - DSC06775.JPG|150px]]<br />
<br />
'''2019-12-22'''<br />
*Folded up bottom hem and put velcro strips all across to partially make a tube along bottom.<br />
[[File:2019-12-22 202231 - DSC06794.jpg|200px]]<br />
[[File:2019-12-22 203241 - DSC06795.jpg|150px]]<br />
<br />
'''2019-12-24'''<br />
*Bought '''[https://www.aliexpress.com/item/32801353259.html LED connectors (20 pairs, 3-pin)]'''.<br />
<br />
'''2019-12-25'''<br />
*Measured and cut panel for black layer of skirt.<br />
<br />
'''2020-01-10'''<br />
*Used fabric glue along bottom hem tube, in between velcro strips.<br />
*Soldered wires to more LED strips.<br />
<br />
[[File:2020-01-10 145148 - DSC08359.jpg|200px]]<br />
[[File:2020-01-10 165310 - DSC08360.jpg|200px]]<br />
[[File:2020-01-10 201701 - DSC08367.jpg|200px]]<br />
[[File:2020-01-10 205118 - DSC08368.jpg|150px]]<br />
[[File:2020-01-10 211717 - DSC08370.jpg|200px]]<br />
[[File:2020-01-10 213030 - DSC08371.jpg|200px]]<br />
[[File:2020-01-10 223034 - DSC08375.jpg|200px]]<br />
[[File:2020-01-10 225615 - DSC08377.jpg|150px]]<br />
<br />
'''2020-01-11'''<br />
*Soldered wires to remaining LED strips.<br />
*Connected everything together, hooked up to an Arduino.<br />
<br />
[[File:2020-01-11 185141 - DSC08388.jpg|200px]]<br />
[[File:2020-01-11 191121 - DSC08389.jpg|150px]]<br />
[[File:2020-01-11 202121 - DSC08392.jpg|200px]]<br />
[[File:2020-01-11 202125 - DSC08393.jpg|200px]]<br />
[[File:2020-01-11 202717 - DSC08394.jpg|200px]]<br />
[[File:2020-01-11 203657 - DSC08396.jpg|200px]]<br />
[[File:2020-01-11 204945 - DSC08397.jpg|200px]]<br />
[[File:2020-01-11 210350 - DSC08401.jpg|200px]]<br />
<br />
[[File:2020-01-11 195305 - MAH08399 3.mp4|150px]]<br />
[[File:2020-01-11 201459 - MAH08404 2.mp4|150px]]<br />
<br />
'''2020-01-17'''<br />
*Added more velcro bits to fix placement of LEDs.<br />
*Experimented with modifying FastLED programs. BPM on circles?<br />
<br />
[[File:2020-01-17 170344 - DSC08486.jpg|200px]]<br />
[[File:2020-01-17 174034 - DSC08489.jpg|200px]]<br />
[[File:2020-01-17 183719 - DSC08492.jpg|150px]]<br />
[[File:2020-01-17 195703 - DSC08503.jpg|150px]]<br />
<br />
[[File:2020-01-17 183546 - MAH08490.mp4|150px]]<br />
[[File:2020-01-17 195232 - MAH08497.mp4|150px]]<br />
<br />
'''2020-01-18 - 2020-02-13'''<br />
<br />
* Experimented more with FastLED programs.<br />
* For custom color palettes, used '''[http://fastled.io/tools/paletteknife/ PaletteKnife bookmarklet]''' to generate codes for palettes. Add to sketch directly, or add to Arduino/libraries/FastLED/colorpalettes.cpp and palette name to colorpalettes.h.<br />
* Cut up plastic bag for panel over skirt, attached with velcro.<br />
* Finished up everything on black outer skirt.<br />
* Bought 2x '''[https://www.lidl-shop.nl/SILVERCREST-Powerbank-10-000-mAh/p100264867 SilverCrest power banks]'''.<br />
<br />
[[File:2020-01-28 202925 - DSC08667.jpg|240px]]<br />
[[File:2020-01-28 205606 - DSC08678.jpg|240px]]<br />
[[File:2020-01-28 205645 - DSC08682.jpg|135px]]<br />
[[File:2020-01-31 201610 - DSC08697.jpg|240px]]<br />
[[File:2020-02-05 222300 - DSC08979.jpg|240px]]<br />
[[File:2020-02-07 214159 - DSC09010.jpg|135px]]<br />
[[File:2020-02-07 214322 - DSC09012.jpg|240px]]<br />
[[File:2020-02-09 184847 - DSC09137.jpg|135px]]<br />
[[File:2020-02-11 182635 - DSC09159.jpg|240px]]<br />
[[File:2020-02-11 185833 - DSC09164.jpg|240px]]<br />
[[File:2020-02-11 201149 - DSC09169.jpg|135px]]<br />
[[File:2020-02-11 233802 - DSC09223.jpg|135px]]<br />
[[File:2020-02-13 170031 - DSC09231.jpg|240px]]<br />
[[File:2020-02-13 195455 - DSC09237.jpg|240px]]<br />
[[File:2020-02-13 201536 - DSC09239.jpg|240px]]<br />
[[File:2020-02-13 204153 - DSC09242.jpg|135px]]<br />
[[File:2020-02-13 205404 - DSC09244.jpg|135px]]<br />
[[File:2020-02-13 213221 - DSC09245.jpg|240px]]<br />
<br />
[[File:2020-02-05 212228 - MAH08977.mkv|250px]]<br />
[[File:2020-02-13 204138 - MAH09241.mkv|150px]]<br />
[[File:2020-02-13 205005 - MAH09243.mkv|150px]]<br />
<br />
===HackerHotel 2020===<br />
<br />
'''2020-02-14 -2020-02-16'''<br />
<br />
* Debut as Princess of Lights went excellent, with paparazzi taking pictures and video all weekend.<br />
* About a dozen wires broke off throughout the weekend and had to be soldered back on, some with reinforcements of zip ties to hold them in place.<br />
* LEDs kept weighing down crinoline, and since the string in the waist came out a long time ago, the velcro was not enough to hold it up. Used an opened paperclip to hold it together, and then a safety pin. Need to add a hook fastener, or use a large safety pin (through grommeted holes) or some other kind of fastener.<br />
<br />
[[File:2020-02-14 215110 - DSC09343.jpg|170px]]<br />
[[File:2020-02-15 004016 - DSC09369.jpg|240px]]<br />
[[File:photo5933744821665640847 - by WheezeNL.jpg|170px]]<br />
<br />
[[File:2020-02-14 205051 - MAH09341.mkv|200px]]<br />
[[File:2020-02-14 205124 - MAH09344.mkv|194px]]<br />
[[File:t_video5933782887504545062 - by WheezeNL.mkv|216px]]<br />
[[File:t_video5931592870795413162 - by Rowan8k.mkv|165px]]<br />
<br />
Modified fastLED sketches that I used at HH2020:<br />
<br />
Arduino 1 (for circles and panel):<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 304<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 15<br />
#define FRAMES_PER_SECOND 120<br />
#define SHIFT_PER_SECOND 15<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { rainbowWithGlitter, bpm, confetti, flowingwater };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
DEFINE_GRADIENT_PALETTE( Aleutian_Clouds_gp ) {<br />
0, 37,184,133,<br />
12, 37,184,133,<br />
25, 46,168, 98,<br />
37, 55,152, 67,<br />
51, 22,104, 77,<br />
63, 5, 66, 88,<br />
76, 1, 31, 49,<br />
88, 1, 19, 32,<br />
100, 1, 2, 11,<br />
112, 1, 3, 9,<br />
125, 1, 6, 20,<br />
137, 1, 10, 20,<br />
149, 1, 2, 11, <br />
161, 1, 19, 32,<br />
173, 1, 31, 49,<br />
185, 5, 66, 88,<br />
200, 22,104, 77,<br />
212, 55,152, 67,<br />
225, 46,168, 98,<br />
237, 37,184,133,<br />
255, 37,184,133,<br />
};<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
void rainbow() <br />
{<br />
// FastLED's built-in rainbow generator<br />
fill_rainbow( leds, NUM_LEDS, gHue, 35);<br />
}<br />
<br />
void rainbowWithGlitter() <br />
{<br />
// built-in FastLED rainbow, plus some random sparkly glitter<br />
rainbow();<br />
addGlitter(80);<br />
}<br />
<br />
void addGlitter( fract8 chanceOfGlitter) <br />
{<br />
if( random8() < chanceOfGlitter) {<br />
leds[ random16(NUM_LEDS) ] += CRGB::White;<br />
}<br />
}<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
int offset = 0;<br />
int framecounter = 0;<br />
void flowingwater()<br />
{<br />
<br />
CRGBPalette16 palette = Aleutian_Clouds_gp;<br />
<br />
for( int i = 0; i < NUM_LEDS; i++) { <br />
leds[i] = ColorFromPalette(palette, ((i+offset)%256), 128);<br />
addGlitter(1);<br />
}<br />
framecounter++;<br />
if (framecounter > FRAMES_PER_SECOND / SHIFT_PER_SECOND) {<br />
offset++;<br />
//offset = offset + random8(4);<br />
if (offset >= 256) {<br />
offset = 0;<br />
}<br />
framecounter = 0;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
Arduino 2 (for strips), from fastLED's demo reel:<br />
<br />
<div style="height: 200px; overflow: scroll;"><br />
<pre><br />
#include <FastLED.h><br />
<br />
FASTLED_USING_NAMESPACE<br />
<br />
#if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)<br />
#warning "Requires FastLED 3.1 or later; check github for latest code."<br />
#endif<br />
<br />
#define DATA_PIN 6<br />
//#define CLK_PIN 4<br />
#define LED_TYPE WS2811<br />
#define COLOR_ORDER GRB<br />
#define NUM_LEDS 147<br />
CRGB leds[NUM_LEDS];<br />
<br />
#define BRIGHTNESS 75<br />
#define FRAMES_PER_SECOND 40<br />
<br />
void setup() {<br />
delay(3000); // 3 second delay for recovery<br />
<br />
// tell FastLED about the LED strip configuration<br />
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
//FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);<br />
<br />
// set master brightness control<br />
FastLED.setBrightness(BRIGHTNESS);<br />
}<br />
<br />
<br />
// List of patterns to cycle through. Each is defined as a separate function below.<br />
typedef void (*SimplePatternList[])();<br />
SimplePatternList gPatterns = { confetti, sinelon, juggle, bpm };<br />
<br />
uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current<br />
uint8_t gHue = 0; // rotating "base color" used by many of the patterns<br />
<br />
void loop()<br />
{<br />
// Call the current pattern function once, updating the 'leds' array<br />
gPatterns[gCurrentPatternNumber]();<br />
<br />
// send the 'leds' array out to the actual LED strip<br />
FastLED.show(); <br />
// insert a delay to keep the framerate modest<br />
FastLED.delay(1000/FRAMES_PER_SECOND); <br />
<br />
// do some periodic updates<br />
EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow<br />
EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically<br />
}<br />
<br />
#define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))<br />
<br />
void nextPattern()<br />
{<br />
// add one to the current pattern number, and wrap around at the end<br />
gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);<br />
}<br />
<br />
<br />
void confetti() <br />
{<br />
// random colored speckles that blink in and fade smoothly<br />
fadeToBlackBy( leds, NUM_LEDS, 10);<br />
int pos = random16(NUM_LEDS);<br />
leds[pos] += CHSV( gHue + random8(64), 200, 255);<br />
}<br />
<br />
void sinelon()<br />
{<br />
// a colored dot sweeping back and forth, with fading trails<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
int pos = beatsin16( 13, 0, NUM_LEDS-1 );<br />
leds[pos] += CHSV( gHue, 255, 192);<br />
}<br />
<br />
void bpm()<br />
{<br />
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)<br />
uint8_t BeatsPerMinute = 62;<br />
CRGBPalette16 palette = PartyColors_p;<br />
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);<br />
for( int i = 0; i < NUM_LEDS; i++) { //9948<br />
leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));<br />
}<br />
}<br />
<br />
void juggle() {<br />
// eight colored dots, weaving in and out of sync with each other<br />
fadeToBlackBy( leds, NUM_LEDS, 20);<br />
byte dothue = 0;<br />
for( int i = 0; i < 8; i++) {<br />
leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);<br />
dothue += 32;<br />
}<br />
}<br />
</pre><br />
</div><br />
<br />
===Further work===<br />
<br />
'''2020-02-21 and 2020-02-25'''<br />
* Removed velcro pads from skirt as they were coming apart and were useless at Hacker Hotel.<br />
* Applied Mod Podge where velcro pads used to be, sealing loose threads.<br />
<br />
[[File:2020-02-25 212846 - DSC09574.jpg|200px]]<br />
[[File:2020-02-21 161944 - DSC09517.jpg|200px]]<br />
<br />
'''2020-03-07'''<br />
* Took apart a couple of cracked LCD screens. Diffusion and reflective films had some trippy effects (that don't show so well in pictures). Plan is to use them as panels for some parts.<br />
<br />
[[File:2020-03-07 175704 - DSC09635.jpg|200px]]<br />
[[File:2020-03-07 180407 - DSC09636.jpg|200px]]<br />
[[File:2020-03-07 180457 - DSC09639.jpg|200px]]</div>
Noor
https://revspace.nl/index.php?title=Induction_looper&diff=25901
Induction looper
2020-09-08T19:47:14Z
<p>Noor: Noor moved page InductionLooper to Induction looper</p>
<hr />
<div>{{Project<br />
|Name=Induction looper<br />
|Picture=IMG_5411.jpeg<br />
|Omschrijving=Induction loop audio on the cheap and easy<br />
|Status=In progress<br />
|Contact=Sebastius<br />
|Contact2=Pwuts<br />
|Contact3=Noor<br />
}}<br />
Plan is to make a really cheap and really portable induction loop system (AFILS) that we can just give to conferences for free. That will enable them to help hearing impaired visitors listen in to talks via the t-coil in their hearing aids. Side quests include using these systems to create secret audio spots for quests and other stuff. <br />
<br />
Original inspiration for the project: '''[https://spectrum.ieee.org/geek-life/hands-on/a-diy-audio-induction-loop-for-the-hard-of-hearing A DIY Audio Induction Loop for the Hard of Hearing - IEEE Spectrum]'''.<br />
<br />
Sebastius designed a little board that allows configurable amount of loops. Prototypes have fixed settings, switches are still underway from China. <br />
<br />
Board files: https://github.com/sebastius/inductionlooper<br />
<br />
First test was very successful!<br />
<br />
[[File:2020-02-20 201448 - DSC09492.jpg|175px]]<br />
[[File:2020-02-20 210041 - DSC09505.jpg|175px]]<br />
[[File:2020-02-21 201935 - DSC09524.jpg|175px]]<br />
[[File:2020-02-21 221248 - DSC09541.jpg|175px]]<br />
[[File:IMG_5411.jpeg|175px]]<br />
[[File:IMG_5413.jpeg|105px]]<br />
[[File:IMG_5414.jpeg|175px]]<br />
[[File:IMG_5415.jpeg|175px]]<br />
<br />
== Loop placement ==<br />
If the signal must be received in a certain space, one can make two loops at any two opposing ends (and maybe one in the middle if the other two are at the short ends) or one loop around the whole room.<br />
To get an idea of signal distribution and decay, use this: https://www.falstad.com/vector3dm/ ("current loop", "loop pair stacked", "rectangular loop").<br />
<br />
People with hearing aids can't be expected to stay stationary which must (I think) be reckoned with for signal distribution and thus placement of the loops.<br />
<br />
=== More loop = better? ===<br />
As for the induction loops themselves: less windings/turns is generally better for signal quality, because impedance at high frequencies increases with n^2, while the required current for equal signal strength only decreases 1/n so effectively the required voltage for the same signal strength (at higher frequencies) increases with n.<br />
This is important because higher frequencies are critical for identifying most consonants.<br />
<br />
[https://www.allaboutcircuits.com/tools/rectangle-loop-inductance-calculator/ Calculator for rectangular loop inductance]<br />
<br />
[https://signet-ac.co.uk/manuals/Signet%20Loop%20Calculator%20V1.3.xls Induction loop system calculator by Signet (xls, works in Libre)]<br />
<br />
[https://signet-ac.co.uk/other/REV%202%20AFILS%20GUIDE%20%20AG.pdf SigNET. (2011). A Guide to Audio-Frequency Induction Loop Systems.]<br />
<br />
[https://signet-ac.co.uk/other/SIGNET_AFILS_GUIDE_DML0540000_rev1%20(1).pdf SigNET. (2014). A Guide to Audio-Frequency Induction Loop Systems [rev1].] (newer version with crappier layout)<br />
<br />
== Electronics ==<br />
For the driving electronics, there are basically two options:<br />
# using a regular audio amplifier and matching the impedance of the adjusted loop so the amplifier doesn't shit itself<br />
# building a transconductance amplifier and optimize the loop for low impedance<br />
<br />
We could also spend €400 on a professional induction loop driver but until now that hasn't come to the table as an option, probably also because this is intended to be accessible so that it can be used at smaller events and spaces as well. Using an expensive amplifier would defeat that purpose entirely.<br />
<br />
=== Using a regular audio amp ===<br />
This is, in terms of electronics, the easiest way. It requires an amplifier (of course) and a loop with 8 ohms of impedance.<br />
<br />
=== Transconductance amplifier ===<br />
This is how it's done professionally. A circuit that takes voltage at the input and outputs a current proportional to the input voltage.<br />
<br />
After some searching it seems Ali doesn't have them, so this is going to be a DIY board.<br />
<br />
Making a simple half-wave transconductance amplifier isn't that complicated.<br />
It's the sensible (additional) requirements that have potential to make it complicated:<br />
* it needs to output both the positive and negative halves of the signal, not just the positive half<br />
* volume control would be nice<br />
* pls no EMPs when turning it on<br />
<br />
But, set aside the above requirements, the minimum can be achieved with an OP-AMP, a FET or BJT and a resistor [http://tinyurl.com/rvxyg4v [example]]. Because of the OP-AMP this is called an Operational Transconductance Amplifier (OTA).<br />
<br />
==== Class A/B ====<br />
Building a Class A, B or AB amplifier is probably the cheapest when it comes to the BOM, but may be more complicated in terms of design and usage conditions.<br />
<br />
The simplest would be a Class A OTA, with one MOSFET or BJT doing the hard work.<br />
To get more than just the half-wave signal, the output signal either has to be shifted so it is enterely positive, or a second, negative power supply rail is needed.<br />
The need for a symmetrical power supply would make this whole thing significantly less accessible or easy to implement.<br />
But shifting the signal upward by one amplitude means that for zero input, there will be a static output, wasting power and creating a static magnetic field.<br />
<br />
[http://tinyurl.com/wek6d2n An example of a relatively simple Class A-ish OTA] (©®Pwuts™2020)<br />
<br />
To solve the dilemma mentioned above, a Class B OTA can be built instead. It uses two transistors, allowing the direction of the current to be reversed and thus eliminating the idle current.<br />
This does need more tuning though, as the (in this case MOSFE)T will go into saturation more quickly than the one in the Class A due to the different configuration. This would cause clipping.<br />
Carefully chosen transistors or high supply voltage can be solutions.<br />
<br />
[http://tinyurl.com/wyxu22b An example of a Class B(oat) OTA]<br />
<br />
As an extra, I experimented a bit with a Class AB configuration and with BJTs instead of MOSFETs (like in the Class B). The class AB config works pretty well, and eliminates the crossover noise the Class B outputs.<br />
Using BJTs has the advantage that the output stage doesn't generate high frequency ripples when oversteered as far as I can tell.<br />
<br />
[http://tinyurl.com/r4yqkkc Class AB with BJTs]<br />
<br />
[http://tinyurl.com/trqrgkt Class AB with MOSFETs]<br />
<br />
'''Currently trying to figure out how to make this more efficient, as about 6Wp (2.12W RMS total) is dissipated in the transistors per Ampère of output current.'''<br />
<br />
[http://tinyurl.com/vyftqdr Class AB with BJTs and better input filtering]<br />
<br />
==== Power OP-AMP ====<br />
Using a power OP-AMP like the LM675 would make this a lot easier, as there is only one active building block for the amplifier (the OP-AMP itself).<br />
To build a transconductance amplifier, the feedback network has to be made so that the feedback to the V- of the OP-AMP is proportional to the current in the load (or in this case, the loop).<br />
This isn't very hard to do and can also easily be fitted with volume control, see the example below.<br />
<br />
OP-AMPs also normally need positive and negative power supply, but their voltage supply is differential so it's also possible to supply it with e.g. +24V (Vcc) and 0V instead of +12V and -12V.<br />
<br />
To make this work, a second supply voltage will be needed, of Vcc/2. This will be used to shift the level of the OP-AMP's input and feedback network, and can also be used to shift the output current back to zero equilibrium (the source needs to be able to handle negative current for this).<br />
<br />
[http://tinyurl.com/qnox77n An example of a power-OP-AMP OTA with volume control and single sided power supply]<br />
<br />
== Testing: Telecoil receiver? ==<br />
With some help of Benadski I ([[User:Pwuts|Pwuts]]) changed a capacitor on the EM sniffer so it's better suited for listening to low frequencies.<br />
As a result I could actually hear the transmitted sound over the EM noise coming from the wall.<br />
It's still not really an induction loop tester though, so I would advise against using it as some kind of reference.</div>
Noor
https://revspace.nl/index.php?title=InductionLooper&diff=25902
InductionLooper
2020-09-08T19:47:14Z
<p>Noor: Noor moved page InductionLooper to Induction looper</p>
<hr />
<div>#REDIRECT [[Induction looper]]</div>
Noor
https://revspace.nl/index.php?title=Induction_looper&diff=25900
Induction looper
2020-09-08T19:46:24Z
<p>Noor: </p>
<hr />
<div>{{Project<br />
|Name=Induction looper<br />
|Picture=IMG_5411.jpeg<br />
|Omschrijving=Induction loop audio on the cheap and easy<br />
|Status=In progress<br />
|Contact=Sebastius<br />
|Contact2=Pwuts<br />
|Contact3=Noor<br />
}}<br />
Plan is to make a really cheap and really portable induction loop system (AFILS) that we can just give to conferences for free. That will enable them to help hearing impaired visitors listen in to talks via the t-coil in their hearing aids. Side quests include using these systems to create secret audio spots for quests and other stuff. <br />
<br />
Original inspiration for the project: '''[https://spectrum.ieee.org/geek-life/hands-on/a-diy-audio-induction-loop-for-the-hard-of-hearing A DIY Audio Induction Loop for the Hard of Hearing - IEEE Spectrum]'''.<br />
<br />
Sebastius designed a little board that allows configurable amount of loops. Prototypes have fixed settings, switches are still underway from China. <br />
<br />
Board files: https://github.com/sebastius/inductionlooper<br />
<br />
First test was very successful!<br />
<br />
[[File:2020-02-20 201448 - DSC09492.jpg|175px]]<br />
[[File:2020-02-20 210041 - DSC09505.jpg|175px]]<br />
[[File:2020-02-21 201935 - DSC09524.jpg|175px]]<br />
[[File:2020-02-21 221248 - DSC09541.jpg|175px]]<br />
[[File:IMG_5411.jpeg|175px]]<br />
[[File:IMG_5413.jpeg|105px]]<br />
[[File:IMG_5414.jpeg|175px]]<br />
[[File:IMG_5415.jpeg|175px]]<br />
<br />
== Loop placement ==<br />
If the signal must be received in a certain space, one can make two loops at any two opposing ends (and maybe one in the middle if the other two are at the short ends) or one loop around the whole room.<br />
To get an idea of signal distribution and decay, use this: https://www.falstad.com/vector3dm/ ("current loop", "loop pair stacked", "rectangular loop").<br />
<br />
People with hearing aids can't be expected to stay stationary which must (I think) be reckoned with for signal distribution and thus placement of the loops.<br />
<br />
=== More loop = better? ===<br />
As for the induction loops themselves: less windings/turns is generally better for signal quality, because impedance at high frequencies increases with n^2, while the required current for equal signal strength only decreases 1/n so effectively the required voltage for the same signal strength (at higher frequencies) increases with n.<br />
This is important because higher frequencies are critical for identifying most consonants.<br />
<br />
[https://www.allaboutcircuits.com/tools/rectangle-loop-inductance-calculator/ Calculator for rectangular loop inductance]<br />
<br />
[https://signet-ac.co.uk/manuals/Signet%20Loop%20Calculator%20V1.3.xls Induction loop system calculator by Signet (xls, works in Libre)]<br />
<br />
[https://signet-ac.co.uk/other/REV%202%20AFILS%20GUIDE%20%20AG.pdf SigNET. (2011). A Guide to Audio-Frequency Induction Loop Systems.]<br />
<br />
[https://signet-ac.co.uk/other/SIGNET_AFILS_GUIDE_DML0540000_rev1%20(1).pdf SigNET. (2014). A Guide to Audio-Frequency Induction Loop Systems [rev1].] (newer version with crappier layout)<br />
<br />
== Electronics ==<br />
For the driving electronics, there are basically two options:<br />
# using a regular audio amplifier and matching the impedance of the adjusted loop so the amplifier doesn't shit itself<br />
# building a transconductance amplifier and optimize the loop for low impedance<br />
<br />
We could also spend €400 on a professional induction loop driver but until now that hasn't come to the table as an option, probably also because this is intended to be accessible so that it can be used at smaller events and spaces as well. Using an expensive amplifier would defeat that purpose entirely.<br />
<br />
=== Using a regular audio amp ===<br />
This is, in terms of electronics, the easiest way. It requires an amplifier (of course) and a loop with 8 ohms of impedance.<br />
<br />
=== Transconductance amplifier ===<br />
This is how it's done professionally. A circuit that takes voltage at the input and outputs a current proportional to the input voltage.<br />
<br />
After some searching it seems Ali doesn't have them, so this is going to be a DIY board.<br />
<br />
Making a simple half-wave transconductance amplifier isn't that complicated.<br />
It's the sensible (additional) requirements that have potential to make it complicated:<br />
* it needs to output both the positive and negative halves of the signal, not just the positive half<br />
* volume control would be nice<br />
* pls no EMPs when turning it on<br />
<br />
But, set aside the above requirements, the minimum can be achieved with an OP-AMP, a FET or BJT and a resistor [http://tinyurl.com/rvxyg4v [example]]. Because of the OP-AMP this is called an Operational Transconductance Amplifier (OTA).<br />
<br />
==== Class A/B ====<br />
Building a Class A, B or AB amplifier is probably the cheapest when it comes to the BOM, but may be more complicated in terms of design and usage conditions.<br />
<br />
The simplest would be a Class A OTA, with one MOSFET or BJT doing the hard work.<br />
To get more than just the half-wave signal, the output signal either has to be shifted so it is enterely positive, or a second, negative power supply rail is needed.<br />
The need for a symmetrical power supply would make this whole thing significantly less accessible or easy to implement.<br />
But shifting the signal upward by one amplitude means that for zero input, there will be a static output, wasting power and creating a static magnetic field.<br />
<br />
[http://tinyurl.com/wek6d2n An example of a relatively simple Class A-ish OTA] (©®Pwuts™2020)<br />
<br />
To solve the dilemma mentioned above, a Class B OTA can be built instead. It uses two transistors, allowing the direction of the current to be reversed and thus eliminating the idle current.<br />
This does need more tuning though, as the (in this case MOSFE)T will go into saturation more quickly than the one in the Class A due to the different configuration. This would cause clipping.<br />
Carefully chosen transistors or high supply voltage can be solutions.<br />
<br />
[http://tinyurl.com/wyxu22b An example of a Class B(oat) OTA]<br />
<br />
As an extra, I experimented a bit with a Class AB configuration and with BJTs instead of MOSFETs (like in the Class B). The class AB config works pretty well, and eliminates the crossover noise the Class B outputs.<br />
Using BJTs has the advantage that the output stage doesn't generate high frequency ripples when oversteered as far as I can tell.<br />
<br />
[http://tinyurl.com/r4yqkkc Class AB with BJTs]<br />
<br />
[http://tinyurl.com/trqrgkt Class AB with MOSFETs]<br />
<br />
'''Currently trying to figure out how to make this more efficient, as about 6Wp (2.12W RMS total) is dissipated in the transistors per Ampère of output current.'''<br />
<br />
[http://tinyurl.com/vyftqdr Class AB with BJTs and better input filtering]<br />
<br />
==== Power OP-AMP ====<br />
Using a power OP-AMP like the LM675 would make this a lot easier, as there is only one active building block for the amplifier (the OP-AMP itself).<br />
To build a transconductance amplifier, the feedback network has to be made so that the feedback to the V- of the OP-AMP is proportional to the current in the load (or in this case, the loop).<br />
This isn't very hard to do and can also easily be fitted with volume control, see the example below.<br />
<br />
OP-AMPs also normally need positive and negative power supply, but their voltage supply is differential so it's also possible to supply it with e.g. +24V (Vcc) and 0V instead of +12V and -12V.<br />
<br />
To make this work, a second supply voltage will be needed, of Vcc/2. This will be used to shift the level of the OP-AMP's input and feedback network, and can also be used to shift the output current back to zero equilibrium (the source needs to be able to handle negative current for this).<br />
<br />
[http://tinyurl.com/qnox77n An example of a power-OP-AMP OTA with volume control and single sided power supply]<br />
<br />
== Testing: Telecoil receiver? ==<br />
With some help of Benadski I ([[User:Pwuts|Pwuts]]) changed a capacitor on the EM sniffer so it's better suited for listening to low frequencies.<br />
As a result I could actually hear the transmitted sound over the EM noise coming from the wall.<br />
It's still not really an induction loop tester though, so I would advise against using it as some kind of reference.</div>
Noor
https://revspace.nl/index.php?title=Blahaj_counter&diff=25899
Blahaj counter
2020-09-08T19:45:09Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Blahaj counter<br />
|Status=Abandoned<br />
|Picture=<br />
|Contact=Noor<br />
}}<br />
<br />
Want to laser-cut wood and/or plastic in the shape of a Blahaj and make it a counter for Blahajs in stock at IKEA Delft.<br />
<br />
MQTT: /revspace/blahaj (by jelle)<br />
<br />
*Artwork from '''[https://tlgrm.eu/stickers/Blahaj Blahaj sticker pack]''' for Telegram. Slot-machine counters in each eye?<br />
<br />
*'''[https://telegramchannels.me/storage/stickers/blahaj/big_blahaj_13.png Blahajs hunched up over computer]''', with screen as counter?<br />
<br />
Future idea: map of Netherlands with Blahaj (and baby Blahaj) counters for every IKEA in country?</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25896
Snuffelaar
2020-09-08T18:24:32Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm PCB header als Grove), bv de BME280.<br />
<br />
Git repo: https://github.com/sebastius/airquality<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit te doen: regel dan vooral het lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! nickname !! hackerspace !! aantal x full kit<br />
|-<br />
| Sebastius|| RevSpace || 4<br />
|-<br />
| Polyfloyd|| Bitlair/RevSpace/Hackalot || 2<br />
|-<br />
| Krampus (via Polyfloyd) || Bitlair/RevSpace/Hackalot || 1<br />
|-<br />
| zawadi|| RevSpace || 1<br />
|-<br />
| [sim]|| TkkrLab/Badge.team|| 1<br />
|-<br />
| buZz|| NURDspace || 2<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25894
Snuffelaar
2020-09-08T18:11:41Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van AliExpress met i2c aansluiting (zowel 2.54mm pcb header als Grove), bv de BME280.<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/Douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit te doen: regel dan vooral het lekker zelf. ;)<br />
<br />
Semi-bindend. Als je nog niet zeker bent zet jezelf er dan niet op. Ik ga namelijk de begroting aanpassen op basis van aantallen. Maar je bent nu nog niet tot aankoop 'verplicht'.<br />
<br />
In de 'kit' komt dan: PCB, frontje, standoffs, ESP32 bordje, MHZ19 (CO2) sensor, PMS7003 (stof) sensor, BME280 (temperatuur, luchtvochtigheid en druk) sensor. Misschien nog een DS18b20 erbij (temperatuur). Geen LORA module. Die kun je zelf bestellen. <br />
<br />
{| class="wikitable"<br />
|-<br />
! nickname !! hackerspace !! aantal x full kit<br />
|-<br />
| Sebastius|| revspace || 4<br />
|-<br />
| Polyfloyd|| bitlair/revspace/hackalot || 2<br />
|-<br />
| Krampus (via Polyfloyd) || bitlair/revspace/hackalot || 1<br />
|-<br />
| zawadi|| revspace || 1<br />
|-<br />
| [sim]|| tkkrlab/badgeteam|| 1<br />
|-<br />
| buZz|| NURDspace || 2<br />
|-<br />
| Example || Example|| Example<br />
|}<br />
<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Snuffelaar&diff=25883
Snuffelaar
2020-09-08T17:43:47Z
<p>Noor: </p>
<hr />
<div> {{Project<br />
|Name=Snuffelaar<br />
|Status=In progress<br />
|Picture=image.png<br />
|Contact=Sebastius<br />
}}<br />
<br />
De Snuffelaar is een ESP32 gestuurd sensorbordje om de luchtkwaliteit te meten. Voorzien zijn een CO2 en fijnstof sensor, en er is ruimte voor een DS18b20 temperatuursensor, en sensorbordjes van Aliexpress met i2c aansluiting (zowel 2.54mm pcb header als Grove), bv de BME280.<br />
<br />
=Animocheck=<br />
Wil je dit ook? Kosten gaan grofweg 60 euro per stuk bedragen incl de BTW/Douane. Kan iets meer zijn, kan ook minder worden, ik weet het niet. Ben je niet bereid dit te doen: regel dan vooral het lekker zelf ;)<br />
{| class="wikitable"<br />
|-<br />
! nickname !! aantal x full kit<br />
|-<br />
| Sebastius|| 4<br />
|-<br />
| Example || Example<br />
|}<br />
<br />
<br />
[[File:image.png|400px]]</div>
Noor
https://revspace.nl/index.php?title=Challenge_coin&diff=25880
Challenge coin
2020-09-08T17:02:33Z
<p>Noor: </p>
<hr />
<div>[[File:ezgif-7-b5bdbc1f2f0c.gif|400px|frame|right|Mooier dan dit wordt het niet!]]<br />
<br />
== Preorder ==<br />
<br />
Voor wie al lang denkt "shut up and take my money", stuur een mailtje aan '''juerd@revspace.nl''' om er eentje te bestellen. Meerdere mag ook, zeg maar hoe veel. First come, first served, op = op, etc.<br />
<br />
Zet in je mailtje of je betaalt met een IBAN-overschrijving of met je RevBank-tegoed.<br />
<br />
{|class=wikitable<br />
! Optie !! Prijs per stuk<br />
|-<br />
| Preorder, levering in deelnemer-SAMLA<br />
|align=right| 5,00 €<br />
|-<br />
| Preorder, levering in een envelop aan een adres binnen Europa<br />
|align=right| 6,00 €<br />
|-<br />
| Kopen bij RevSpace<br />
|align=right| 5,00 €<br />
|-<br />
| Deluxe-uitvoering<br />
|align=right| 42,00 €<br />
|}<br />
<br />
Ze gaan waarschijnlijk half oktober op de post.<br />
<br />
== Verkooppraatje ==<br />
<br />
tl;dr: Koop onze collectable "munt" voor 5 euro.<br />
<br />
Qua economie klopt het ontwerp van onze wereld niet. Materialen uit de aarde trekken is gratis, afval op de planeet dumpen is ook gratis, en deze combinatie heet de lineaire economie. De kosten van vervuiling en andere milieuschade zitten bijna nooit verwerkt in de prijs die je betaalt voor een product. Doordat het allemaal zo goedkoop is, kopen we allerlei dingen waarvan we weten dat het niet lang meegaat. We leggen ons bij voorbaat erbij neer dat we iets een paar keer gebruiken, en dan weggooien. "Single use" is een extreme variant hiervan: er wordt iets geproduceerd, vervoerd, en verkocht, om het na slechts 1x gebruiken, weer af te voeren. Met een beetje geluk wordt het gerecycled, maar met veel producten kan dat niet of nauwelijks.<br />
<br />
En dan is er de categorie "zero use". Producten die geen enkel praktisch nut hebben, die worden geproduceerd, vervoerd, en verkocht, om daarna helemaal nooit te gebruiken. Omdat delen door nul niet gaat, is het lastig om deze producten op waarde te schatten. Het is de kern van de meeste verzamelingen in privébezit: hebben om het hebben. Om de collectie compleet te maken, of gewoon omdat het kan. Schaarste maakt het waardevoller, juist bij dingen die technisch gezien helemaal niet functioneel zijn. Soms is er toch nog een beperkt nut te vinden in de veronderstelde schoonheid van het object, en dan heet het kunst.<br />
<br />
Maar het mag, want zoiets koop je niet om weg te gooien. Je hoeft daarom dus ook niet na te denken over of het recyclebaar is. Zodra de voorraad op is, of zodra de circulaire economie er eindelijk is, wordt de waarde vanzelf oneindig (of nul, afhankelijk van je perspectief).<br />
<br />
Hack42 heeft met hun [https://hack42.nl/wiki/Favicoin Favicoin] een trend gezet met een rond, plat, zero-use-object waar echt alleen met buitengewone fantasie een zinnig nut voor te verzinnen valt. Het is een soort flippo, maar dan anders, dus wij konden natuurlijk niet achterblijven. Zij lieten een schijf met elementen in de kleur van zilver produceren, dus wij hebben gekozen voor iets met een afwerking van echt goud. Verder is onze "challenge coin" een aanfluiting, want het ding is dunner en weegt bijna niks. Dat maakt het wel weer makkelijker om 'm altijd bij je te dragen!<br />
<br />
Voor slechts 5 euro, en ja, daar verdient Stichting Revelation Space heel goed aan, kun jij de trotse eigenaar worden van dit collector's item! De oplage is beperkt, want alle aardse materialen zijn nu eenmaal schaars.<br />
<br />
De challenge PCB is verkrijgbaar via RevBank, maar je kunt ook een mailtje sturen met je adres, dan steken we 'm in een envelop.<br />
<br />
<br />
P.S. De Deluxe versie kost 42 euro. Deze verhoudt zich tot de standaarduitvoering als de Deluxe Favicoin tot de standaard Favicoin, en is alleen beschikbaar voor deelnemers van Hack42. (NB: Uiteraard mogen zij ook gewoon de standaarduitvoering kopen.)<br />
<br />
== Specificaties ==<br />
<br />
(Onder voorbehoud van stomme fouten en verkeerde aannames.)<br />
<br />
{|class=wikitable<br />
| Diameter || 50 mm<br />
|-<br />
| Dikte || 2 mm<br />
|-<br />
| Gewicht || 8 g (op Aarde)<br />
|-<br />
| Materiaal kern || Vezelversterkt epoxyhars (FR4)<br />
|-<br />
| Materiaal decoratie || Koper, nikkel, goud, polymeerlak, epoxy-inkt<br />
|-<br />
| Kleur || Donkergroen, lichtgroen, goud, wit<br />
<br />
|-<br />
| Productietechniek || o.a. frezen, etsen, ENIG, zeefdruk<br />
|-<br />
| Heraldische omschrijving voorzijde || In sinopel, centraal een menselijke hand van verdektmetallisch sinopel vasthoudend een crappy soldeerbout van goud en zilver, met boven en onder een geschreven motto van goud.<br />
|-<br />
| Heraldische omschrijving achterzijde || In verdektmetallisch sinopel, in een cirkel van zilver, links een through-hole LED van goud, rechts de naam in zilver, onder beide in hoofdletters een onderschrift van goud.<br />
|-<br />
| Kleinste details || Zo klein dat de fabrikant geen garantie durft te geven dat 't allemaal precies klopt. :)<br />
|}<br />
<br />
NB: Waar "zilver" staat, wordt "wit" bedoeld, maar het goud is wel echt (en echt flinterdun ;).</div>
Noor
https://revspace.nl/index.php?title=Challenge_coin&diff=25879
Challenge coin
2020-09-08T15:24:39Z
<p>Noor: </p>
<hr />
<div>[[File:ezgif-7-b5bdbc1f2f0c.gif|400px|frame|right|Mooier dan dit wordt het niet!]]<br />
<br />
== Preorder ==<br />
<br />
Voor wie al lang denkt "shut up and take my money", stuur een mailtje aan '''juerd@revspace.nl''' om er eentje te bestellen. Meerdere mag ook, zeg maar hoe veel. First come, first served, op = op, etc.<br />
<br />
Zet in je mailtje of je betaalt met een IBAN-overschrijving of met je RevBank-tegoed.<br />
<br />
{|class=wikitable<br />
! Optie !! Prijs per stuk<br />
|-<br />
| Preorder, levering in deelnemer-SAMLA<br />
|align=right| 5,00 €<br />
|-<br />
| Preorder, levering in een envelop aan een adres binnen Europa<br />
|align=right| 6,00 €<br />
|-<br />
| Kopen bij RevSpace<br />
|align=right| 5,00 €<br />
|-<br />
| Deluxe-uitvoering<br />
|align=right| 42,00 €<br />
|}<br />
<br />
Ze gaan waarschijnlijk half oktober op de post.<br />
<br />
== Verkooppraatje ==<br />
<br />
tl;dr: Koop onze collectable "munt" voor 5 euro.<br />
<br />
Qua economie klopt het ontwerp van onze wereld niet. Materialen uit de aarde trekken is gratis, afval op de planeet dumpen is ook gratis, en deze combinatie heet de lineaire economie. De kosten van vervuiling en andere milieuschade zitten bijna nooit verwerkt in de prijs die je betaalt voor een product. Doordat het allemaal zo goedkoop is, kopen we allerlei dingen waarvan we weten dat het niet lang meegaat. We leggen ons bij voorbaat erbij neer dat we iets een paar keer gebruiken, en dan weggooien. "Single use" is een extreme variant hiervan: er wordt iets geproduceerd, vervoerd, en verkocht, om het na slechts 1x gebruiken, weer af te voeren. Met een beetje geluk wordt het gerecycled, maar met veel producten kan dat niet of nauwelijks.<br />
<br />
En dan is er de categorie "zero use". Producten die geen enkel praktisch nut hebben, die worden geproduceerd, vervoerd, en verkocht, om daarna helemaal nooit te gebruiken. Omdat delen door nul niet gaat, is het lastig om deze producten op waarde te schatten. Het is de kern van de meeste verzamelingen in privébezit: hebben om het hebben. Om de collectie compleet te maken, of gewoon omdat het kan. Schaarste maakt het waardevoller, juist bij dingen die technisch gezien helemaal niet functioneel zijn. Soms is er toch nog een beperkt nut te vinden in de veronderstelde schoonheid van het object, en dan heet het kunst.<br />
<br />
Maar het mag, want zoiets koop je niet om weg te gooien. Je hoeft daarom dus ook niet na te denken over of het recyclebaar is. Zodra de voorraad op is, of zodra de circulaire economie er eindelijk is, wordt de waarde vanzelf oneindig (of nul, afhankelijk van je perspectief).<br />
<br />
Hack42 heeft met hun [https://hack42.nl/wiki/Favicoin Favicoin] een trend gezet met een rond, plat, zero-use-object waar echt alleen met buitengewone fantasie een zinnig nut voor te verzinnen valt. Het is een soort flippo, maar dan anders, dus wij konden natuurlijk niet achterblijven. Zij lieten een schijf met elementen in de kleur van zilver produceren, dus wij hebben gekozen voor iets met een afwerking van echt goud. Verder is onze "challenge coin" een aanfluiting, want het ding is dunner en weegt bijna niks. Dat maakt het wel weer makkelijker om 'm altijd bij je te dragen!<br />
<br />
Voor slechts 5 euro, en ja, daar verdient Stichting Revelation Space heel goed aan, kun jij de trotse eigenaar worden van dit collector's item! De oplage is beperkt, want alle aardse materialen zijn nu eenmaal schaars.<br />
<br />
De challenge PCB is verkrijgbaar via RevBank, maar je kunt ook een mailtje sturen met je adres, dan steken we 'm in een envelop.<br />
<br />
<br />
P.S. De Deluxe versie kost 42 euro. Deze verhoudt zich tot de standaarduitvoering als de Deluxe Favicoin tot de standaard Favicoin, en is alleen beschikbaar voor deelnemers van Hack42. (NB: Uiteraard mogen zij ook gewoon de standaarduitvoering kopen.)<br />
<br />
== Specificaties ==<br />
<br />
(Onder voorbehoud van stomme fouten en verkeerde aannames.)<br />
<br />
{|class=wikitable<br />
| Diameter || 50 mm<br />
|-<br />
| Dikte || 2 mm<br />
|-<br />
| Gewicht || 8 g (op Aarde)<br />
|-<br />
| Materiaal kern || Vezelversterkt epoxyhars (FR4)<br />
|-<br />
| Materiaal decoratie || Koper, nikkel, goud, polymeerlak, epoxy-inkt<br />
|-<br />
| Kleur || Donkergroen, lichtgroen, goud, wit<br />
<br />
|-<br />
| Productietechniek || o.a. frezen, etsen, ENIG, zeefdruk<br />
|-<br />
| Heraldische omschrijving voorzijde || In sinopel, centraal een menselijke hand van verdektmetallisch sinopel vasthoudend een crappy soldeerbout van goud en zilver, met boven en onder een geschreven motto van goud.<br />
|-<br />
| Heraldische omschrijving achterzijde || In verdektmetallisch sinopel, in een cirkel van zilver, links een through-hole LED van goud, rechts de naam in zilver, onder beide in hoofdletters een onderschrift van goud.<br />
|-<br />
| Kleinste details || Zo klein dat de fabrikant geen garantie durft te geven dat 't allemaal precies klopt :)<br />
|}<br />
<br />
NB: Waar "zilver" staat, wordt "wit" bedoeld, maar het goud is wel echt (en echt flinterdun ;).</div>
Noor
https://revspace.nl/index.php?title=RevBank&diff=25876
RevBank
2020-09-08T14:32:06Z
<p>Noor: Noor moved page Revbank to RevBank</p>
<hr />
<div><div style="margin-left: 1em; float: right; border: 1px solid gray; padding: 1ex; width: 40ex"><br />
"Banking in the Netherlands does correspond to Dutch stereotypes — which is a great thing. You can always split a check in a restaurant and they have some slick mobile apps to keep track of who paid for what during trips and outings that also provide ways for everyone to be reimbursed easily. So it’s no surprise to learn that a Dutch hackerspace has developed their own accounting and funds transfer system to help members pay and get paid. And that would be RevBank.<br />
<br />
The public-facing part of RevBank is a terminal sitting right next to the fridge and the snacks, with a barcode scanner attached so you can scan your item, then scan or type your name, and you’re done. The source is [https://github.com/revspace/revbank here]. It’s written in .. uhm, perl. Have fun with that.<br />
<br />
I gave it a whirl while I was there, and was able to top up my account with a bank transfer (this statement makes sense in Europe — you can also do cash instead). And then I used it to pay for all my snacks that day. Worked great, quite efficient."<br />
<br />
&mdash; '''[https://www.nycresistor.com/2019/01/12/hackerspace-envy-a-visit-to-revspace-in-the-hague/ NYCResistor - Hackerspace Envy - A Visit to RevSpace in The Hague]'''<br />
</div><br />
<br />
== Source ==<br />
<br />
https://github.com/revspace/revbank<br />
<br />
== Implementatie bij RevSpace ==<br />
<br />
RevBank staat op de server <tt>gateway</tt> onder de gebruiker <tt>bar</tt> (we hadden ooit een bar).<br />
<br />
Er draaien 2 permanente RevBank-instances:<br />
* De oude seriële terminal, die met een aantal interessante hacks met GNU Screen een seriële barcodescanner als tweede input heeft.<br />
* De laptop in de keuken, met USB-barcodescanner. Deze verbindt via mosh.<br />
<br />
== Gebruikers ==<br />
<br />
* Sinds 2011: RevSpace<br />
* Sinds 2013: TechInc<br />
* Sinds 2014: Bitlair<br />
* Sinds 2014: eth0<br />
* Sinds 2015: Pixelbar<br />
* Sinds 2017: Hackalot<br />
* Sinds 2018: Hackerspace Nijmegen<br />
* Sinds 2019: Frack<br />
* Sinds 2019: Coredump<br />
* Sinds 2020: TDvenlo<br />
<br />
Voormalig gebruikers: Hack42, Sk1llz, Hackerspace Gent.<br />
<br />
== FAQ ==<br />
<br />
; Is RevBank stabiel?<br />
: In de betekenis van "werkt betrouwbaar": ja, we gebruiken het nu sinds 2011. In de betekenis van "wijzigt niet": nee, er wordt nog steeds wel eens aan gesleuteld. Daarbij wordt zo veel mogelijk geprobeerd om de commandostructuur gelijk te houden omdat veel gebruikers het systeem gebruiken zonder daar nog bij na te denken.<br />
; Is een CLI niet te moeilijk voor newbies?<br />
: Nee, zelfs absolute beginners leren hier binnen enkele minuten mee werken; we hebben hier nu vele jaren ervaring mee. Een GUI is soms makkelijker te verkennen, maar kan ook overweldigend werken doordat veel mogelijkheden tegelijk aangeboden worden.<br />
; Maar touchscreens!!!1<br />
: Touchscreens zijn bij hackerspaces in het algemeen "apparaat zoekt project". Als je een bank-GUI maakt ligt een touchscreen voor de hand, maar RevBank is nu eenmaal CLI-gebaseerd.<br />
; Wat heb je nodig om RevBank te kunnen draaien?<br />
: Een Linuxcomputer met toetsenbord en scherm, liefst ook met een barcodescanner. Qua software heb je Perl en de module Term::ReadLine::Gnu (Debian-package libterm-readline-gnu-perl) nodig, en liefst ook Vim en BusyBox.<br />
; Kun je meerdere RevBanks tegelijk draaien op dezelfde databestanden?<br />
: Ja, RevBank leest z'n bestanden steeds opnieuw en laat caching helemaal aan de kernel over in plaats van dat zelf te doen, en schrijft nieuwe dingen met een atomische rename voor consistentie. Er zit (nog?) geen locking in, dus er zijn zeker theoretische race conditions (laatst uitgevoerde actie overschrijft iets eerdere actie), maar in de praktijk zal het extreem onwaarschijnlijk zijn dat je daar last van hebt. Wel zijn momenteel de transaction ID's niet gegarandeerd uniek als twee transacties binnen dezelfde seconde worden gedaan, maar ook dat levert waarschijnlijk niet echt problemen op in de realistische praktijk.<br />
; Is RevBank veilig?<br />
: Nee, RevBank is volledig gebaseerd op vertrouwen. De revbank-terminal staat in het algemeen in de buurt van de voorraden en een open geldkistje, en is daarom alleen geschikt als je je bezoekers kunt vertrouwen. Je kunt afrekenen op naam van iemand anders ("Kun je voor mij een cola meenemen?"), geld van andere gebruikers afnemen, en de databestanden verpesten. Beheerders wordt geadviseerd veel backups te maken.<br />
; Ondersteunt RevBank ook korting voor leden/deelnemers?<br />
: Nee, want de maker vindt dat stom. Korting voor leden klinkt lief, maar is eigenlijk gewoon een middelvinger naar incidentele bezoekers, als de meeste transacties door leden/deelnemers worden gedaan. <br />
; Waarom...<br />
:; Waarom gebruikt RevBank geen echte database?<br />
:: De data wordt opgeslagen in tekstbestanden omdat je die kunt gebruiken met tools zoals git en diff. Ze zijn ontzettend simpel, en daardoor wanneer dat nodig blijkt ook gewoon met een teksteditor te bewerken. Het scheelt ook een dependency, maar dat is bijzaak.<br />
:; Waarom eerst de producten en dan je naam, in plaats van eerst je naam en dan de producten?<br />
:: Omdat je dan zou moeten aangeven wanneer je klaar bent met je lijst producten. Doordat RevBank onderscheid maakt tussen product-id's en accountnamen, kan de accountnaam worden gebruikt als indicatie dat je klaar bent met de producten.<br />
:; Waarom is het <tt>take naam naam naam 4.20</tt> en niet <tt>take 4.20 naam naam naam</tt>?<br />
:: Om dezelfde reden, maar dan omgekeerd: omdat je dan zou moeten aangeven dat je klaar bent met de namen. Door eerst de namen te doen, en dan pas het bedrag, kan het bedrag worden gebruikt als herkenning van het einde van de namen.<br />
:; Waarom is het <tt>give Juerd 4.20</tt> en niet <tt>give 4.20 Juerd</tt>?<br />
:: Vanwege consistentie met <tt>take</tt>.<br />
:; Waarom zijn de commando's dan niet <tt>take-from</tt> en <tt>give-to</tt>?<br />
:: Dat zou wel duidelijker zijn, maar ook meer typwerk.<br />
:; Waarom mag ik geen negatieve bedragen gebruiken?<br />
:: Het is niet nodig, en zou verwarrend kunnen zijn.<br />
:; Waarom wordt "?" niet geaccepteerd als alternatief voor "help"?<br />
:: Veel systemen die "?" snappen, ondersteunen dat bij élke vraag. Als je dat gewend bent, en merkt dat "?" werkt in RevBank, denk je waarschijnlijk ook dat "?" je gaat uitleggen wat er bedoeld wordt met bijvoorbeeld de vraag "Beneficiary:" van het commando "give", maar zo geavanceerd is het hulpsysteem niet.<br />
:; Waarom zitten er foeilelijke shell oneliners in de plugin "users"?<br />
:: Dat was makkelijker en leuker.<br />
; Hoe...<br />
:; Hoe krijg ik een lijstje van alle commando's?<br />
:: Met het commando "help".<br />
:; Hoe maak ik een nieuw account?<br />
:: Met het commando "adduser".<br />
:; Hoe reken ik iets af?<br />
:: Scan eerst de producten, typ/scan daarna je accountnaam.<br />
:; Hoe reken ik iets af op andermans rekening?<br />
:: Door de naam van diegene te typen/scannen in plaats van die van jezelf.<br />
:; Hoe reken ik meerdere van hetzelfde af?<br />
:: Door '''voor''' het product "2x" of "2*" te typen, of '''na''' het product "x2" of "*2". Er mag eventueel een spatie tussen het vermenigvuldigingsteken en het aantal.<br />
:; Hoe bekijk ik mijn saldo van mijn account?<br />
:: Typ/scan je accountnaam, zonder eerst producten te scannen. Je krijgt dan je laatste transacties en je saldo.<br />
:; Hoe bekijk ik mijn laatste transacties?<br />
:: Typ/scan je accountnaam, zonder eerst producten te scannen. Je krijgt dan je laatste transacties en je saldo.<br />
:; Hoe kijk ik verder terug dan bovenstaande me laat zien?<br />
:: Dat kan niet via RevBank zelf. Je kunt in het logbestand <tt>.revbank.log</tt> kijken. Vraag eventueel iemand die Linux snapt om hulp.<br />
:; Hoe stort ik meer geld op mijn account?<br />
:: Met het commando "deposit".<br />
:; Hoe neem ik geld op van mijn account?<br />
:: Door het bedrag in te typen.<br />
:; Hoe geef ik geld aan een andere gebruiker?<br />
:: Met het commando "give".<br />
:; Hoe jat ik geld van een andere gebruiker?<br />
:: Met het commando "steal" (ook bekend als "take").<br />
:; Hoe deel ik de rekening van het eten dat ik in de supermarkt heb ingekocht voor een groep?<br />
:: Ook met het commando "take". Om de [[Koken|kookbonus]] toe te passen, type je "kookbonus" tussen de take en je accountnaam.<br />
:; Hoe deel ik de kosten van een pizza?<br />
:: Door na het scannen van de pizza, het commando "split" te typen.<br />
:; Hoe herstel ik een foutje als ik nog niks heb afgerekend?<br />
:: Met het commando "abort" begin je opnieuw met een schone lei. Dit commando werkt overal in RevBank, ongeacht de vraag die je krijgt.<br />
:; Hoe herstel ik een foutje nadat ik heb afgerekend?<br />
:: Door een tegenovergestelde transactie te doen, die je saldo weer fixt. Het is handig als je in de omschrijving zet dat het bedoeld is als herstel. Om geld toe te voegen aan je account, gebruik je "deposit" met als methode "other" om een beschrijvende tekst te kunnen invoeren. Om geld van je account te halen, gebruik je "unlisted". Als de fout nog in beeld staat, kun je ook een tegengestelde transactie krijgen met het commando "undo" in combinatie met het transactie-ID van de ongewenste transactie.<br />
:; Hoe bied ik een product te koop aan in de ''market''?<br />
:: Verzin een product-ID en check of die nog niet in RevBank wordt gebruikt. Plak op alle producten een barcode met dat ID. Met het commando "market" beland je in '''vim'''. Daar kun je een regel aan het tekstbestand toevoegen. Heb je geen idee hoe vim werkt, vraag dan om hulp. Let op: de prijs van een product in de market is de optelsom van het bedrag dat naar de verkoper gaat, en het bedrag dat naar de space gaat. Beide componenten van de prijs zijn verplicht hoger dan 0.<br />
:; Hoe sluit ik RevBank af?<br />
:: RevBank heeft daar opzettelijk geen commando voor, omdat de primaire betaalterminal altijd moet blijven werken. Als je een extra revbank-proces hebt gestart, kun je 'm veilig killen; als je via een shell werkt kom je terug in je shell door RevBank te stoppen met ctrl+Z; dat geeft een job id en die kun je met bijv. <tt>kill %1</tt> afmaken.<br />
<br />
== Geschiedenis ==<br />
<br />
* eind 2009: RevSpace wordt opgericht<br />
* begin 2010: Het wordt gebruikelijk om vooraf te betalen en op een briefje je tegoed bij te houden<br />
* half 2010: De briefjes worden vervangen door een terminal met Vim. Mensen snappen vim niet en lezen de tekstregels scheef, en verpesten continu het bestand.<br />
* eind 2010: Toch maar nano, maar mensen lezen het nog steeds scheef en passen regelmatig het verkeerde saldo aan.<br />
* ergens begin 2011: '''Versie 1:''' een perlscriptje van ca. 300 regels. De interface was simpel: typ het bedrag, typ dan je naam.<br />
* 2 uur later: Het besef dat prijzen opzoeken in een tabel ook overgelaten kan worden aan een computer. Een productentabel en barcodescanner komen erbij, en voortaan wordt het: scan producten, typ/scan je naam.<br />
* de dagen erna: Op verzoek van gebruikers komen er features bij zoals geld geven aan iemand anders.<br />
* april 2011: De source komt eindelijk in git dus voor de rest van deze opsomming hoeven de datums niet gegokt te worden :)<br />
* juni 2011: De prompt wordt nu afgehandeld door de ''readline'' library, met tab-completion.<br />
* februari 2013: '''Versie 2''': RevBank is grotendeels herschreven en heeft nu een modulaire structuur met plugins.<br />
* februari 2013: Marketfunctie gemaakt als simpele demo (35 regels code) van de plugin-infra. Blijkt later een erg populaire feature te worden.<br />
* oktober 2015: De eerste heftige bug die grootschalige schade veroorzaakt wordt gevonden. Gelukkig is de schade makkelijk te herstellen met het commando "undo".<br />
* oktober 2015: De eerste (en vooralsnog enige) security bug wordt gevonden: een shell-injectie. Geen groot issue voor RevSpace, want we geven iedereen toch al shelltoegang op het account van RevBank...<br />
* februari 2017: Tijdens Eth0:2017 Winter wordt een vieze hack gebouwd: een plugin genaamd "repeat" waarmee je makkelijk meerdere keren hetzelfde product kunt afrekenen. Het werkt door gewoon een regel van de transactie te dupliceren, want RevBank heeft nog geen concept van aantallen. Het kan ook nog niet werken met sommige soorten transacties die bestaan uit meerdere regels, omdat RevBank niet kan weten welke regels bij elkaar horen.<br />
* november 2019: '''Versie 3''': gebruikers zien vooral de versimpelde overzichten, maar intern verandert er iets heel significants: transactieregels kunnen gegroepeerd worden, waardoor de "repeat"-plugin nu voor alles kan gaan werken. Transacties lijken nu intern meer op journaalposten van een boekhoudsysteem. Inclusief plugins is RevBank nu nog steeds maar ca. 2200 regels code.<br />
<br />
Voor veel meer detail, zie de git commit log...</div>
Noor