Tatort Lunchbox: eine Alarmanlage mit Circuit Playground

Tatort Lunchbox: eine Alarmanlage mit Circuit Playground

Allgemein, Projekte
12 Juli 2021

Es ist schon wieder passiert. Um dir den Arbeitstag zu versüßen, hast du dir eine kleine Delikatesse in der Büroküche versteckt. Aber als du dir deine wohlverdiente Belohnung gönnen willst, folgt der Schreck: außer ein paar Krümeln ist nichts mehr übrig. Und der Essensdieb ist natürlich längst über alle Berge. Täglich spielen sich in deutschen Büroküchen und Wohngemeinschaften Dramen ab, die vermeidbar wären. Selbstverständlich könntest du gleich zu drastischen Maßnahmen wie Videoüberwachung oder Stacheldraht um die Lunchbox greifen. Viel einfacher und schonender fürs Betriebs- bzw. WG-Klima schützt du dein Essen aber mit einem Circuit Playground: dank eingebautem Lichtsensor und Lautsprecher hat der nämlich alles, was du für eine selbst gebastelte Alarmanlage brauchst. Und ein NeoPixel Strip gestaltet das Ganze wahlweise ansprechender oder abschreckender.

Übrigens kann so nicht nur Essensdieben ein gehöriger Schreck eingejagt werden: falls du eine kleine Erinnerung brauchst, nicht ständig zu naschen, kannst du deine Süßigkeitenvorräte damit auch hervorragend vor dir selbst schützen.

Fast Food: von Circuit Playground zur Alarmanlage in unter 15min

Bei Circuit Playground und Pixel-Strips muss jeweils eine Version ausgewählt werden. Für welche Version des Circuit Playground’s du dich entscheidest, ist für dieses Projekt egal. Denn der Code ist sowohl mit der Classic- als auch der Express-Variante kompatibel. Und beim Strip kommt es ganz darauf an, wo du deine Alarmanlage platzieren möchtest: soll etwa eine große Kiste gesichert werden, brauchst du natürlich einen längeren Strip als bei einer kleinen Brotbox.

Zutaten

Zusammenbau

Da sowohl Lichtsensor als auch Mini-Lautsprecher im Circuit Playground verbaut sind, gestaltet sich der Aufbau recht simpel.

Zuerst wird der Pixel-Strip auf die benötigte Länge gekürzt.

Danach werden Strip und Circuit Playground nach folgendem Schema verbunden:

Circuit Playground ClassicCircuit Playground ExpressNeoPixel Strip
GNDGNDGND
VBATTVout5V
#6A1D0
Oben Express, unten Classic

Soll die Alarmanlage länger im Dienst bleiben, lohnt es sich den Strip fest zu verlöten. Dazu werden auch die Kabel entsprechend gekürzt und an den Enden jeweils ein Stück der Isolierung entfernt. Besonders leicht lassen sich die Kabel an die großen Pads des Circuit Playground’s löten, wenn man die Enden um die Pads wickelt.

Ansonsten genügen Krokodilklemmen.

Arduino IDE

Mac-, Linux- und Windows10-Nutzer können gleich mit der Einrichtung der Arduino IDE loslegen. Alle, die eine ältere Windows-Version nutzen, müssen vorher einen Treiber installieren:

https://github.com/adafruit/Adafruit_Windows_Drivers/releases/tag/2.5.0.0

An sich ist auch die Arduino IDE gleich einsatzbereit, die Circuit Playground Bibliothek ist bereits in der IDE enthalten. Weil Adafruit die Library aber regelmäßig aktualisiert, lohnt sich ein kurzes Update. Dafür unter Sketch -> Include Library -> Manage Libraries… nach “Adafruit Circuit Playground” suchen und falls nötig auf Update klicken:

Und wenn du schon mal hier bist, kannst du auch gleich die FastLED Library installieren bzw. aktualisieren. Dazu im selben Suchfeld “FastLED” eingeben und auf Install oder Update klicken.

Für die Auswahl des Boards im Boardmanager muss zwischen Classic und Express unterschieden werden. Circuit Playground Classic findest du unter Tools -> Board -> Arduino AVR Boards, Express unter Tools-> Board-> Arduino SAMD (32-bits Cortex-M0+) Boards.

