Giftduino: Das ultimative Arduino-Geschenkset für Bastler & Pädagogen
Komponenten & Zubehör
- 1× Arduino UNO
- 1× Hall-Effekt-Sensor (A1302)
- 1× Mini-Lautsprecher (Piezo, 12 mm, 2,048 kHz)
- 1× Grafik-LCD 84×48 (Nokia 5110)
- 1× Magnet (für den Deckel)
- Widerstände, Kondensatoren, Breadboard, Kabel
- Optional: 9 V-Batterie statt Netzteil, LED statt Piezo, Ultraschallsensor statt Hall-Sensor, 16×2-LCD statt Nokia-Display
Software & Tools
- circuito.io (automatische Schaltplan- & Code-Generierung)
- Arduino IDE
Projektidee
Eine Geschenkbox, die beim Öffnen eine Überraschung auslöst: Ein Magnet am Deckel betätigt den Hall-Sensor, woraufhin das Nokia-Display eine Grafik anzeigt und der Piezo-Lautsprecher eine Melodie spielt. Das Projekt entstand mit circuito.io, das Schaltplan, Bauteilliste und Testcode automatisch erstellt.
Schritt 1: Komponenten zusammenstellen
Über den „Magic Link“ auf circuito.io sind alle Bauteile vorselektiert. Nach Klick auf Generate erhalten Sie die komplette Stückliste inkl. Peripherie (Widerstände, Kondensatoren). Sie können Bauteile einfach austauschen (s. o.).
Schritt 2: Verdrahtung
Der von circuito.io erzeugte Schritt-für-Schritt-Verdrahtungsplan führt Sie sicher durch den Aufbau. Trotz vieler Verbindungen ist es bei sorgfältigem Vorgehen einfach.
Schritt 3: Code
- Code von circuito.io herunterladen & entpacken.
- In Arduino IDE öffnen & auf den Arduino hochladen (Testcode).
- Den endgültigen Sketch (siehe unten) in den Tab
firmware.inokopieren & erneut hochladen.
Im Code sind Kommentare enthalten, um Melodie, Pixel-Grafik & Timing anzupassen.
Schritt 4: Gehäuse bauen
Unser Gehäuse kombiniert 3D-gedruckte Teile mit PVC-Hartschaumplatte. Sie können aber Holz, Glas, andere Formen & Farben verwenden. Die STL-Dateien für den 3D-Druck sind im Projekt verlinkt.
Schritt 5: Endmontage
- Arduino mit Shield in das Gehäuse legen.
- Magnet auf den Deckel kleben.
- Flexiblen Stahldraht als Scharnier zwischen Deckel & Korpus spannen.
Fertig! Ihre persönliche Giftduino-Box
Teilen Sie Ihr Ergebnis („I made this“) oder posten Sie Fotos/Videos in der Community.
Haupt-Code (firmware.ino)
#include <Arduino.h>
#include <HallA1302.h>
#include <AnalogReader.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <TimerFreeTone.h>
#include <Speaker.h>
#define HALLA_PIN_VOUT A3
#define NOKIALCD_PIN_DC 4
#define NOKIALCD_PIN_CS 2
#define NOKIALCD_PIN_RST 3
#define PIEZOSPEAKER_PIN_SIG 5
#define LCD_CONTRAST 70
#define LCD_SIZE_COL 84
#define LCD_SIZE_ROW 48
unsigned int piezoSpeakerHoorayLength = 6;
unsigned int piezoSpeakerHoorayMelody[] = {NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_C5};
unsigned int piezoSpeakerHoorayNoteDurations[] = {8, 8, 8, 4, 8, 4};
HallA1302 hallA(HALLA_PIN_VOUT);
Adafruit_PCD8544 nokiaLcd(NOKIALCD_PIN_DC, NOKIALCD_PIN_CS, NOKIALCD_PIN_RST);
Speaker piezoSpeaker(PIEZOSPEAKER_PIN_SIG);
void setup() {
Serial.begin(9600);
Serial.println("start");
nokiaLcd.begin(LCD_SIZE_COL, LCD_SIZE_ROW);
nokiaLcd.setContrast(LCD_CONTRAST);
}
void loop() {
int hallAVal = hallA.read();
Serial.println(hallAVal);
// Box geöffnet? (Schwellenwert um 512 ± 50)
if (abs(hallAVal - 512) < 50) {
delay(500);
nokiaLcd.clearDisplay();
nokiaLcd.setRotation(2);
nokiaLcd.setTextColor(BLACK);
nokiaLcd.setTextSize(1);
nokiaLcd.print(" Surprise !");
nokiaLcd.setTextSize(2);
// Smiley zeichnen
nokiaLcd.drawCircle(37, 15, 3, BLACK); // linkes Auge
nokiaLcd.drawCircle(41, 15, 3, BLACK); // rechtes Auge
nokiaLcd.drawRect(25, 22, 30, 20, BLACK); // Mund
nokiaLcd.drawRect(22, 18, 36, 5, BLACK);
nokiaLcd.drawRect(37, 22, 5, 20, BLACK);
nokiaLcd.display();
piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);
delay(10000); // 10 s anzeigen
}
}
Herstellungsprozess
- Skin-Effekt verstehen: Auswirkungen auf AC-Leiter und HF-Anwendungen
- Sensor-gesteuerte Audio-Effekte mit dem Satellite CCRMA Kit bauen
- Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
- Kompakte Wetterstation: Arduino Nano & ESP8266 mit BMP280 Barometrischem Sensor & OLED/Nokia LCD Display
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
- Fridgeye-App mit Nextion-Display bauen: Schritt-für-Schritt-Anleitung
- Optimale Wärmepumpen-Warmwasserbereiter: Energieeffiziente Warmwasserversorgung
- Warum ein Box-Way CNC-Drehmaschine die optimale Wahl für Präzision & Performance ist
- Hall-Effekt-Sensoren meistern: Prinzip, Anwendungen & Design