Verfasste Forenbeiträge
-
AutorBeiträge
-
ThorstenTeilnehmer
Hallo…..
hast du da mal einen link oder Bilder das man mal was von den Komponenten sieht und was du damit anstellen möchtest also was das Robot Car können soll.
Das wäre lieb…..dann könnte man da mal gucken was geht…
LG
Thorsten
ThorstenTeilnehmerDas hoffe ich jetzt auch mal…..ich hab das Problem dem Kollegen geschildert…er weiss also bescheid…..wenn es so nicht klappt brauchen wir 2 Controller
ThorstenTeilnehmerHi….
ich hab das jetzt erstmal so umgesetzt….und es funktioniert…..
#include <Servo.h> #include <Adafruit_NeoPixel.h> #define PIN 7 #define BRIGHTNESS 50 const int rfdown = 2; const int rfup = 3; const int servo = 9; int pos = 0; int i = 0; Servo rfServo; Adafruit_NeoPixel strip = Adafruit_NeoPixel (18, PIN, NEO_GRB + NEO_KHZ800); void setup() { // put your setup code here, to run once: strip.begin(); strip.show(); strip.setBrightness(BRIGHTNESS); pinMode(rfdown, INPUT); pinMode(rfup, INPUT); for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,255,0,0); } strip.show(); delay(2); rfServo.attach(servo); } void loop() { // put your main code here, to run repeatedly: if(digitalRead(rfdown)==HIGH){ rfServo.detach(); redfade(); delay(1); rfServo.attach(servo); for(pos = 95; pos >= 0; pos -= 1){ rfServo.write(pos); delay(30); } for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,255,0,0); } strip.show(); delay(2); } if(digitalRead(rfup)==HIGH){ rfServo.detach(); redfade(); delay(1); rfServo.attach(servo); for(pos = 0; pos <= 95; pos +=1){ rfServo.write(pos); delay(30); } for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,255,0,0); } strip.show(); delay(2); } } void redfade(){ uint16_t i,j; for (j=15;j<255;j++){ for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(2); } delay(50); for(j=255;j>15;j--){ for(i=0;i<strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(2); } delay(50); for (j=15;j<255;j++){ for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(2); } delay(50); for(j=255;j>15;j--){ for(i=0;i<strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(2); } delay(50); }
Der Kollege soll das mal testen….ob der Rangefinder für die paar sec. oben hält die das Licht fadet….da ich den Servo wieder auf attached setzte nachdem er die Position erreicht hat hält er die ja dann auch…geht nur um die Blinksequenz…
ThorstenTeilnehmerDer Rangefinder wiegt nicht viel…ich hab da schon ein paar gemacht…aber eben nie mit den stripes…darum hatte ich nie Probleme…ich benutze servos mit min 30ncm Drehmoment…die packen das….
Ich hab jetzt das Problem eben nur wegen den ws2812….Ich werde dem Kollegen eine kleine Platine bauen mit 2 ATtiny85….
Damit sollte das Problem gelöst sein und ich hab wieder was gelernt….
Bin froh hier im Forum zu sein….fühle mich wohl hier…..
ThorstenTeilnehmerHmm….da wäre dann das Problem….wenn der Servo keinen Strom mehr halt hält er den Rangefinder auch nicht auf Position, wie Franz-Peter sagt….dann wäre es wirklich einfacher 2 ATtiny85…die reichen da aus….das werde ich mal versuchen….
Danke für die Rückmeldungen….
Ihr seid Klasse!!!!!
ThorstenTeilnehmerOder gibt es die Möglichkeit das abschalten der interrupts zu umgehen….da ja so gesehen ein paralleles laufen beider Komponenten ja ohnehin eigentlich nicht machbar ist
ThorstenTeilnehmerHi..jup…das hast du gesagt….also…welche Lösung wäre möglich…da die LED bereits in den Helm schon verbaut sind…….ich sehe hier im Moment nur eine Lösung…2 arduinos…einer für den Servo und einen für die stripes….das beide einen Button auslesen ist ja möglich….und wegen dem platz könnte man sogar 2 ATtiny85 nehmen…
ThorstenTeilnehmerHi….das hab ich mir schon gedacht….ist auch nicht schlimm….habe meinem Kollegen ein video geschickt und er ist mit dem Ergebnis total zufrieden……
es hat sich also soweit dann alles erledigt…..
ich danke aber trotzdem recht recht recht herzlich für die Unterstützung und Hilfe von euch….das ist absolut spitze!!!!
Hoffe ich kann weiterhin auf eure Hilfe zählen falls ich mal wieder ein Problem haben sollte.LG
Euer Thorsten
und PS….es ist ein 28BYj-48…..ich werde mir auf alle fälle die Komplette MoBaTools lib reinziehen und ausprobieren….
ThorstenTeilnehmerHmm…das mit dem Videolink bekomme ich iwi nicht hin
ThorstenTeilnehmerThorstenTeilnehmerThorstenTeilnehmerso…mit diesem Sketch hab ich jetzt den 2ten Taster auch dabei und der Motor fährt auch wieder hoch
#include <Stepper.h> #include <Adafruit_NeoPixel.h> #define PIN 6 #define BRIGHTNESS 50 int button = 5; int button2 = 3; const int steps = 500; Stepper stepper(steps, 8,9,10,11); Adafruit_NeoPixel strip = Adafruit_NeoPixel (18, PIN, NEO_GRB + NEO_KHZ800); void setup() { // put your setup code here, to run once: strip.begin(); strip.show(); strip.setBrightness(BRIGHTNESS); stepper.setSpeed(30); pinMode(button, INPUT); pinMode(button2, INPUT); } void loop() { // put your main code here, to run repeatedly: if(digitalRead(button)==HIGH){ redfade(); motordown(); for(int i = 0; i<strip.numPixels();i++){ strip.setPixelColor(i,strip.Color(255,0,0)); strip.show(); } }else{ } if(digitalRead(button2)==HIGH){ redfade(); motorup(); for(int i = 0; i<strip.numPixels();i++){ strip.setPixelColor(i,strip.Color(0,0,0)); strip.show(); } }else{ } } void motordown(){ stepper.step(-steps); } void motorup(){ stepper.step(steps); } void redfade(){ uint16_t i,j; for (j=15;j<255;j++){ for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(10); } delay(500); for(j=255;j>15;j--){ for(i=0;i<strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(10); } delay(500); }
Videolink folgt
ThorstenTeilnehmerHi….
so hier mal der Sketch den ich bis jetzt habe…..
damit fadet der LED Stripe einmal auf und runter…..danach fährt der Motor die Steps und dann leuchten die LEDs konstant…..
und das soll nun gleichzeitig laufen und so ca. 5 bis 6 sek. dauern….Ich habe hier jetzt auch nur einen Taster erstmal zum testen zum runterfahren des Rangefinders, beim betätigen eines zweiten Tasters soll dann der Rangefinder wieder nach oben fahren und die LEDs wieder faden…..
und da hab ich nun das Problem mit den millis()…..
#include <Stepper.h> #include <Adafruit_NeoPixel.h> #define PIN 6 #define BRIGHTNESS 50 int button = 5; const int steps = 500; Stepper stepper(steps, 8,9,10,11); Adafruit_NeoPixel strip = Adafruit_NeoPixel (18, PIN, NEO_GRB + NEO_KHZ800); void setup() { // put your setup code here, to run once: strip.begin(); strip.show(); strip.setBrightness(BRIGHTNESS); stepper.setSpeed(30); pinMode(button, INPUT); } void loop() { // put your main code here, to run repeatedly: if(digitalRead(button)==HIGH){ redfade(); motor(); for(int i = 0; i<strip.numPixels();i++){ strip.setPixelColor(i,strip.Color(255,0,0)); strip.show(); } }else{ } } void motor(){ stepper.step(-steps); } void redfade(){ uint16_t i,j; for (j=15;j<255;j++){ for(i=0;i <strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(10); } delay(500); for(j=255;j>15;j--){ for(i=0;i<strip.numPixels(); i++){ strip.setPixelColor(i,j,0,0); } strip.show(); delay(10); } delay(500); }
ThorstenTeilnehmerHi ihr 2…
danke für die Rückmeldungen. Ich mache das im Auftrag eines Kollegen und der möchte einen Steppermotor verwenden, da er da einige davon zu Hause hat.
Meine persönliche Meinung wäre auch ein Servo, damit habe ich schon einige gebaut und programmiert mit 2,4ghz fernsteuerung, alles easy.Ich muss mal gucken ob ich den Kollegen überreden kann nicht doch auf Servo umzusteigen….
Und wegen dem Vorschlag mit Messenger oder WhatsApp wollte ich nur das es hier nicht vollgespamt wird…
Mich würde es trotzdem interessieren das Projekt mit einem Stepper umzusetzen….da ich gerade noch in der Arbeit bin werde ich heute Abend den Sketch den ich bis jetzt habe hier mal posten, würde mich freuen wenn wir da zusammen was machen könnten…
die millis() Funktion ist für mich immer noch ein klein wenig ein Buch mit sieben Siegeln..
Lg und danke schon mal
euer Thorsten
ThorstenTeilnehmerIch bin cosplayer mit Schwerpunkt Star Wars und das ist für einen Mandalorianer Helm
-
AutorBeiträge