Ich habe hier 2 Codes schaffe aber leider nicht sie zu verbinden, wäre jemand so nett mir zu helfen das übersteigt leider meine fähigkeiten.
Code 1:
#include <AccelStepper.h>
#include <IRremote.h>
int receiver = 11;
AccelStepper stepper(AccelStepper::DRIVER, 2, 3);
int spd = 1000; // The current speed insteps/second
int sign = 1; // Either 1, 0or -1
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
void setup()
{
irrecv.enableIRIn(); // Start the receiver
stepper.setMaxSpeed(1000);
stepper.setSpeed(400);
}
void loop()
{
long c;
if (irrecv.decode(&results)) // have we received an IR signal?
{
c = results.value;
if (c == 16726215) { // on
sign = 1;
}
if (c == 16750695) { // stop
sign = 0;
}
if (c == 16753245) { // slow
spd = 400;
}
if (c == 16736925) { // medium
spd = 600;
}
if (c == 16769565) { // fast
spd = 800;
}
stepper.setSpeed(sign * spd);
irrecv.resume(); // Receive the next value
}
stepper.runSpeed();
}
Code 2:
#include <IRremote.h>
#define SW1 6 // Relay control pin 6
int RECV_PIN = 11; // IR receive pin is 11
IRrecv irrecv(RECV_PIN);
long int decodedCode;
decode_results rcv;
void controlRelays(){
if(decodedCode == 16738455) digitalWrite(SW1, LOW);
if(decodedCode == 16756815) digitalWrite(SW1, HIGH);
}
void setup(){
pinMode(SW1, OUTPUT);
digitalWrite(SW1, HIGH); // Relay is active low, so HIGH will turn it off at startup
Serial.begin(9600);
Serial.println("IR relay controller");
irrecv.enableIRIn();
}
void loop(){
if (irrecv.decode(&rcv)) {
Serial.print("Signal received, Value= ");
decodedCode = rcv.value;
Serial.println(decodedCode, DEC);
controlRelays();
irrecv.resume();
}
}
ich hab die Codes aus Libaries an meine Anforderung angepasst und das war nicht leicht für mich und hat lang gedauert, Programmierer wird ich eh keiner es ginge nur um ein wenig Hilfe.
Hab mir etliche Videos reingezogen und gelesen und herumprobiert und das schreiben in dieses Forum hab ich eh lange zurückgehalten weil ich die Antworten fürchte.
Ich fasse zusammen:
Du weißt nicht was du da tust, und möchtest es auch nicht lernen.
Stimmt das in etwa?
Dann habe ich ganz schlechte Nachrichten für dich.
Dieses ist ein Forum, wo sich Arduino (Hobby) Programmierer, und solche die es werden wollen, gegenseitig unterstützen.
Na ja, da die Sketche recht kurz sind, und auch keine delays drin sind, kann das sooo schwierig doch eigentlich nicht sein:
Du musst die jeweiligen Blöcke ( global defines, setup und loop ) zusammenkopieren. Feststellen was doppelt vorhanden ist, und das Doppel löschen. Wo unterschiedliche Namen für das Gleiche verwendet wurden, musst Du die vereinheitlichen. Und dann noch die funktional gleichen Anweisungsblöcke zusammenführen ( hier das Empfangen des IR-Signals im loop ). Das ergibt dann:
#include <AccelStepper.h>
#include <IRremote.h>
int receiver = 11;
#define SW1 6 // Relay control pin 6
AccelStepper stepper(AccelStepper::DRIVER, 2, 3);
int spd = 1000; // The current speed insteps/second
int sign = 1; // Either 1, 0or -1
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
void controlRelays(long decodedCode) {
if (decodedCode == 16738455) digitalWrite(SW1, LOW);
if (decodedCode == 16756815) digitalWrite(SW1, HIGH);
}
void setup()
{
irrecv.enableIRIn(); // Start the receiver
stepper.setMaxSpeed(1000);
stepper.setSpeed(400);
pinMode(SW1, OUTPUT);
digitalWrite(SW1, HIGH); // Relay is active low, so HIGH will turn it off at startup
Serial.begin(9600);
Serial.println("IR relay controller");
}
void loop()
{
long c;
if (irrecv.decode(&results)) // have we received an IR signal?
{
c = results.value;
Serial.print("Signal received, Value= ");
Serial.println(c, DEC);
controlRelays(c);
if (c == 16726215) { // on
sign = 1;
}
if (c == 16750695) { // stop
sign = 0;
}
if (c == 16753245) { // slow
spd = 400;
}
if (c == 16736925) { // medium
spd = 600;
}
if (c == 16769565) { // fast
spd = 800;
}
stepper.setSpeed(sign * spd);
irrecv.resume(); // Receive the next value
}
stepper.runSpeed();
}
Testen kann ich es nicht, da ich deine HW nicht habe. Auch habe ich nichts an den unterschiedlichen Programmierstilen geändert. Das kann man also noch optimieren.
Kompilierbar ist es. Testen und evtl. noch vorhandene Fehler ausbügeln überlasse ich jetzt mal dir
Vielen Dank es funktioniert ,es gibt ja doch nette Menschen in diesem Forum.
Ich habs eh selber versucht viele male es gab halt immer Fehlermeldung.
Zu combie,
wenn ich sagen wir grad eine Wand bemale und es fragt mich wer etwas über die Farbe sag ich auch nicht jetzt mach einmal die Ausbildung zum Maler und dann können wir weiterreden, und ausserdem bin ich Hobbyprogammierer halt ein schlechter ich versuche es erst seit 7 Wochen.
wenn ich sagen wir grad eine Wand bemale und es fragt mich wer etwas über die Farbe sag ich auch nicht jetzt mach einmal die Ausbildung zum Maler und dann können wir weiterreden, und ausserdem bin ich Hobbyprogammierer halt ein schlechter ich versuche es erst seit 7 Wochen.
zwieblum:
2 Leute, die einen Maler übers Ohr hauen wollen?
Ist doch ganz normal...
Hilfsbereitschaft wird gerne und auch sofort ausgenutzt, und wer keinen Spaß daran hat, ausgenutzt zu werden, ist automatisch ein Ar*chloch.
Naja, einfach reden lassen. Wenn er ein bischen Resthirn hat, wird er irgendwann merken, dass es mehr Sinn macht, sich nur stellenweise Unterstützung zu suchen, und es selber zu schaffen. Denn jetzt hat er zwar ein Programm das funktioniert, aber er hat weiterhin keinerlei Ahnung warum es bei ihm nicht geklappt hat. Und somit wird er bei der nächsten Änderung wieder auf der Nase liegen und merken, dass er da jetzt eigentlich nichts gewonnen hat. Mit ein bischen weniger Scheiße erzählen und ein bischen mehr in die Programmierung reinknien, wäre er beim nächsten Problem ein Stück weiter, weil er ein Stück Wissen dazugewonnen hat. So ist die nächste Sackgasse schon vorprogrammiert. Ist also nur ein Eigentor, von dem er jetzt noch glaubt, er hat den Ball mit seinen tollen Sprüchen bei dir ins Tor geschossen.
Kann Es sein, daß in letzter Zeit vermehrt 'eigenartiges Volk' hier einschlägt?
Wäre echt für eine ATF ... AntiTrollFunktion ... Da kann man die Nicks rein packen, Die 'etwas Eigen' sind und gut ... weil: Die Evolution wird uns hier ganz einfach alleine lassen
Dafür habe ich schon lange meine ganz private Trolliste als File.
Sperren bringt nichts, ich möchte mich ja nicht um den Spaß bringen, den Kram zu lesen
Ich denke, dass Tips, die sich anhören wie "mach erstmal eine ordentliche Ausbildung zum Maler", in solch einem Forum nicht immer gut ankommen. Sich eine Wand "für lau" von einem gelernten Maler streichen zu lassen und zu fragen wie sowas mit wenig Aufwand geht, sind sicher zwei verschiedene Sachen. Und ein professioneller Anstreicher ist auch eventuell nicht der beste Ratgeber für die Frage nach geringstem Aufwand und "das kann doch nicht schwierig sein".
Als Tippgeber sollte man zumindest akzeptieren, dass der eigene Hinweis so aufgefasst wird. "Na, dann eben nicht" ist als Reaktion zwar legitim, aber zu heftiger Eskalation gehören immer zwei Seiten die sich beide im Recht (oder zumindest falsch verstanden) fühlen. Das sollten alle Beteiligten beherzigen, insbesondere diejenigen, die hier öfters Tipps geben.
Andererseits: Keine eigenen Versuche zeigen und nur der Hinweis
"es gab halt immer Fehlermeldung" (ohne diese genau zu spezifizieren)
verleitet zu Recht nur wenige, gleich eine allgemeine Abhandlung, wie so etwas generell geht, zu verfassen.
Und dann das auch gleich vorführen !
MicroBahner Franz Peter ist da schon ein Glücksfall in diesem Forum. Jedenfalls für efraunz. Der hat sich ja immerhin bedankt.
Na ja, ich kenne sowas schon aus eigener Erfahrung. In meiner aktiven Berufszeit war ich auch in der Weiterbildung unserer Außendienstingenieure beschäftigt. Und wenn da einer bei den Übungen wie der berühmte 'Ochs vorm Berg' stand, konnte ich auch nicht einfach sagen: "Schau halt in die Kursunterlagen und lies dir das durch". Da wäre ich gleich untendurch gewesen und den nächsten Kurs hätte ein anderer gehalten. Nein, da muss man dann hingehen, und das mal ganz konkret zeigen und vormachen. Nur so haben die das dann auch kapiert und gelernt. Klar haben die meisten die Übungen allein hinbekommen ( sonst wäre was an meinen Kursunterlagen nicht in Ordnung gewesen ). Aber es gibt eben immer solche und solche - das muss man akzeptieren.
Nun kommt sicher wieder das Argument, dass hier ja alles umsonst ist, und die Kursteilnehmer dafür bezahlen mussten ( oder besser gesagt ihre Firmenabteilung ). Aber hier wird ja niemand gezwungen zu helfen. Wem der Fragesteller 'zu blöd' ist, der kann's ja einfach lassen.
Die ganze Schreiberei hier um sich gegenseitig irgenwelche Unschönheiten um die Ohren zu hauen, hat sicher mehr Zeit gekostet, als ich für das Zusammenführen der beiden Mini-Sketche gebraucht habe
Hat aber der 'Kursteilnehmer' nun gelernt, Das selber hin zu bekommen, oder steht Er mit dem nächsten Mini-Problem wieder vor Deiner Tür, weil Du Das ja schneller hinbekommst, als Ihm Das beizubringen?
Selber lernen kostet halt mehr Zeit, als Das von einem Ausgelerntem machen zu lassen.
Naja, hoffen wir das Beste - vll. blickt Er ja durch den zusammen geführten Sketch durch und hat was gelernt - die Hoffnung stirbt zuletzt.
Bei einem Kursteilnehmer kann man, ja, man muss erwarten, dass der/diejenige lernen will.
Ich weiß nicht, wie es euch geht, aber ich sehe hier eher keinen Lernwillen.
Oft gibts nach Kursen/Lehrgängen irgendeine Form von Abschlussprüfung/Zertifikat.
In Foren gibts sowas eher selten.
combie:
Oft gibts nach Kursen/Lehrgängen irgendeine Form von Abschlussprüfung/Zertifikat.
In Foren gibts sowas eher selten.
Bei meinen Kursen gab's nur ein 'Teilnahmezertifikat', aber keine Abschlußprüfung. Und eine Beurteilung gab's nur für den Kursleiter (durch die Teilnehmer ). Gibt's in Foren auch eher selten
Naja, die Leute, die auf einen Kurs gehen, tun das nicht um sich seine Arbeit machen zu lassen, sondern um seine Arbeit zu verstehen. Also jedenfalls wenn ich Schulungen gemacht habe, habe ich nicht gemault und gemauert, sondern mitgemacht, so gut es ging, denn mir war klar, es ist in meinem Interesse dabei mitzukommen.
Aber wie gesagt, ich ging ja auch zu dem Kurs, weil ICH was lernen wollte. Wenn ich mit dem Vorsatz hingegangen wäre, mir einen Blöden zu suchen der meine Arbeit macht, wäre ich wohl so blöd wieder gegangen wie ich gekommen bin. ........und das ist gut so.