#Lichtsensor
Explore tagged Tumblr posts
Text
Der ALS-PT19: Einfacher Lichtsensor für Arduino-Projekte
Der ALS-PT19 Lichtsensor ist ein einfacher und zuverlässiger Sensor, der sich ideal für Arduino-Projekte eignet. Mit seiner Fähigkeit, Lichtstärken präzise zu messen, ist er besonders für Einsteiger eine hervorragende Wahl, um in die Welt der Elektronik und Programmierung einzutauchen. In diesem Beitrag zeige ich, wie der Sensor funktioniert, wie er angeschlossen wird und welche spannenden Anwendungen damit möglich sind. https://youtu.be/Ej5mUKod1Ok Der ALS-PT19 Lichtsensor ist nicht nur einfach in der Anwendung, sondern auch extrem kostengünstig. Ich habe diesen Sensor für nur wenige Cent auf AliExpress.com bestellt. Im Vergleich dazu verlangen Händler in Deutschland oft bis zu 8 €, was den Preis deutlich in die Höhe treibt. Hier lohnt es sich, ein wenig Geduld aufzubringen, um durch den Direktkauf beim internationalen Anbieter ordentlich zu sparen.
Aufbau des analogen Lichtsensors ALS-PT19
Der analoge Lichtsensor ALS-PT19 ist eine ideale Wahl, um Projekte mit Lichtmessung oder Lichtschranken zu erweitern. Besonders praktisch ist, dass der Sensor RoHS-konform ist und eine spektrale Reaktion besitzt, die der Wahrnehmung des menschlichen Auges sehr nahekommt. Dies wird durch ein hohes Ablehnungsverhältnis gegenüber Infrarotstrahlung ermöglicht. Der Aufbau ist dabei äußerst simpel: - Der - Pin wird mit Masse (GND) verbunden. - Der + Pin erhält eine Stromversorgung von 2,5V bis 5,5V. - Am OUT-Pin wird die analoge Spannung ausgegeben, die proportional zur einfallenden Lichtmenge steigt. Dank dieser einfachen Handhabung lässt sich der ALS-PT19 schnell und problemlos in unterschiedlichste Projekte integrieren.
Aufbau - ALS-PT19 analoger Lichtsensor Im Beitrag "Arduino Lektion 4: LED mit Fotowiderstand" habe ich dir bereits eine kleine Schaltung mit einem ähnlichen Bauteil vorgestellt: dem Fotowiderstand. Dieser ist zwar deutlich größer als der ALS-PT19, liefert aber ebenso zuverlässig die Werte der Helligkeit. Beide Bauteile bieten einfache Möglichkeiten, Lichtstärken zu messen, wobei der ALS-PT19 durch seine kompakte Bauweise besticht.
Aufbau der Schaltung - ALS-PT19 am Arduino
Durch seinen einfachen Aufbau lässt sich der ALS-PT19 Lichtsensor schnell und einfach mit einem Arduino verbinden. Für die Schaltung benötigst du lediglich folgende Bauteile: - 1x ALS-PT19 Lichtsensor* - 1x Arduino* (z. B. Uno, Nano oder Mega) - 3x Jumper-Kabel* (für die Verbindungen) - Optional: Steckbrett* (Breadboard) für eine flexible Verdrahtung Mit diesen wenigen Komponenten kannst du die Lichtmessung in kürzester Zeit starten.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung! In der nachfolgenden Schaltung integriere ich zusätzlich eine 5 mm LED* welche über einen 220 Ohm Vorwiderstand* an einen digitalen Pin angeschlossen wird.
Schaltung - ALS-PT19 am Arduino mit LED
Programmieren des kleinen Sensors in der Arduino IDE
Der kleine Sensor verfügt über einen analogen Ausgang, welcher mit einem der sechs analogen Eingänge (A0 bis A5) des Mikrocontrollers verbunden wurde und somit mit wenigen Zeilen Code ausgelesen werden kann. Zusätzlich habe ich noch wie erwähnt eine 5 mm LED an einen digitalen PWM Pin angeschlossen. Diese LED leuchtet um so stärker, je weniger der Sensor beleuchtet wird. //analoger Lichtsensor ALS-PT19 am //analogen Pin A0 angeschlossen #define sensor A0 //LED am digitalen PWM Pin D3 angeschlossen #define led 3 void setup() { //beginn der seriellen Kommunikation mit 115200 Baud Serial.begin(9600); //der Pin des Sensors wird als Eingang definiert pinMode(sensor, INPUT); //der Pin der LED wird als Ausgang definiert pinMode(led, OUTPUT); } void loop() { //auslesen des Sensorwertes unsigned int value = analogRead(sensor); //mappen des Wertes welcher zwischen 0 und 1023 sein kann //auf den gültigkeitbereich eines PWM Signals (0 bis 255) byte brightness = map(value, 0, 1023, 0,255); //schreiben der Helligkeit an die LED mit einem PWM Signal analogWrite(led, brightness); //ausgeben des Sensorwertes auf der seriellen Schnittstelle Serial.println(value); //einlegen einer kleinen Pause von 50 Millisekunden delay(50); }
Lichtsensor & Laserdiode als Lichtschranke
Eine der einfachsten Anwendungen des analogen Lichtsensors ALS-PT19 ist die Verwendung in Kombination mit einer Laserdiode als Lichtschranke. Hierbei wird der Laserstrahl auf den Sensor gerichtet, und solange der Strahl nicht unterbrochen wird, misst der Sensor eine konstante Lichtintensität. Sobald der Strahl unterbrochen wird, erkennt der Sensor den Abfall der Lichtintensität, was zur Auslösung eines Signals genutzt werden kann. Diese einfache, aber effektive Technik eignet sich hervorragend für Projekte wie Sicherheitsvorrichtungen, Zählmechanismen oder automatische Türen. Für den Aufbau benötigst du: - einen analogen Lichtsensor ALS-PT19*, - eine Laserdiode*, - einige Jumper-Kabel*, - einen Arduino* Je nach Abstand kann auch eine ultrahelle LED ausreichend sein!
Da ich die Laserdiode sowie den Sensor auf einem Breadboard stecken möchte, habe ich mir zwei 3fach Buchsenleisten mit langen Beinchen genommen und diese mit einer Flachzange um 90° abgewinkelt. Vorsicht bei der Nutzung der Laserdiode (650 nm) Laser können gefährlich sein, wenn sie falsch verwendet werden. Hier ein paar wichtige Hinweise, um dich und andere zu schützen: - Schau niemals in den Laserstrahl – ernsthafte Augenschäden drohen! - Nutze eine Schutzbrille und halte den Laser von Kindern fern. - Handle verantwortungsvoll, die Nutzung erfolgt auf eigenes Risiko. Schaltung - Lichtschranke mit ALS-PT19 und Laserdiode am Arduino Mit einer starken Laserdiode* kann man eine Lichtschranke aufbauen und damit eine Tür oder ähnliches Überwachen.
Schaltung - ALS-PT19 mit Laserdiode am Arduino Arduino UNO R3ALS-PT19-GNDOUTAO+3.3VPiezo BuzzerPin 1D3Pin 2GNDLaserdiode-GND+5VSD8 Programmieren in der Arduino IDE Die Laserdiode benötigt einen digitalen Pin über welchen wir diese aktivieren und deaktivieren können. In der Funktion setup wird dieser Pin einfach auf HIGH gesetzt. //analoger Lichtsensor ALS-PT19 am //analogen Pin A0 angeschlossen #define sensor A0 //der Pin der Laserdiode ist am digitalen Pin D8 angeschlossen #define laserDiode 8 //der Pin des Piezo Buzzers ist am digitalen Pin D3 angeschlossen #define buzzer 3 //Wert für den Alarm, bei unterschreiten soll ein Alarmton //über den Piezo Buzzer erzeugt werden const unsigned int ALARM_THRESHOLD = 600; void setup() { //beginn der seriellen Kommunikation mit 115200 Baud Serial.begin(9600); //der Pin des Sensors wird als Eingang definiert pinMode(sensor, INPUT); //der Pin der Laserdiode wird als Ausgang definiert pinMode(laserDiode, OUTPUT); //der Pin des Piezo Buzzers wird als Ausgang definiert pinMode(buzzer, OUTPUT); //aktivieren der Laserdiode digitalWrite(laserDiode, HIGH); } void loop() { //auslesen des Sensorwertes unsigned int value = analogRead(sensor); //Wenn der aktuelle Wert des analogen Lichtsensors //den Schwellwert unterschreitet, dann... if(value //einen Ton mit einer Frequenz von 1000 Hz und einer //Dauer von 150 ms. erzeugen. tone(buzzer, 1000, 150); } } Schaltung - Zähler mit Lichtschranke & Segmentanzeige, ALS-PT19 und Laserdiode am Arduino Über die Segmentanzeige* können wir einen Zähler anzeigen lassen und damit entweder Besucher zählen oder Stückgut auf einem Förderband zählen.
Schaltung - Lichtschranken mit Segmentanzeige Die Schaltung erweitern wir um die Segmentanzeige welche zwei digitale Pins belegt und die Stromversorgung von der Laserdiode abzweigt. Arduino UNO R3SegmentanzeigeCLKD5DIOD4VCC5VGNDGND Programmieren in der Arduino IDE Im Programm integrieren wir die Bibliothek TM1637Display welche vom GitHub Repository chamie / TM1637 als ZIP-Datei heruntergeladen werden kann. #include //Einbinden der Bibliothekt zum ansteuern des Displays #include //Pin CLK von der Segmentanzeige am digitalen Pin D5 angeschlossen #define CLK 5 //Pin DIO von der Segmentanzeige am digitalen Pin D4 angeschlossen #define DIO 4 //analoger Lichtsensor ALS-PT19 am //analogen Pin A0 angeschlossen #define sensor A0 //der Pin der Laserdiode ist am digitalen Pin D8 angeschlossen #define laserDiode 8 //der Pin des Piezo Buzzers ist am digitalen Pin D3 angeschlossen #define buzzer 3 //Wert für den Alarm, bei unterschreiten soll ein Alarmton //über den Piezo Buzzer erzeugt werden const unsigned int ALARM_THRESHOLD = 600; //erzeugen des Display Objektes mit den Parametern für die PINs TM1637Display display(CLK, DIO); unsigned int index = 0; void setup() { //der Pin des Sensors wird als Eingang definiert pinMode(sensor, INPUT); //der Pin des Sensors wird als Eingang definiert pinMode(sensor, INPUT); //der Pin der Laserdiode wird als Ausgang definiert pinMode(laserDiode, OUTPUT); //der Pin des Piezo Buzzers wird als Ausgang definiert pinMode(buzzer, OUTPUT); //aktivieren der Laserdiode digitalWrite(laserDiode, HIGH); //setzen der maximalen Helligkeit an der Segmentanzeige display.setBrightness(10); uint8_t data = { 0xff, 0xff, 0xff, 0xff }; //Setzt die Anzahl der möglichen Segmente. display.setSegments(data); //Anzeigen des Counters mit führenden Nullen display.showNumberDec(index, true, 4, 4); } void loop() { //auslesen des Sensorwertes unsigned int value = analogRead(sensor); //Wenn der aktuelle Wert des analogen Lichtsensors //den Schwellwert unterschreitet, dann... if (value //einen Ton mit einer Frequenz von 1000 Hz und einer //Dauer von 150 ms. erzeugen. tone(buzzer, 1000, 150); //erhöhen des Indexes für den Counter sowie ausgeben auf //der Segmentanzeige display.showNumberDec(++index, true, 4, 4); //eine Pause von 500 Millisekunden einlegen delay(500); } }
Downloads
Programm: auslesen des analogen Lichtsensors ALS-PT19Herunterladen Programm: analoger Lichtsensor ALS-PT19 & LEDHerunterladen Programm: Lichtschranke mit ALS-PT19 & LaserdiodeHerunterladen Programm: Lichtschranke mit ALS-PT19, Laserdiode & SegmentanzeigeHerunterladen
Vergleich - ALS-PT19 und Fotowiderstand
Vergleichen wir noch kurz den Lichtsensor mit einem Fotowiderstand, mit welchem wir ebenso das einfallende Licht "messen" können.
Schaltung - Fotowiderstand und ALS-PT19 am Arduino Der sehr einfache Fotowiderstand liefert einen Wert für einfallendes Licht, jedoch sehr ungenau und bei mir in einer Range von 7 bis maximal 731, wobei der Gültigkeitsbereich von analogen Werten am Arduino zwischen 0 und 1023 sind. Hier ist der ALS-PT19 deutlich genauer, bzw. liefert eine größere Range.
Read the full article
0 notes
Text
S-Bahn: Lichtsensor zeigt Fahrgästen, wie viel Platz im Zug ist, aus VBB
24.09.2024 https://www.vbb.de/presse/s-bahn-berlin-lichtsensor-zeigt-fahrgaesten-wie-viel-platz-im-zug-ist #Pilotprojekt startet an sechs Bahnhöfen DB und #VBB investieren 900.000 Euro innovative Technik aus Hamburg jetzt auch in Berlin Seit heute sehen Fahrgäste der S-Bahn Berlin auf einigen stark genutzten Stationen der #Stadtbahn schon bevor ihr Zug einfährt, wo noch #Platz ist. Das…
#Alexanderplatz#ausgelastet#Auslastungsmessung#Bellevue#Echtzeitauslastungsanzeige#Fahrgastinformation#Friedrichstraße#Hackescher#Hauptbahnhof#Hermannstraße#Jannowitzbrücke#komfortabler#Lightgate#Neukölln#Orientierung#Pilotprojekt#Platz#Pünktlichkeit#Reisendenlenkung#S#SAFIRA#Stadtbahn#Streckenabschnitte#stressfreier#Tempelhof#VBB#Zugzielanzeigern
0 notes
Text
Flower Care - Smart Pflanzenmonitor und Messgerät - Digital Bodentester, Feuchtigkeitsmesser, Thermometer und Sensor Für Bodenfruchtbarkeit - iOS und Android App - Über 5000 Pflanzen im Datenbank - Offizielle Europäische Version
Flower Care – Smart Pflanzenmonitor und Messgerät – Digital Bodentester, Feuchtigkeitsmesser, Thermometer und Sensor Für Bodenfruchtbarkeit – iOS und Android App – Über 5000 Pflanzen im Datenbank – Offizielle Europäische Version
Digitaler Pflanzen-Sensor mit Sonnenlicht-, Feuchtigkeit-, Temperatur- und Dünger-Sensoren für den Innen- oder Außenbereich. Flower Care Sensormodul verbindet sich drahtlos mit Ihrem Smartphone, damit Sie Ihre Pflanzen unter den am besten geeigneten Bedingungen pflegen können. Kostenlose "Flower Care" App mit massiver Pflanzen-Datenbank, die es Ihnen ermöglicht, die optimale Wachstumsbedingungen…
View On WordPress
0 notes
Photo
Golf VII 1,2 TSI Bluemotion aus 1. Hand nach Autohaus mit erst 62.200 Km.Technisch und Optisch in einem guten Zustand aufgrund des geringen Kilometerstands. Kostenlos von uns dazu gibt es 24 Monate Neu Tüv und eine Inspektion. Montiert sind für alle Wetterlagen bereits Allwetterreifen ( 2 x Nagelneu ) Scheckhefteinträge: 08/2016 bei 23414 Km 01/2017 bei 30110 Km 05/2019 bei 55351 Km ➡️ Inklusive 12 Montaten Gewährleistung ! ➡️ Finanzierung möglich ab 2,49% auch ohne Anzahlung ! ➡️ Wir bringen Ihnen Ihren neuen Gebrauchtwagen bis vor Ihre Haustür ! ➡️ WIR kaufen Ihr Auto – auch wenn SIE keines bei uns kaufen! ➡️ KFZ-Zulassungsservice für Ihr neues Fahrzeug ! ✅ Ausstattung : - 1,2 TSI Motor / 63 KW - Start/Stop-Anlage - Servolenkung - Klimaautomatik - Einparkhilfe vorne und hinten - Automatisches Einparken auf Knopfduck - Berganfahrhilfe - 4 / 5 Türig - ABS - Auto-Hold-Funktion - Parkbremse elektrisch - Antriebs-Schlupfregelung (ASR) - Regen + Lichtsensor - Innenspiegel Automatisch abblendbar - Sitzheizung - Audiosystem Composition mit Touchscreen - MP3, SD-Karten-Schnittstelle, AUX-IN Funktion - Elektrische Fensterheber - Elektrisch verstellbare Aussenspiegel / Elektrisch Anklappbar - Zentrallverrieglung mit Funkfernbedienung - Winterpaket - Licht- und Sicht-Paket - Reifenkontroll-Anzeige - Isofix - Airbag Beifahrerseite abschaltbar - Fahrersitz / Beifahrersitz Höhenverstellbar - Lenksäule Höhenverstellbar - Ledermultifunktionslenkrad - Multifunktionsanzeige / Bordcomputer - Stoßfänger und Aussensiegel in Wagenfarbe Lackiert - Wärmeschutzverglasung getönt - Rücksitzbank geteilt klappbar - Handschuhfach mit Kühlfunktion - Dekoreinlagen Dark Silver seidenmatt - Tagfahrlicht - 3. Bremsleuchte - Außentemperaturanzeige - Schlüsselnummern 0603 / BJD - Euro 6 - Grüne Umweltplakette - Günstig im Unterhalt Probefahrt und Inzahlungnahme jederzeit möglich.✅ Das Fahrzeug kann auch bei schlechten Wetter in unserem Autohaus besichtigt werden !✅ Bei Fragen rufen Sie uns doch einfach an, wir helfen Ihnen gerne weiter unter der Nummer 0203/60178384 mobil unter 01522 / 8909553.✅ Fotos vom Fahrzeug in XXL finden sie auch auf unserer Facebookseite unter Auto Zentrum Duisburg.✅ Besuchen sie auch unsere Internetseite unter www.autozentrumduisburg.de✅ ÄNDERUNGEN UND IRRTÜMER VORBEHALTEN. ALLE ANGABEN OHNE GEWÄHR. Fahrzeugbeschreibungen sind ausdrücklich keine zugesicherten Beschaffenheitseigenschaften.
1 note
·
View note
Text
Nokia 7.2
#Nokia #7.2, Laat je creativiteit de vrije loop met Nokia 7.2. Maak ongelooflijke foto's, bekijk al je video's in #HDR en gebruik de #telefoon tot wel 2 dagen met één laadbeurt.
Kleuren Charcoal, Cyan Green, Ice
Afmetingen 159,92 x 75,15 x 8,25mm
Gewicht 180 g
2.5D Corning® Gorilla® Glass
Besturingssysteem Android 9 Pie
RAM 6 GB
CPU Qualcomm® Snapdragon™ 660
Type kabel USB Type-C™ (USB 2.0)
SIM-kaarten Dual SIM
Type SIM-kaart Nano-SIM
Sensors Lichtsensor + RGB-sensor, nabijheidssensor, accelerometer (G-sensor), E-kompas, gyroscoop
Andere …
View On WordPress
1 note
·
View note
Photo
18.08.2019
Anwesende SCs:
Dr. Lilly Rose - Nosferatu
Yumi Yoshimido - Toreador
Olivia Colomar - Nosferatu
Dr. Harper Dearing - Tremere
Vasiya - Gangrel
Relvante NSC:
Bill & Carren Paulson
Nach genauem Überlegen haben sich die Kindred überlegt doch nicht ins Haus gegangen zu sein und haben dies nun dieses Mal gemacht.
Zuerst wurde das Grundstück noch einmal genau unter die Lupe genommen und nachdem die Lampe des Lichtsensors bei der Hintertür von Yumi zerbrochen worden ist sind sie ins Haus gekommen.
Recht schnell haben sie den geheimen Keller gefunden - bei dem Yumi die Falltüre zerbrochen hat - und konnten daher mit großer Sicherheit sagen, dass das Ehepaar Paulson in irgend einer Form involviert ist bei den Ritualen die für die Morde verantwortlich sind.
Sie konnten dort keine Bücher oder einen Ritualdolch finden doch die 4 Kissen in dem Keller weisen daraufhin dass es zumindest noch 2 weitere Teilnehmer gibt und der Geruch weißt darauf hin dass zumindest das letzte Opfer Obdachlos war.
Nun gilt es sich weiter zu überlegen wie sie die weiteren Teilnehmer finden können.
1 note
·
View note
Text
DUINO EDU #4 - Lichtsensor
In diesem Beitrag möchte ich dir zeigen, wie du einen analogen Lichtsensor via Grove Schnittstelle am Arduino mit der Entwicklungsumgebung DUINO EDU programmierst.
Die Entwicklungsumgebung DUINO EDU habe ich dir bereits im Beitrag Arduino Programmierung mit DUINO EDU vorgestellt und kleine Schaltungen mit Sensoren / Aktoren gezeigt. - DUINO EDU #1 – Grove LED, - DUINO EDU #2 – Grove Button Shield, - DUINO EDU – LED, Helligkeit per serieller Schnittstelle steuern Hier soll es nun darum gehen, wie du einen analogen Lichtsensor anschließt und den Sensorwert auswerten kannst.
analoger Lichtsensor mit Grove Schnittstelle
Rückseite des analogen Lichtsensors
Benötigte Ressourcen für den Nachbau der Schaltung
Wenn du die nachfolgende Schaltung nachbauen möchtest, dann benötigst du: - einen Arduino UNO, - ein USB-Datenkabel, - ein Base Shield v2, - ein Grove Lichtsensor, - eine Grove LED, - zwei Grove Kabel
Bauteile - Schaltung analoger Lichtsensor & LED am Arduino UNO Zusätzlich verwende ich noch Grove Wrapper, um die Platinen der Sensoren / Aktoren aneinander zu reihen. Das hat den Vorteil, dass diese nicht auf dem Schreibtisch wild herumfliegen.
Sensoren / Aktoren auf Grove Wrapper
Aufbau der Schaltung und programmieren in DUINO EDU
Im nachfolgenden YouTube-Video zeige ich dir, wie du den analogen Lichtsensor an den Arduino UNO anschließt und in der Entwicklungsumgebung DUINO EDU programmierst. https://youtu.be/vVIC2d_tG9Q
Aufbau der Schaltung
Der Lichtsensor ist ein analoger Baustein und muss daher an einen der freien analogen Pins A0 bis A3 angeschlossen werden. Den Wert vom Lichtsensor wollen wir dann auf eine LED visualisieren und somit muss diese an einen PWM Pin D3, D5, D6, D9, D10, D11 angeschlossen werden.
Aufbau der Schaltung - Arduino UNO mit analogem Lichtsensor & LED
Programmieren in DUINO EDU
Der analoge Lichtsensor gibt Werte zwischen 0 und 1023 zurück, je nachdem wie hell die Umgebung ist. Diesen Wert können wir nun auf ein PWM Signal mappen / zuweisen und somit die Helligkeit oder die Blinkfrequenz einer Leuchtdiode steuern. Aus der Helligkeit lässt sich jedoch kein Lux-Wert ableiten! Beispiel 1 - steuern der Helligkeit einer LED mit dem Lichtsensor Das PWM Signal für die Helligkeit der LED liegt zwischen 0 und 255, dieses hatte ich dir bereits im Beitrag DUINO EDU – LED, Helligkeit per serieller Schnittstelle steuern gezeigt.
Programm - Lichtsensor zum steuern der Helligkeit am Arduino Hier nun der kleine Code als ZIP-Datei. DUINO EDU - Lichtsensor & LED - steuern der HelligkeitHerunterladen Beispiel 2 - steuern der Blinkfrequenz einer LED Mit nur wenigen Handgriffen können wir das kleine Programm so umstellen, dass wir die LED abhängig von dem Umgebungslicht zum Blinken bringen.
Programm - Lichtsensor zum steuern der Blinkfrequenz am Arduino Auch hier bekommst du den Code als ZIP-Datei zum download. DUINO EDU – Lichtsensor & LED – steuern der BlinkfrequenzHerunterladen Read the full article
0 notes
Link
0 notes
Text
Calliope Mini 3 Tutorial: JacDac Sensoren und Aktoren - Ein praktischer Workshop für Anfänger
In diesem neuen Beitrag präsentiere ich dir die Calliope Mini Startbox mit JacDac Sensoren & Aktoren. In dieser Box findest du alles, was du für spannende Projekte am Calliope Mini 3 benötigst, ausgenommen den Mikrocontroller! Du bekommst diese im offiziellen Shop unter Jacdac Erweiterungen StartKit A für derzeit 49,95 € zzgl. Versandkosten. https://youtu.be/CD8PCHjmaRE Disclaimer: Die in diesem Tutorial verwendete Calliope Mini 3 Startbox mit JacDac Sensoren und -Aktoren wurde mir freundlicherweise von der Firma Calliope gesponsert. Trotz dieser Unterstützung bleibt meine Meinung zu den Produkten und den hier vorgestellten Inhalten unabhängig und basiert auf meinen eigenen Erfahrungen und Einschätzungen. Für diesen Beitrag benötigst du den neuen Mikrocontroller, da die Vorgängermodelle über keine JacDac Schnittstelle verfügen.
Calliope Mini 1.3 & Calliope Mini 3
Was ist die JacDac Schnittstelle und wie funktioniert diese?
Die JacDac-Schnittstelle ist so konzipiert, dass sie eine nahtlose Integration von Sensoren und Aktoren mit dem Calliope Mini 3 ermöglicht. Die Magie liegt darin, dass die Geräte automatisch erkannt werden, ohne dass du komplizierte Konfigurationen durchführen musst.
Chip mit Informationen zum Sensor auf einem Magnset Sensor mit JacDac Schnittstelle Dies geschieht, weil die JacDac-Schnittstelle ein standardisiertes Protokoll verwendet, das es den Sensoren und Aktoren ermöglicht, sich selbst zu identifizieren, sobald sie an den Calliope Mini 3 angeschlossen werden. Jeder Sensor und Aktor verfügt über einen eingebauten Chip, der dem Calliope Mini 3 mitteilt, welche Art von Gerät angeschlossen ist und welche Funktionen es bietet. Durch diese automatische Erkennung wird die Verwendung von Sensoren und Aktoren deutlich vereinfacht, insbesondere für Anfänger. Du musst dir keine Gedanken über komplizierte Konfigurationen oder Treiberinstallationen machen. Stattdessen kannst du dich darauf konzentrieren, deine Ideen in die Tat umzusetzen und kreative Projekte zu realisieren.
Was ist in der Startbox A enthalten?
In dieser Startbox A findest du nachfolgende Sensoren & Aktoren: - zwei Taster, - einen Drehregler, - einen Schieberegler, - ein RGB-Ring, - ein Magnetsensor, - ein Lichtsensor, - ein Hub, - Kabel in diversen Längen
Du benötigst quasi nur noch einen Calliope Mini 3 und einen PC zum Loslegen.
Erster Schritt - Upload eines leeren Programmes mit dem JacDac Service
Bevor wir in MakeCode mit den JacDac Sensoren arbeiten können, müssen wir zunächst ein leeres Programm mit dem JacDac Service auf den Calliope Mini 3 hochladen. Dazu wird der Mikrocontroller via USB an den Computer angeschlossen und im Browser (Google Chrome) gekoppelt. In MakeCode navigieren wir zu den Erweiterungen (1) und suchen dort nach "jacdac" (2). Aus den Suchergebnissen wählen wir nun den JacDac Client (3) aus. Wenn diese Erweiterung hinzugefügt wurde, dann sollten wir den Eintrag Module (4) sehen.
Dieses leere Programm müssen wir jetzt auf den Calliope hochladen und können danach JacDac Sensoren & Aktoren anschließen.
Aufbau einer kleinen Schaltung mit JacDac am Calliope Mini 3
Kommen wir jetzt zum interessanten Teil des Beitrages und bauen eine kleine Schaltung am Calliope Mini 3 auf. Taster via JacDac am Calliope Mini 3 anschließen und programmieren in MakeCode Im ersten Schritt möchte ich den mechanischen Taster nutzen, um am Calliope Mini die 3 RGB LEDs durchzuschalten. Der Calliope hat zwar zwei Taster und somit müsste man keinen zusätzlichen verwenden, jedoch bietet sich dieses kleine Beispiel als Einstieg an, da man hier bereits bekanntes auf den Taster anwenden kann.
Der Taster verfügt über zwei JacDac Schnittstellen, somit können wir diesen nicht nur mit dem Calliope verbinden, sondern an diesen noch weitere Sensoren / Aktoren anschließen. Dem Set liegen Kabel in verschiedene Längen bei und damit verbinden wir jetzt den Taster mit dem Calliope.
Calliope Mini 3 mit Taster über JacDac Schnittstelle verbunden
Sobald wir den Taster an den Calliope angeschlossen haben, wird dieser in MakeCode angezeigt. Um jetzt die passenden Blöcke zum Auswerten der Aktion am Taster zu erhalten, müssen wir noch auf die Schaltfläche "ADD BLOCKS" klicken. Unter dem Menüpunkt Module findest du jetzt den Knopf bzw. den Taster mit seinen Blöcken. Den Block "wenn knopfX..." kennst du sicherlich schon von den Tastern des Calliope jedoch hat dieser drei Status, unten, gedrückt und halten.
Das kleine Programm zum Steuern der RGB LED Leiste am Calliope Mini 3 sieht wie folgt aus:
Im oben verlinkten YouTube Video zeige ich dir noch eine weitere Schaltung mit dem 8bit RGB LED Ring und dem Schieberegler.
Fazit zur Startbox A mit JacDac Sensoren & Aktoren für den Calliope Mini 3
Die Startbox enthält vieles, was du für einen Einstieg in die Erstellung von kleinen Projekten mit JacDac Sensoren & Aktoren benötigst. Besonders in Verbindung mit MakeCode und dem Calliope Mini 3 ist es sehr einfach für Anfänger diese Komponenten zu programmieren. Da die JacDac Schnittstelle nicht speziell für den Calliope Mini 3 entwickelt wurde, kannst du dieses Set auch nutzen um mit anderen Mikrocontroller wie den BBC micro:bit oder einen speziellen RP2040 Mikrocontroller zu programmieren. Das Set kostet bei Calliope im Shop der Zeit knapp 50 € jedoch ist dieses vergleichsweise mit anderen Shops sehr günstig und somit ist dieses Angebot ggf. auch für andere Mikrocontroller interessant. Read the full article
0 notes
Text
Funk Handy MDE Handheld 5"
Funk Handy / MDE Handheld 5" Das Funk Handy / MDE läuft mit Android 9 und bietet eine verbesserte Leistung, eine Optimierung des Akkuverbrauchs und viele neue Softwarefunktionen. Mit seiner Wi-Fi- und 4G-LTE-Netzwerkfähigkeit ist Ihr Betrieb immer verbunden. Darüber hinaus unterstützt der MT-51 Rev. 2 Funktionen wie 2D-Barcode-Scannen, NFC, GPS, Fotografieren und Sprachkommunikation. Mit seiner Staub- und Wasserdichtigkeit von IP65 ist er auch für den Außeneinsatz bestens geeignet. - 5 Zoll Display - Anti-Kratz Touchpanel - Leichte Konstrution - PCAP Anzeige - 4/64GB - 4GB - 8M Back Camera, - BT, WIFI - 4000mA Battery - Integrierter 2D Scanner Zebra - GMS, NFC - Wasser- und Staubdicht nach IP65 - inkl. Ladeschale 2 Jahre Garantie Funk Handy / MDE Optionen: - Pistolengriff 59,00 Euro - Ladeschale 1x USB 59,00 Euro - Docking Station mit 4 Stckplätze 225,00 Euro - zusätzliche Puffer Batterie 6 Monate Garantie - 85,00 Euro netto CPU Qualcomm Snapdragon 625 (MSM8953), Octa-Core 64-bit ARM® Cortex™-A53 bis zu 2,0GHz Anzeige 5-Zoll-IPS-Display mit einer Auflösung von 720 x 1280 Helligkeit 330 nits Berühren Sie 5-Punkt kapazitiver Touch, 7H-Kratzschutz RAM / ROM 4GB LPDDR3 / 64GB ROM eMMC E/A-Schnittstelle 1 x USB Typ C (für Daten und Strom) 1 x 3,5-mm-Kopfhörer-Audiobuchse 1 x SIM-Karte 1 x SD-Karte (unterstützt SDHC/SDXC, max: 128GB) 1 x POGO PIN für Ladestation 1 x POGO PIN für Scanning Gun Betriebssystem Android 9 (Google Mobile Service wird unterstützt) Wi-Fi WiFi 802.11 (b/g/n/ac) Frequenz 2,4GHz + 5 GHz Dualband 4G LTE CMCC 4M: LTE 1/2/3/4/7/17/20/38/39/40/41 WCDMA 1/2/5/8 GSM 2/3/5/8 Bluetooth BT4.1 (BLE) Klasse 1 GPS ja NFC NFC 13,56MHz, unterstützt ISO/IEC 14443A/14443B/15693/18092/ Mifare Protokoll Schaltfläche 1 x Einschalten, 1 x Lautstärke auf/ab, 2 x Barcode-Trigger (links und rechts) Sensor eCompass, Schwerkraftbeschleunigungssensor, Lichtsensor, Entfernungssensor, LED-Anzeige Audio 1 x eingebautes Mikrofon (Empfindlichkeit: -42db, Ausgangswiderstand 2,2kΩ) 1 x eingebauter Lautsprecher (8Ω/0,7W) 1 x 3,5-mm-Kopfhörer-Audiobuchse Kamera 1 x Rückkamera mit 13 Megapixel und Autofokus Batterie Eingebauter 3,85V/4000mAh Arbeitszeiten 7 Stunden (Standardlautstärke 50%, Standardhelligkeit 200 nits, Wiedergabe von 1080P-Videos) Stromversorgung Eingang: AC100V ~ 240V、50Hz/60Hz Ausgang: DC 5V/2A, USB Typ A auf USB Typ C Kabel, 135cm 1D / 2D Barcode Leser Zebra SE2100 IP-Klasse IP65 Abmessungen 147,7 x 74 x 16,4 mm Umwelt Betriebstemperatur: -10°c bis 55°C Lagertemperatur: -20°C bis 60°C Luftfeuchtigkeit: 95% nicht-kondensierend Verpacken 5V 2A Netzteil, Handschlaufe, USB-Typ C auf USB-Typ A Buchsenadapter Optionen Einzel-Dockingstation (1 x USB Typ C), 4-Slot-Dockingstation, Backup-Akku-Clip, Pistolengriff Lesen Sie den ganzen Artikel
0 notes
Text
Calliope Mini 3 Tutorial: Datenübertragung zwischen Calliope und Arduino über die serielle Schnittstelle
In diesem Beitrag möchte ich dir erläutern, wie du über die serielle Schnittstelle Daten zwischen dem Calliope und einem Arduino austauschen kannst. Über eine serielle Schnittstelle kannst du Sensordaten und auch Befehle zum steuern eines anderen Mikrocontrollers oder angeschlossenen Aktor senden. https://youtu.be/CQPTF6WixiA Ich habe bereits in verschiedenen Beiträgen hier im Blog sowohl den Calliope Mini 3 als auch den Arduino UNO R3 vorgestellt. Jetzt möchte ich dir anschaulich zeigen, wie du diese beiden Mikrocontroller miteinander verbinden und Daten zwischen ihnen austauschen kannst. Während der Calliope Mini 3 eine Bluetooth-Schnittstelle für drahtlose Datenübertragung bietet, fehlt diese Funktion beim Arduino UNO R3.
Wozu benötigt man eine serielle Verbindung in Zeiten von Bluetooth & WiFi?
Zunächst möchte ich gerne klären, warum wir uns mit dem Aufbau und der Programmierung einer seriellen Verbindung in Zeiten von Bluetooth und WiFi überhaupt befassen. Serielle Schnittstellen sind immer noch relevant, da sie eine zuverlässige und einfache Möglichkeit bieten, Geräte miteinander zu verbinden. Sie sind oft schneller, stabiler und benötigen weniger Energie als drahtlose Verbindungen wie Bluetooth / WiFi. Außerdem sind serielle Schnittstellen in vielen eingebetteten Systemen, Sensoren und IoT-Geräten weit verbreitet.
Benötigte Ressourcen für diesen Beitrag
Wenn du die kleine Schaltung und die damit verbundenen Beispiele nachbauen / programmieren möchtest, dann benötigst du: - einen Calliope Mini 3 mit Datenkabel, - einen Arduino UNO R3 oder Arduino Nano V3 mit passendem Datenkabel, - drei Breadboardkabel 10 cm, männlich - männlich Für die nachfolgenden Beispiele benötigst du noch: - eine 10 mm oder 5 mm LED mit 220 Ohm Vorwiderstand, - ein 170 Pin Breadboard, - zwei Printtaster 12 mm x 12 mm mit Kappe, - einen kleinen Servomotor SG90, - diverse Breadboardkabel
Bauteile für die serielle Verbindung von Calliope zum Arduino Da der Calliope Mini 3 über diverse Sensoren verfügt, zeige ich dir auch Beispiele in welche wir einen Temperatursensor, Lichtsensor, 3-Achsen Lagesensor verwenden und am Arduino auswerten.
Aufbau der seriellen Verbindung zwischen dem Arduino und Calliope Mini 3
Bauen wir zunächst die serielle Verbindung zwischen den beiden Mikrocontrollern auf. Dazu benötigen wir drei Breadboardkabel (männlich - männlich, 10 cm). Wir verwenden jedoch nicht die digitalen Pins D0 & D1 vom Arduino UNO R3, denn diese sind mit dem USB-Anschluss verbunden. Immer wenn wir ein neues Programm auf den Mikrocontroller aufspielen möchten, müssen wir dann die Verbindung zwischen den beiden Mikrocontrollern trennen. Als alternative können wir jeden beliebigen anderen digitalen Pin vom Arduino verwenden. Denn wir lösen dieses Problem im Code mit SoftwareSerial.
serielle Verbindung zwischen einem Calliope Mini 3 und einem Arduino UNO R3 Arduino UNO R3Calliope Mini 3Farbedigitaler Pin D10 - RXP1 - TXliladigitaler Pin D11 - TXP0 - RXorangeGNDGNDweiß Das Pinout vom Calliope Mini 3 findest du entweder einmal auf der Rückseite des Mikrocontrollers und auch nachfolgend in der Grafik.
Pinout der Buchsenleiste am Calliope Mini 3
Testen der seriellen Verbindung
Zunächst möchte ich dir gerne zeigen, wie du deine serielle Verbindung testen kannst. Das ist besonders wichtig, wenn der Code mal nicht so funktioniert, wie du es erwarten würdest und du dich auf die Fehlersuche begeben musst. In der Arduino IDE bekommst du ein kleines Tool, mit welchem du dir die Daten von der seriellen Schnittstelle ausgegeben und auch soweit dieses Zahlen sind, in einem Liniendiagramm visualisieren kannst.
Abfragen der seriellen Schnittstelle am Arduino
Der nachfolgende Code funktioniert für die meisten Mikrocontroller der Arduino Familie, ich beziehe mich jedoch auf den am meisten verbreiteten, den Arduino UNO R3. Mit dem nachfolgenden Code geben wir die empfangenen Daten auf der seriellen Schnittstelle des Arduinos aus und damit können wir dann diese im seriellen Monitor oder seriellen Plotter (soweit diese aus Zahlen bestehen) betrachten. #include // erster Parameter 10 für Pin RX, // zweiter Parameter 11 für Pin TX SoftwareSerial softwareSerial(10, 11); void setup() { //beginn der seriellen Kommunikation mit 9600 baud //auf der "normalen" seriellen Schnittstelle Serial.begin(9600); //beginn der seriellen Kommunikation mit 9600 baud //auf der neuen seriellen Schnittstelle softwareSerial.begin(9600); } void loop() { //Wenn Daten an der Schnittstelle anliegen, dann... if (softwareSerial.available() > 0) { //auslesen und ausgeben der Daten Serial.println(softwareSerial.readString()); } } Mit diesem kleinen Programm lassen wir die Daten, welche vom Calliope Mini 3 gesendet wurden, auf der "normalen" seriellen Schnittstelle ausgeben.
Abfragen der seriellen Schnittstelle am Calliope Mini 3
Eine serielle Verbindung klappt auch in die andere Richtung, daher können wir ebenso gut am Calliope Mini 3 die Daten anzeigen. Hier haben wir die Möglichkeiten, die Daten auf der 5x5 LED Matrix in einem Lauftext anzuzeigen. Wenn die Daten nur aus Zahlen bestehen, dann kannst du diese Werte auch im Datenlogger anzeigen. Der Datenlogger kann nur Zahlen anzeigen. Ein kleiner Hack wäre es den Text als Spaltenname zu verwenden, jedoch ist dieses nicht wirklich brauchbar. Das kleine Programm dazu sieht wie folgt aus:
Programm in MakeCode zum lesen der seriellen Schnittstelle am Calliope Mini 3 Hier die HEX-Datei zum download und importieren in MakeCode. Programm - lesen der seriellen Schnittstelle am Calliope Mini 3Herunterladen Im nachfolgenden kleinen Video demonstriere ich dir, wie ein Text vom Arduino an den Calliope gesendet und dieser als Lauftext auf der 5x5 LED Matrix angezeigt wird.
Schalten einer LED am Arduino mit dem Calliope Mini 3
Als Erstes möchte ich dir gerne zeigen, wie du eine LED am Arduino mit dem Calliope Mini 3 schalten kannst. Es gibt diverse LEDs, ich verwende gerne die 10 mm LED für solche Schaltungen, da hier der 220 Ohm Vorwiderstand entfällt.
Code am Calliope Mini 3 zum Senden von Befehlen über die serielle Schnittstelle In MakeCode schreiben wir nun ein kleines Programm, in welchem wir zunächst beim Starten die serielle Verbindung auf die Pins P0 & P1 mit 9600 Baud umleiten. Wenn der Taster A betätigt wird, dann soll ein A über die serielle Schnittstelle gesendet. Wird der Taster B betätigt, dann wird ein B gesendet. Alternativ kann man auch noch das Logo auf der Rückseite verwenden und mit diesem einen weiteren Befehl senden.
MakeCode - Programm zum senden von Befehlen über die serielle Schnittstelle am Calliope Mini Hier das kleine Programm für MakeCode zum Importieren. Programm - Calliope Mini 3 Taster zum serielles senden von BefehlenHerunterladen Code am Arduino IDE Am Arduino müssen wir jetzt die Befehle vom Calliope Mini empfangen und auswerten. Wie zuvor bereits erläutert verwende ich eine SoftwareSerial Schnittstelle, da diese es einfacher erlaubt das Programm zu wechseln, ohne die Verkabelung zum Calliope Mini zu trennen. #include //10mm LED am digitalen Pin D7 angeschlossen #define ledBlau1 7 //5mm LED am digitalen Pin D6 angeschlossen #define ledBlau2 6 // RX, TX SoftwareSerial softwareSerial(10, 11); void setup() { //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); softwareSerial.begin(9600); //definieren das die Pins der LEDs als Ausgang dienen pinMode(ledBlau1, OUTPUT); pinMode(ledBlau2, OUTPUT); } void loop() { //Wenn Daten an der seriellen Schnittstelle //anliegen, dann... if (softwareSerial.available() > 0) { //lesen der gesamten Zeile String data = softwareSerial.readString(); //entfernen der unnötigen Leerzeichen //am Anfang und Ende data.trim(); //Ausgeben der empfangenen Daten auf //dem seriellen Monitor der Arduino IDE Serial.println(data); //Wenn ein "A" empfangen wurde, dann... if (data == "A") { //LEDs aktivieren digitalWrite(ledBlau1, HIGH); digitalWrite(ledBlau2, HIGH); } else if (data == "B") { //Wenn ein "B" empfangen wurde, //dann sollen die LEDs deaktiviert werden digitalWrite(ledBlau1, LOW); digitalWrite(ledBlau2, LOW); } } }
Steuern eines Servomotors am Arduino mit dem Calliope Mini
Statt eine LED kannst du auch einen Servomotor steuern. Der hier verwendete Servomotor kann einen Winkel zwischen 0° und 180° ansteuern. Den Servomotor schließen wir am digitalen Pin D9 beim Arduino UNO an.
Wir belassen das Programm auf dem Calliope Mini wie zuvor und ändern lediglich das kleine Programm am Arduino. #include #include //Der Servomotor ist am digitalen Pin D9 angeschlossen #define servoPin 9 // RX, TX SoftwareSerial softwareSerial(10, 11); //Erzeugen eines neuen Servoobjektes Servo servo; //Feld zum speichern der Servoposition int servoPosition = 0; //Konstante mit dem Wert wieviele Schritte der Servomotor fahren soll const int SERVO_STEPS = 20; void setup() { //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); softwareSerial.begin(9600); //verbinden des Pins des Servomotors mit dem Servoobjekt servo.attach(servoPin); //anfahren der Position 0 servo.write(servoPosition); } void loop() { //Wenn Daten an der seriellen Schnittstelle //anliegen, dann... if (softwareSerial.available() > 0) { //lesen der gesamten Zeile String data = softwareSerial.readString(); //entfernen der unnötigen Leerzeichen //am Anfang und Ende data.trim(); //Ausgeben der empfangenen Daten auf //dem seriellen Monitor der Arduino IDE Serial.println(data); //Variable zum speichern der neuen Servoposition int newServoPosition = 0; //Soll der Wert auf oder ab gezählt werden? bool countUp = false; //Wenn der empfange Wert "A" ist UND //die aktuelle Servoposition kleiner als 180 ist, dann... if (data == "A" && servoPosition < 180) { //der aktuellen Servoposition die Schritte welche gefahren //werden sollen hinzu addieren newServoPosition = servoPosition + SERVO_STEPS; //das Feld countUp auf true setzen, //so das später das Feld um 1 incrementiert wird countUp = true; } else if (data = "B" && servoPosition > SERVO_STEPS) { //Wenn jedoch ein "B" empfangen wurde UND die //aktuelle Servoposition größer als die Schritte die gefahren werden sollen //ist, dann soll dieser Wert abgezogen werden newServoPosition = servoPosition - SERVO_STEPS; //die Variable countUp wird hier nicht manipuliert / verändert, da //wir diese bereits mit false initialisiert haben } //Schleife, sollange der Wert von servoPosition ungleich des Wertes //der Variable newServoPosition ist, mache... while (servoPosition != newServoPosition) { //prüfen in welche richtung die Variable verändert werden soll if (countUp) { servoPosition = servoPosition + 1; } else { servoPosition = servoPosition - 1; } //anfahren von einem Grad servo.write(servoPosition); //eine kleine Pause von 25 ms. delay(25); //ausgeben der neuen Servoposition auf dem seriellen Monitor Serial.println(servoPosition); } } }
Regeln der Helligkeit einer LED am Arduino mit dem Lichtintensitätssensor vom Calliope Mini
Der Lichtintensitätssensor vom Calliope Mini 3 liefert Werte in bereich von bis 255 das passt sehr gut auf den Wertebereich eines PWM Signals mit welchem wir sehr einfach die Helligkeit einer LED regeln können.
Wenn wir mit einer Taschenlampe auf die LED Matrix leuchten dann erhöht sich der Wert bis zu einem maximum von 255. MakeCode Programm zum seriellen senden der gelesenen Lichtstärke Hier das kleine Programm zum auslesen der Lichtstärke am Calliope Mini 3 und absenden über die serielle Schnittstelle.
Und natürlich das Programm als HEX-Datei zum download und importieren in MakeCode. Programm - lesen und senden der Lichtstärke am Calliope Mini 3 über die serielle SchnittstelleHerunterladen Arduino Code zum setzen eines PWM Signals an einer LED Da der Wert vom Lichtintensitätssensor vom Calliope Mini einen Wert zwischen 0 und 255 liefert können wir diesen 1:1 für unser PWM Signal verwenden und müssen diesen hier lediglich nur empfangen und der LED aks analogen Wert zuweisen. #include #include //die LED ist am digitalen PWM Pin 9 angeschlossen #define led 9 // RX, TX SoftwareSerial softwareSerial(10, 11); void setup() { //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); softwareSerial.begin(9600); //Pin der LED als Ausgang definieren pinMode(led, OUTPUT); } void loop() { //Wenn Daten an der seriellen Schnittstelle //anliegen, dann... if (softwareSerial.available() > 0) { //lesen der gesamten Zeile String data = softwareSerial.readString(); //entfernen der unnötigen Leerzeichen //am Anfang und Ende data.trim(); //Ausgeben der empfangenen Daten auf //dem seriellen Monitor der Arduino IDE Serial.println(data); //schreiben des empfangenen Wertes als PWM Signal auf den Pin der LED //mit der Funktion toInt() wird die Zeichenkette in eine Zahl umgewandelt analogWrite(led, data.toInt()); } } Read the full article
0 notes