Menü
Microbots
0
  • Robots & Kits
    • ProtoBot
    • CubeBot
    • Robot Parts
  • Modules & Parts
    • CodeCell ESP32 Modules
    • Motors & Actuators
    • LiPo Batteries
  • Gear
    • Tools
    • Merch
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Einloggen
  • Ihr Warenkorb ist leer
Microbots
  • Robots & Kits
    • ProtoBot
    • CubeBot
    • Robot Parts
  • Modules & Parts
    • CodeCell ESP32 Modules
    • Motors & Actuators
    • LiPo Batteries
  • Gear
    • Tools
    • Merch
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • 0 0

CodeCell: Näherungssensor

In dieser Anleitung erfahren Sie, wie Sie den integrierten Näherungssensor der CodeCell zum Erkennen von Objekten und Tiefengesten verwenden.

Wie erkennt es Nähe?

CodeCell enthält in seinem winzigen Gehäuse einen VCNL4040, der Infrarotlicht zur Objekterkennung in seiner Reichweite nutzt. Er misst die Reflexion des emittierten IR-Lichts, um die Nähe eines Objekts zu ermitteln. So können Sie reaktionsfähiges Verhalten basierend auf der Nähe erstellen. Diese Funktion ist besonders nützlich für die Erstellung interaktiver Beleuchtung, Robotik, berührungsloser Schalter oder anderer annäherungsbasierter Aktionen.

Der integrierte Sensor kann die Nähe bis zu 20 cm messen und verwendet die I2C-Kommunikation, die automatisch von unserer CodeCell-Bibliothek verarbeitet wird.

Beispiel 1 – Näherungsschwelle

In diesem Beispiel überwacht die CodeCell kontinuierlich Näherungsdaten und schaltet eine rote LED ein, wenn ein Objekt innerhalb ihrer Näherungsschwelle erkannt wird.

Stellen Sie sicher, dass Ihre CodeCell ordnungsgemäß über USB-C verbunden ist, und folgen Sie den Kommentaren im Code, um jeden Schritt zu verstehen.

 
#include <CodeCell.h>

 CodeCell myCodeCell;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial
 myCodeCell.Init(LIGHT); // Initializes light sensing, including proximity
 }

 void loop() {
 if (myCodeCell.Run(10)) {
 // Runs every 100ms to check proximity
 uint16_t proximity = myCodeCell.Light_ProximityRead();

 // Check if an object is within range
 if (proximity > 100) {
 myCodeCell.LED(0xFF, 0, 0); // Set LED to Red when proximity is detected
 delay(1000); // Keep the LED on for 1 second
 } else {
 // No action if the object is out of range
 }
 }
 }

Tipps zur Anpassung

  • Näherungsschwellenwert anpassen: Ändern Sie den Schwellenwert (im Beispiel 100 ), um die Empfindlichkeit der Näherungserkennung basierend auf Ihrer Anwendung anzupassen.
  • LED-Farben ändern: Experimentieren Sie mit verschiedenen LED-Farben mithilfe der Funktion myCodeCell.LED() um mehrfarbige Reaktionen auf Annäherung zu erzeugen.
  • Mehr hinzufügen: Erwägen Sie das Hinzufügen eines Summers oder Motors, um Audio- oder Bewegungsfeedback bereitzustellen, wenn Objekte in Reichweite erkannt werden.
  • Näherungssensor mit Lichtsensor verwenden: Kombinieren Sie Näherungssensor und Lichtsensor, um komplexere Verhaltensweisen zu erzeugen, wie etwa die Anpassung der Beleuchtung basierend auf der Entfernung und der Helligkeit der Umgebung.

Beispiel 2 – Tiefengesten

Indem Sie Ihre Hand oder andere Objekte näher an den Sensor heranführen oder sich davon entfernen, können Sie dynamische Eingaben erzeugen, die verschiedene Aktionen auslösen. In diesem Beispiel werden die Näherungsdaten verwendet, um den Winkel zweier FlatFlaps zu steuern, die mit zwei DriveCells (H-Brücken-Treibern) verbunden sind.

