Nur nicht so schnell aufgeben. Nur wenn man rumprobiert lernt man dazu. Ich programmiere jetzt schon seit 5 Jahren C/C++ und hänge trotzdem an manchen Problemen noch mehrere Tage.
Werbung
Nur nicht so schnell aufgeben. Nur wenn man rumprobiert lernt man dazu. Ich programmiere jetzt schon seit 5 Jahren C/C++ und hänge trotzdem an manchen Problemen noch mehrere Tage.
Fünf Jahre?
Ja, ich liebe es auch Probleme zu lösen. Dummerweise hänge ich an dieser ATtiny Servo Steuerung, die ja nicht so intensiv aufregend ist, auch schon 4 Wochen fest. Dieses ganze Thema ist eher so ein Fass ohne Boden. Vom 100. zum 1000. Vor 4 Monaten habe ich unseren Eingangsbereich unterm Carport modernisiert. Eine 2,5 Meter breite Pforte aus Eisen geschweißt und verzinken lassen. Selbige motorisch als Rolltor angetrieben. Mit Videoüberwachung der Autos und Tüddelüt aller Art. Dazu einen Arduino Nano als Klingelschild scrollend mit unserem Namen und dem Hinweis, dass man zum Klingeln an der Kette, welche im Sichtbereich hängt, ziehen soll, woraufhin der Addam´s Sound: "Sie haben geläutet" kommt. Natürlich in angemessener Brillianz und Lautstärke. Drinnen merken wir das dann auch. Alles funktioniert prima. Allein das Display zeigt seid Gestern nur noch Krickel.
Dafür lohnt sich doch der Aufwand nicht? Die anderen Elektroniken sind noch altmodisch aufgebaut und laufen. Natürlich ist alles versiegelt. Zu kalt kann es dem Microcontroller auch nicht geworden sein, da im selben Gehäuse ein Tastenschloß mit Transponder Abfrage sitzt, welches etwas Verlustwärme abgibt.
Soviel zu meiner Überzeugung was dieses Zeitgrab angeht.
Trotzdem versuche ich heute Abend aus der for-Schleife eine gemapte If Abfrage zu machen.
Danke für das Anspornen.
Achim
Wie meine Vorredner (-schreiber) schon sagten: die Arduino-Bibliotheken sind speziell auf einige Prozessoren angepasst. Solange man also zum Beispiel einen ATMega328 nutzt, ist alles gut. Sobald man einen etwas exotischeren Controller nutzt, funktionieren viele der Standard-Bibliotheken nicht mehr. Digistump (http://digistump.com/) hat ein Arduino-Board auf Basis eines ATtiny. Dafür gibt es auch eine Erweiterung der Arduino-IDE mit ein paar passenden Bibliotheken.
Für meine eigenen Projekte bin ich allerdings von der Arduino Software wieder abgerückt, da sie doch recht unflexibel ist und jede Menge Overhead mitbringt. Es ist zwar etwas mehr Arbeit, einen Controller in nativem C zu programmieren, allerdings lohnt sich der Aufwand in meinen Augen. Ich nutze deshalb eigentlich nur noch das ATMEL Studio. Habe dort auch schon einige Projekte mit Servos umgesetzt, ohne auf fertige Bibliotheken zurück zu greifen. Übrigens auf Basis eines ATtiny45, der dafür dicke reicht, wenn man auf den ganzen Arduino Schnick-Schnack verzichtet. Eines der Projekte ist ein Servo-Positionier-Modul, bei dem man die beiden Servo-Positionen per Poti einstellen kann und dann einfach per Taster oder per Optokoppler-Eingang hin und herschalten kann. Vielleicht kannst Du Dir Dein Leben etwas erleichtern, wenn Du aus sowas zurück greifst.
Wenn man die Grundlagen und die Theorie der Servo-Ansteuerung mal verstanden hat (und zudem vielleicht noch ein Oszi hat), ist das eigentlich alles kein Problem und geht insgesamt vielleicht sogar schneller als der Versuch, Arduino auf Deine Bedürfnisse anzupassen.
Geändert von redround (19.10.2016 um 11:48 Uhr)
Kalt oder heiß, wer weiß?
Das baue ich nicht wieder.
Vielleicht noch als Raumthermostat im Haus.
Ich glaube ich vertüddel mich gerade total.
Je mehr man liest, je mehr Info. Leider breit gefächert.
An Schnick-Schnack habe ich auch kein Interesse.
Genau das Suche ich gerade:
Eines der Projekte ist ein Servo-Positionier-Modul, bei dem man die beiden Servo-Positionen per Poti einstellen kann und dann einfach per Taster oder per Optokoppler-Eingang hin und herschalten kann.
Meinst du bei Digistump die kleinen Wifi Boards?
Ich habe noch mehrere von den ATtinys und ProMinis.
Damit muß ich erstmal etwas machen. Es reicht schon, dass ich unter anderem jede Menge Logik Ic wenig Sinnvoll rumliegen habe.
Ich versuche mal einen Servo-Positionier-Modul-Sketch hinzukriegen.
Ich dachte eher an was fertiges: http://shop.cboden.de/Schaltgeraete/...rchparam=servo
Du kannst das aber natürlich auch selbst bauen. Wenn Du willst, kann ich aber auch eine komplette Steuerung für Dich bauen. Vielleicht kannst Du Dich ja mal mit etwas Mechanik revanchieren
Das sieht ja sehr gut aus.
Aber leider auch sehr groß. Dann ist ja der ProMini wieder im Spiel. Auch weil ich gerne mit 3,7 Volt bastle.
Sorry die //Beschreibung stimmt nicht.Code:#include <SoftwareServo.h> SoftwareServo myservo; // create servo object to control a servo int potpin = A1; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin const int relaisPin = PB1; // Arbeitender DigitalPin6 void setup() { myservo.attach(0); // attaches the servo on pin 2 to the servo object pinMode(PB1, OUTPUT);// ist der schaltende Ausgang } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // waits for the servo to get there SoftwareServo::refresh(); int val = analogRead(potpin); if (val <= 70) { digitalWrite(relaisPin, HIGH); } else { digitalWrite(relaisPin, LOW); } if (val >= 110) { digitalWrite(relaisPin, HIGH); } else { digitalWrite(relaisPin, LOW); } }
Das Funktioniert schon. Mir fehlt die Info wie man 2 Werte in die if Abfrage setzt.
so wie ich das jetzt habe geht es nicht.
So auch nicht. Also zwischen 2 Werten HIGH sonst LOW?Code:if (val <= 70 >=120)
Wie schreibt man das?
Steht irgendwie nicht im Arduino Kochbuch?
Das das Servo nur solange reagiert, wie ein Taster gedrückt ist, regle ich einfach Analog.
Jegliches delay mag die Library nicht.
Leider bin ich jetzt bis Dienstag weg. Meine Frau verschleppt mich ganz hoch rauf, bis zur Mosel. Gefährliches Erdbebengebiet.
Naja, ich muß mit.
Meint sie?
Dabei habe ich hier soviel zu tun!
Beton vor der Pforte schütten, Blätter harken, Katzen füttern, einkaufen, Haus putzen, 10 Tage warten bis das Kind vom Reiterhof kommt,
Dachrinne sauber machen, Gartenteich ausräumen und und und diesen Blödsinn hier machen.
Sie meint das nützt nichts!
Tschüss
oder heißt es jetzt schon
Tschüssle?
Achim
Lesezeichen