Abschließend musst du noch den entsprechenden Port auswählen. Dann kann der Code kopiert und in der Arduino IDE eingefügt werden. Zeilen, die je nach Classic- oder Express-Variante angepasst werden müssen, sind durch Kommentare markiert.

#include <FastLED.h> // Reihenfolge wichtig! FastLED zuerst einbinden
#include <Adafruit_CircuitPlayground.h>

#define DATA_PIN     A1 // 6 fuer Circuit Playground Classic
#define NUM_LEDS    44 // Anzahl der LEDs im Strip

uint8_t brightness = 50; // Helligkeit

CRGBArray<NUM_LEDS> leds;

void setup() {
  // Ausgabe der vom Lichtsensor gemessenen Werte auf dem Serialmonitor
  // kann zum Testen passender Werte benutzt werden
  Serial.begin(9600);
  Serial.println("Light sensor test");
  
  CircuitPlayground.begin();
  
  FastLED.addLeds<WS2812B, DATA_PIN>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  FastLED.setBrightness(brightness);
  set_max_power_in_volts_and_milliamps(5, 5000); 
}

void loop() {
  // erstmal alle LEDs aus
  for (int i = 0; i < NUM_LEDS; i++) {
    leds[i] = CRGB::Black;
  }
  
  FastLED.show();
  
  delay(100);
  static uint8_t hue = 0;
  
  CircuitPlayground.speaker.enable(false);
  
  Serial.print("Light sensor: ");
  Serial.println(CircuitPlayground.lightSensor());
  delay(10);

  // hier den Wert fuer den Lichtsensor anpassen, ab dem Strip und Lautsprecher aktiviert werden sollen
  // 300 ist zB. schon recht hell, funktioniert gut für Sonnenlicht
  while (CircuitPlayground.lightSensor() > 300) {
    
    // Strip mit Regenbogenfarben fuellen
    leds.fill_rainbow(hue++);
    FastLED.delay(5);
    FastLED.show(); 

    // fuer Blinken in einer Farbe:
    // immer nur einen Farbeffekt entkommentieren
    //    for (int i = 0; i < NUM_LEDS; i++) {
    //      leds[i] = CRGB::Red;
    //      }
    //
    //      FastLED.show();
    //      FastLED.delay(1000);
    //
    //     for (int i = 0; i < NUM_LEDS; i++) {
    //      leds[i] = CRGB::Black;
    //      }
    //
    //     FastLED.show();
    //     FastLED.delay(500);
     
    // Lautsprecher aktivieren:
    // mit playTone wird ein Ton mit einer bestimmten Frequenz (erster Wert) fuer eine Dauer (zweiter Wert) erzeugt
    // hier z.B. zwei Toene, die an eine Sirene erinnern
    CircuitPlayground.speaker.enable(true);
    CircuitPlayground.playTone( 1174, 200);
    CircuitPlayground.playTone(1567, 200);
  }
}

Bon Appetit!

Und schon ist die Alarmanlage fertig! Jetzt muss die Falle nur noch platziert werden. Als Stromversorgung eignet sich z.B. ein LiPo-Akku oder ein Batteriefach mit drei Batterien. Allerdings sollten beide nicht direkt mit deinem Essen in Kontakt kommen.

Hungrige Langfinger haben es jetzt zumindest zumindest deutlich schwerer, unbemerkt Essen zu stibitzen.

Natürlich ist dieser kleine Scherz bei Weitem nicht das einzige Projekt, das sich schnell und einfach mit einem Circuit Playground umsetzen lässt. Tatsächlich ist der Name “Playground” Programm: Bewegungssensor, Tonsensor, Temperatursensor, Tasten, Schalter, LEDs und vieles mehr bilden im wahrsten Sinne des Wortes einen Spielplatz, auf dem sich Bastler nach Herzenslust austoben können. Deiner Kreativität sind keine Grenzen gesetzt!

Und wie immer, falls du Fragen, Anmerkungen oder Verbesserungen hast: schreib’ einfach einen Kommentar!

Übrigens, noch mehr Inspiration für Projekte findest du hier.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.6 / 5. Anzahl Bewertungen: 9

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Kommentare

Hinterlasse ein Kommentar

XHTML: Sie können diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>