Der Pulsweitenmodulations-(PWM)-Arbeitszyklus zweier FlatFlaps wird daher je nach Objektnähe angepasst. Bewegt sich das Objekt näher oder entfernt sich, ändert sich der Winkel der FlatFlaps . Dies stellt eine einfache, aber effektive Methode zur gestenbasierten Tiefensteuerung dar. Beachten Sie die Kommentare im Code, um die einzelnen Schritte zu verstehen:

 #include <CodeCell.h>
 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 #define IN2_pin1 5
 #define IN2_pin2 6

 DriveCell FlatFlap1(IN1_pin1, IN1_pin2);
 DriveCell FlatFlap2(IN2_pin1, IN2_pin2);

 CodeCell myCodeCell;

 void setup() { 
Serial.begin(115200); // Stellen Sie die serielle Baudrate auf 115200 ein. Stellen Sie sicher, dass Tools/USB_CDC_On_Boot aktiviert ist, wenn Sie die serielle Schnittstelle verwenden.

 myCodeCell.Init(LIGHT); // Initialisiert die Lichterkennung

 FlatFlap1.Init();
 FlatFlap2.Init();

 FlatFlap1.Tone();
 FlatFlap2.Tone();
 }

 void-Schleife() {
 wenn (myCodeCell.Run(10)) {
 // Läuft alle 100 ms
 uint16_t Nähe = myCodeCell.Light_ProximityRead();
 Serial.println(Nähe);
 wenn (Nähe < 100) {
 // Wenn keine Nähe erkannt wird, flattern die FlatFlaps
 FlatFlap1.Run(1, 100, 400);
 FlatFlap2.Run(1, 100, 400);
 } anders {
 // Passen Sie den FlatFlap-Winkel basierend auf der Nähe an
 Nähe = Nähe - 100;
 Nähe = Nähe / 10;
 wenn (Nähe > 100) {
 Nähe = 100;
 }
 FlatFlap1.Drive(0, Nähe);
 FlatFlap2.Drive(0, Nähe);
 }
 }
 }

Tipps zur Anpassung

  • Schwellenwerte anpassen: Ändern Sie die Näherungsschwellenwerte und Skalierungsfaktoren im Code, um die Reaktionsfähigkeit der FlatFlaps Ihren Wünschen entsprechend zu optimieren.
  • Erweitern Sie die Funktionalität: Erwägen Sie das Hinzufügen weiterer CodeCell- Sensorfunktionen, wie etwa Bewegungserkennung oder Lichtsensorik, um Ihrem Projekt mehr Funktionalität hinzuzufügen!

Abschluss

Dieses Projekt vermittelt die Grundlagen der Näherungssensorik mit CodeCell und eröffnet vielfältige interaktive Möglichkeiten. Experimentieren Sie mit dem Code, optimieren Sie die Einstellungen und entdecken Sie das CodeCell GitHub Repository für weitere Codebeispiele und technische Dokumentation!

  • Teilen:

Sozial

Github

  • Um
  • Software
  • Ausbildung
  • Kontakt
  • FAQs
  • Bedingungen
  • Rückerstattung-Politik
  • Datenschutzrichtlinie

Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

© 2026 Microbots.

★ Reviews

Let customers speak for us

86 reviews
Write a review
87%
(75)
5%
(4)
2%
(2)
2%
(2)
3%
(3)
80
21
A
ProtoBot
Anonymous

This is a great product for beginners who want hands-on experience with Arduino and 3D printing. The Protobot has a sleek, solid design, and the software is just as polished. I’ve bought several educational robotics kits, and this is the best one so far. Looking forward to more awesome products!

Thank you so much for your kind review! 😊

F
ProtoBot
Francis van Uyten

Really love this robot. I like that is simple to assemble and I like that you guys prepares it easy to start programming with examples and libraries. My opinion on what to improve is more like a add-on, can you guys develop a localisation sensor or function so it will know where the bot is. Expecting only great things coming from you guys. Succes

Thank you so much for your thoughtful review! Glad you’re enjoying ProtoBot 😊 A localisation sensor is a great suggestion! The I²C connection lets you add compatible sensors, so there’s room to explore this. Thanks for your support!

G
Experiment in Progress Mug
Gerald Kendrick

I am enjoying my Experiment in Progress coffee mug. It fits in well in the lab.

Hi Gerald, we’re so glad you’re enjoying it! Thanks for sharing your kind review.

K
12-in-1 Screwdriver (Pen-Size)
Klaas

Very useful fun little screwdriver for the all tiny stuff

Hi Klaas, thanks for the great review! We’re glad you’re enjoying your screwdriver!

f
ProtoBot
frederic marty

I don't have much time right now to test the micro bot, but it looks good.