Diese Geschichte hatte Luna mal als Gastautorin in einem anderen Blog geschrieben. Dort ist sie nun verschwunden, da der Blog nicht mehr existiert. Ich will den Artikel mal aufgreifen und vor allem die komplette Geschichte wiedergeben.
WeiterlesenKategorie-Archiv: Programmieren
KY-052 Luftdruck- & Temperatursensor (BMP280)
Beim Sensorkit x40 von Joy-IT wird in der Anleitung für den KY-052 auf die Adafruit_BMP280 Library verwiesen. Nachdem man den Testcode in den Arduino hochgeladen hat, kommt es jedoch zum Problem, dass der BMP280 nicht gefunden werden kann. Das liegt daran, dass in der Library die Adresse des Sensors nicht stimmt. Dies kann wie folgt behoben werden:
1.) Die Datei Adafruit_BMP280.h
in einem Texteditor öffnen.
2.) #define BMP280_ADDRESS
suchen. (Bei mir ists Zeile 37)
3.) 0x76
durch 0x77
ersetzen.
4.) Abspeichern
5.) Testcode neu kompilieren und in den Arduino laden.
Für solche Fälle empfiehlt sich generell der i2c Scanner.
Außerdem ist in der Anleitung die Pinbelegung beim Arduino falsch. Sämtliche Pins, die mit 3,3V beschrieben sind, gehören an 5V.
Wenn man den Testcode so nutzt, wie er in der Anleitung ist, kann der Sensor auch nur mit vier Drähten benutzt werden. GND an GND, VCC an 5V, SCL an SCL und SDA an SDA. Dabei kann mich sich das Editieren der o.g. Datei sparen. Denn sobald Spannung an SDO angelegt wird, verschiebt sich die Adresse auf 0x77.
Will man den Sensor im SPI Modus nutzen, muss man CSB an 5V anschließen. Im Testcode ist die Kommentierung der entsprechenden Stelle aufzuheben und der I²C Modus zu kommentieren.
Tutorial Servo, Motor Shield und HC-SR04 am Arduino Uno R3
Ich gehe im folgenden davon aus, dass 7-12V an Vin anliegen. Lt. der Dokumentation sollte man min. 7V anschließen, damit man am 5V Pin auch 5V anliegen hat.
Servo
Einen Servo an einen Arduino anzuschließen, ist eigtl. sehr einfach. Das braune Kabel muss an GND, das rote an Vin und das gelbe an einen der digitalen Pins mit PWM (erkennbar an der ~) des Arduinos. In meinem Codebeispiel habe ich D5 genutzt.
#include <Servo.h>
Servo servo;
const int servoPin = 5;
const int servoAngle = 0; // Servo position in degrees at startup
Weiterlesen
Dash Lernroboter
Den Dash Roboter hatte ich in meine Linksammlung hinein genommen. Hier ist ein kleines, englisches Video zu dem Teil.