Lichtoplossing met Arduino i.s.m. Technica

Onlangs hebben we i.s.m. Technica meegewerkt aan een oplossing om op een creatieve en verrassende manier de aandacht van bezoekers op een voorwerp te vestigen. De oplossing? Een sensor die op basis van afstand bepaald hoe fel de verlichting moet gaan branden!

Marc van Blijderveen (Technica), heeft speciaal hiervoor een printplaatje ontwikkeld. Vervolgens hebben wij meegewerkt aan het schrijven van de code die ervoor zorgt dat de afstand wordt omgerekend naar licht-intensiteit.

Zie in de onderstaande video ook het resultaat van het project bij een tevreden klant. Interesse in deze of soortgelijke oplossingen? Wij vertellen je er graag meer over!

As We May Think

We gaan terug naar juli 1945, vlak na de tweede wereldoorlog. Dit is het jaar waarin Vannevar Bush, een Amerikaanse ingenieur, vrij nauwkeurig onze digitale toekomst voorspelde. Hij deed dit in een opstel dat voor het eerst werd gepubliceerd in The Atlantic, een Amerikaans tijdschrift.

Memex

Vannevar Bush maakte zich zorgen om hoe de wereld omging met informatie. Er kwam steeds meer informatie beschikbaar en de informatiestromen liepen vaak langs elkaar heen. Bush wilde deze informatie explosie onschadelijk maken en zet zijn visie hierover op papier. Het opstel krijgt uiteindelijk de titel “As We May Think”. Hij schrijft hierin over een soort collectief geheugen, toegankelijk via een machine genaamd de memex. De machine zat ingebouwd in een bureaumeubel en op het bureaublad kon de informatie worden opgevraagd en verwerkt. Hiermee voorspelde hij de komst van internet en de personal computer. Hij voorspelde ook dat “een volledige encyclopedie in een lucifersdoosje zou passen”, een uitspraak die de technologie inmiddels zwaar heeft overtroffen. Ook anderen lieten zich inspireren door de visie van Bush, wat uiteindelijk resulteerde in de uitvinding van hypertekst- en links, het wereld wijde web, de muis en de tekstverwerker.

Niet veel later, in 1947, zou de transistor worden uitgevonden. Een vinding die de visie van Bush mede mogelijk heeft gemaakt!

Dé uitvinding van de 20ste eeuw

We schrijven 16 december 1947. Terwijl de meeste Amerikanen bezig zijn met het optuigen van hun kerstboom, maken de natuurkundigen John Bardeen, Walter Brattain en William Shockley overuren in hun laboratorium. Er werd gewerkt aan een uitvinding die de wereld zou veranderen; de transistor!

tumblr_mola8rwb3u1s6mxo0o1_1280

Zonder de uitvinding van de transistor zou de mens nooit op de maan zijn geland, zouden radio’s en televisies nog steeds een stuk groter zijn geweest, zouden we nooit personal computers in onze werk- en woonkamers hebben gehad, hadden we niet kunnen surfen op het internet en liepen we niet rond met een smartphone in onze broekzak. Kortom; de transistor heeft veel technologische ontwikkelingen mogelijk gemaakt. Alle vormen van elektronica decimeerde in omvang en gewicht.

In 1950 maakte Shockley de eerste bipolaire transistor, die beter in massa te produceren was. Op deze minuscule elektronische versterker is alle moderne, hedendaagse micro-elektronica berust. De drie uitvinders, werkzaam bij Bell Laboratories, kregen in 1956 de Nobelprijs voor hun uitvinding.

Lees op deze website meer over de technologische innovaties die de transistor heeft ontketend.

Maand van de slimme stad Nijmegen

logo_nijmegenOp 16 en 18 november 2016 mochten wij een tweetal workshops organiseren voor de Gemeente Nijmegen. Het onderwerp: De maand van de slimme stad! Een initiatief van Paul Geurts, werkzaam bij de gemeente als Informatie Architect.

Dankzij de populariteit van technologieën zoals LoRaWAN en ontwikkelboards als Arduino en Raspberry, is het draagvlak om deze technieken in de praktijk toe te passen en er mee bezig te zijn in zeer korte tijd véél groter geworden. Om goed koers te kunnen bepalen, is het belangrijk allereerst correct geïnformeerd te worden over waar we momenteel staan, welke mogelijkheden binnen handbereik zijn en welke stappen dus het beste als eerste gezet kunnen worden.

Het technologie landschap is aan het veranderen. Na de industriële en de digitale revoluties zijn we beland in een wereld waarin de verbinding tussen de digitale en fysieke wereld steeds belangrijker aan het worden is. In deze semantische leef- en werkomgeving staat alles in verbinding met elkaar. De infrastructuur van het internet, de (opensource) hard- en software en de (draadloze, opensource) communicatieprotocollen zijn de fundamenten om IoT zo toegankelijk te maken als water uit de kraan.

