Hallo zusammen,
erstmal schon vielen Dank an die ganzen Beiträge im Forum, die mir schon viel weitergeholfen haben.
Zu meinem konkreten Problem habe ich leider bisher nichts gefunden.
Es geht um die Steuerung eines Schrittmotors.
Ich möchte die Geschwindigkeit und die Schrittzahl dynamisch steuern, heißt in die aktuelle Fahrt durch Werte, die von einem I2C Sensor gemessen werden, eingreifen. Im ersten Schritt soll nur die Fahrt unterbrochen werden, sobald dieser Sensor einen gewissen Wert überschreitet, welcher permanent gemessen werden soll, am besten nach jedem Schritt.
Durch diese Messung wird allerdings der Sketch demaßen langsam, dass sich der Motor nur noch extem langsam bewegt.
Gibt es eine library oder am besten ein Beispiel eines Workarounds? Also beispielsweise die Möglichkeit die Ansteuerung des Motors vom übrigen Sketch zu entkoppeln?
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken. In meinem Beispielsketch soll einfach nur die Verlangsamung duch das Auslesens des Sonsors verdeutlicht werden.
#include <Wire.h>
#include <Adafruit_BMP085.h>
/***************************************************
This is an example for the BMP085 Barometric Pressure & Temp Sensor
Designed specifically to work with the Adafruit BMP085 Breakout
----> https://www.adafruit.com/products/391
These displays use I2C to communicate, 2 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
****************************************************/
// Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 5
// Connect SDA to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 4
// EOC is not used, it signifies an end of conversion
// XCLR is a reset pin, also not used here
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
void loop() {
digitalWrite( 2 , HIGH );
delay(1);
digitalWrite( 2 , LOW );
delay(1);
int a=bmp.readPressure();
}