De presentatie werd verzorgd door Rogier van Onna (Elonisas) en Gérard Dijkslag (Promteg). Ook Marc van Blijderveen (Technica Electronica) was hierbij aanwezig. Tijdens de workshop legden we niet alleen uit welke technieken inmiddels voorhanden zijn, we gaven ook praktijkvoorbeelden hoe je zelf aan de slag kunt gaan met de hard- en software.

Bekijk hier de diverse (Arduino) oefeningen die we hebben samengesteld. Spoedig zullen er ook voorbeelden bij komen om aan de slag te gaan met de Sodaq One (http://support.sodaq.com/sodaq-one/).

LoRa luchtballon

Onlangs voer een luchtballon van Hilversum richting Venlo de grens over. Ook onze gateway heeft de signalen van de ballon al vanaf Zeist op kunnen vangen, ondanks dat de antenne wat ongelukkig was geplaatst. Ook uit een eigen test met diverse Sodaq One boards blijkt dat de dekking al aardig goed op orde is!

lora-ontvangst

Elonisas kerlink LoRa IoT station is actief!

The Things Network Nijmegen - LoRaSinds eind juli is onze kerlink LoRa IoT station actief! We hebben de gateway gelijk aangemeld bij The Things Network Nijmegen. Hiermee leveren een bijdrage aan de dekking van het LoRa netwerk in de binnenstad van Nijmegen.

The_Thing_Network_Nijmegen_Dekking LoRa

Na onze deelname aan de Smartparcs Hackathon bij Droom in Elst, zijn we ons meer gaan verdiepen in de mogelijkheden en toepassingen van IoT. Dit heeft uiteindelijk geresulteerd in de aanschaf van onze eigen LoRa gateway. Ook Elonisas ziet toekomst in deze nieuwe technieken voor haar klanten.

Naast de investering in LoRa (het communicatie netwerk), zijn we ons ook gaan verdiepen in de verschillende sensoren die beschikbaar zijn. De data van de sensoren kunnen wij uiteindelijk inzichtelijk maken via een webinterface. Deze kunnen wij naar wens van de klant inrichten, en is ook voor mobiel toegankelijk. Ook verzenden van de data naar diverse andere systemen valt onder de mogelijkheden.

Nieuwsgierig geworden? Neem dan zeker contact met ons op. Wij praten u graag bij over de mogelijkheden.

Elonisas IOT brengt Piet Pelle op zijn Gazelle weer tot leven

Sinds kort fietst Piet Pelle weer zoals vanouds rond op zijn Gazelle bij het Nationaal Fietsmuseum Velorama. Daar heeft Elonisas IOT i.s.m. Technica met trots aan mee mogen werken. Rond 1924 kwam het fietsmerk Gazelle met een film op de markt om jonge kinderen op de fiets te krijgen. Deze film werd getoond op een soort beeldkoffer, in die tijd enorm bijzonder aangezien de TV nog uitgevonden moest worden! “Mensen stonden in de rij om de film te kunnen aanschouwen”, aldus Gert-Jan Moed, eigenaar van het fietsmuseum.

Beeldkoffer-Piet-Pelle

De oorspronkelijke beeldkoffer werkte uiteraard niet meer. Daar heeft Elonisas IOT iets op gevonden! Men kan in het fietsmuseum opnieuw beleven hoe het destijds geweest moest zijn om de film te bekijken. Je hoeft er gelukkig niet meer voor in de rij te staan! “We hebben er al positieve reacties over ontvangen”, geeft Gert-Jan aan.

Elonisas IOT en Velorama zijn erg blij met het eindresultaat. We hopen dan ook nog veel meer soortgelijke projecten op te mogen pakken.

De beeldkoffer is te bewonderen in het Nationaal Fietsmuseum Velorama, Waalkade 107 te Nijmegen. Bekijk ook de website www.velorama.nl.

Arduino Oefening 5 – PIR Sensor

In deze oefening gaan we beweging detecteren met behulp van een PIR sensor. Een PIR sensor detecteert beweging met behulp van infra rood straling. De PIR sensor bevat twee infra rood sensoren waartussen het verschil wordt gemeten om te bepalen of iets beweegt. Wanneer er beweging wordt gedetecteerd geeft de middelste pin een signaal af.

Benodigdheden

  • Arduino Board
  • Breadboard & aansluitkabels
  • LED met ingebouwde weerstand of een 220 ohm weerstand
  • PIR sensor

Aansluitschema

arduino-with-pir-motion-sensor-schematics

Code

Code om de PIR sensor te testen is te vinden op:
http://playground.arduino.cc/Code/PIRsense

Let op! Het PIR signaal (gele kabel) moet om de code te laten werken aangesloten worden op pin 3.

In het code voorbeeld is voornamelijk de volgende code belangrijk voor de detectie en het inschakelen van de LED:

if(digitalRead(pirPin) == HIGH){
  digitalWrite(ledPin, HIGH);
}

pir-sensor

De waarde pirPin bevat het signaal van de PIR sensor.

De de grootte van het verschil tussen de twee sensoren voordat beweging wordt gedetecteerd kan ingesteld worden door middel van de twee (in dit geval oranje) potmeters die op het printplaatje zijn bevestigd. De potmeters kunnen met behulp van een schroevendraaier worden ingesteld.

Arduino Oefening 4 – Poort manipulatie

In deze oefening werken we met poort manipulatie om de aangesloten LED’s in of uit te schakelen.

Middels poort manipulatie geven we in één enkele byte aan het poort register door welke poorten binnen een bepaald segment van de Arduino Board ingeschakeld (1) of uitgeschakeld (0) moeten worden (PORTB) en of het om IN of OUTPUT gaat (DDRB). Meer weten? Lees er hier meer over.

Benodigdheden

  • Arduino Board
  • Breadboard & aansluitkabels
  • Rode LED met ingebouwde weerstand of een 220 ohm weerstand
  • Groene LED met ingebouwde weerstand of een 220 ohm weerstand
  • Gele LED met ingebouwde weerstand of een 220 ohm weerstand
  • Pushbutton
  • 10K ohm weerstand

De kit aangeschaft? Dan ben je in het bezit van een Arduino UNO Board en LED’s in diverse kleuren met ingebouwde weerstand. Ook de pushbutton en de 10k ohm weerstand zijn inbegrepen.

Aansluitschema

Oefening-4

Code

/*
 Geschreven door: Rogier van Onna (Elonisas IOT)
 Datum bijgewerkt: 8-3-2016
 Port Manipulation Voorbeeld
*/

const long interval = 10000;

int buttonPin = 2;
bool buttonWaarde;
bool disco;

void setup() {
  DDRB = B11111111;
  pinMode(buttonPin, INPUT);
}

void loop() {

  buttonWaarde = digitalRead(buttonPin);

  if(buttonWaarde==HIGH) {
    disco = !disco;
    delay(1000);
  }

  if(disco) {
    switch(millis() % interval) {
      case 0: { PORTB = B00011100; break; }
      case 1000: { PORTB = B00011100; break; }
      case 2000: case 5000: { PORTB = B00010000; break; }
      case 3000: case 6000: { PORTB = B00011000; break; }
      case 4000: case 7000: { PORTB = B00011100; break; }
      case 8000: { PORTB = B00000000; break; }
      case 9000: { PORTB = B00001110; break; }
      case 10000: { PORTB = B00000000; break; }
    }
  } else {
    PORTB = B00000000;
  }
 
}

Met segment B worden de poorten 8 tot 13 aangestuurd. We vermijden de delay-functie en gebruiken in plaats daarvan de millis-functie om te bepalen welke byte weggeschreven moet worden naar PORTB.

Arduino Oefening 3 – NTC

In deze oefening lezen we de waarde van een warmte gevoelige weerstand uit (NTC) en tonen deze via de seriële monitor wanneer er op de pushbutton (knopje) gedrukt wordt.

Een NTC-weerstand, ook wel Thermistor genoemd, reageert op temperatuur. Wanneer de temperatuur stijgt, neemt de weerstand van de NTC af. Lees er hier meer over.

Benodigdheden

  • Arduino Board
  • Breadboard & aansluitkabels
  • Pushbutton
  • 10k Warmte gevoelige weerstand (NTC)
  • 2x 10K ohm weerstand

De kit aangeschaft? Dan ben je in het bezit van een Arduino UNO Board en een LED met ingebouwde weerstand. Ook de pushbutton, 10k ohm NTC en de 10k ohm weerstanden behoren tot de inhoud.

Aansluitschema

Oefening-3

Code

/*
 Geschreven door: Rogier van Onna (Elonisas IOT)
 Datum bijgewerkt: 28-02-2016
 NTC Temperatuur gevoelige weerstand (voorbeeld code)
*/

#define NTCPIN A0 // NTC sensor pin

float waarde;

int buttonPin = 2;
bool buttonWaarde;

void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

void loop() {
 
  waarde = analogRead(NTCPIN);
  buttonWaarde = digitalRead(buttonPin);

  if(buttonWaarde==HIGH) {
    Serial.print("NTC waarde: ");
    Serial.println(waarde);
  }
 
  delay(1000);
 
}

De parameter ‘waarde’ bevat de waarde van de NTC (ongeveer tussen de 300 en 800). Wanneer op de knop wordt gedrukt (buttonWaarde), wordt de waarde weggeschreven naar de seriële monitor (Serial.print).