- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 36

Thema: Fehler im Sketch für ATtiny?

  1. #11
    shedepe
    Gast
    Anzeige

    Powerstation Test
    Also als erstes. Freut mich dass du das geschafft hast. Dann; Informationen zu einem Mikrocontroller findet man wie bei allen anderen Bauteilen im dazugehörigen Datenblatt (z.B. ATtiny85 http://www.atmel.com/Images/Atmel-25..._Datasheet.pdf )
    Dann zu deinem Servo8 Bit Problem. Schau dir doch das Headerfile an. Dann weißt du welche Funktionen und Datentypen es gibt. Wenn du das Headerfile nicht verstehst würde ich dir empfehlen erst mal etwas C bzw. für den Mikrocontroller https://www.mikrocontroller.net/arti...R-GCC-Tutorial zu lernen. Hilft ungemeint weiter.
    Warum du zu Arduino auf dem ATtiny nicht so viel finden wirst. Die Arduino Umgebung ist eigentlich für die Arduino Boards gedacht. Da gibt es meines Wissens nach keine die auf dem ATtiny aufbauen. Prinzipiell ist sind die ganzen Arduino Hilfsbibliotheken nichts anderes als Wrapper für die verschiedenen Funktionen des Mikrocontrollers.

    Hier ist außerdem die Github Seite zu deiner Servo8Bit Bibliothek (bzw. deren Beispiel) https://github.com/fri000/Servo8Bit/...er/example.cpp

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    Danke,
    das du dich damit so weit auseinandersetzt mir zu helfen.
    Von Github habe ich die Servo8Bit.
    Leider übersteigt das Ganze den mir zur Verfügung stehenden geistigen Rahmen(Lernvermögen).
    Deshalb muß ich auf flachem Nivaue bleiben.
    Ich versuche die for Schleife durch eine if Abfrage und Ausführung zu ersetzen.
    Wenn ich hier passen muß, weiche ich auf Pro Mini aus.
    Der Chip ist zwar größer, aber das Hochladen ist kein Problem.
    Dann finde ich mich damit ab, nur Benutzer zu sein.

    Also, danke für deine Zuarbeit.
    Aber du kennst ja den Spruch: "Perlen vor die Säue".
    Achim

  3. #13
    shedepe
    Gast
    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.

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    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

  5. #15
    shedepe
    Gast
    Das mit der Temperatur könntest du auch aus dem Datenblatt sehen Die Controller sind in der Regel nicht empfindlich, die Displays wiederum schon. Das sind ja in der Regel welche die auf Flüssigkristallbasis arbeiten und die mögen weder zu viel Kälte noch zu viel Hitze.

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    282
    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)

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    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.

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    282
    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

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    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.

    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);  
    }
      
    }
    Sorry die //Beschreibung stimmt nicht.
    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.
    Code:
    if (val <= 70 >=120)
    So auch nicht. Also zwischen 2 Werten HIGH sonst LOW?
    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

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Mir fehlt die Info wie man 2 Werte in die if Abfrage setzt.
    So auch nicht. Also zwischen 2 Werten HIGH sonst LOW?
    Code:
    digitalWrite(relaisPin, (val > 70 && val < 120) ? HIGH:LOW);
    In den inneren Klammern steht eine und (&&) verküpfte Bedingung.
    Nach der Bedingung steht was zu tun ist nach folgender Syntax:
    Bedingung ? True-Fall : False-Fall

    Genauso geht:
    Code:
    boolean is_in_bounds = val > 70 && val < 120;
    digitalWrite(relaisPin,  is_in_bounds);
    
    // oder
    if(digitalWrite(val > 70 && val < 120)
      digitalWrite(relaisPin, HIGH);
    else
      digitalWrite(relaisPin, LOW);

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Ähnliche Themen

  1. Digispark - Sketch hochladen
    Von Cysign im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 23.02.2016, 13:36
  2. Sketch Problem
    Von wendtdir im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 16.07.2015, 18:25
  3. Arduino Sketch serielles Terminal: erkennen von CR
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 3
    Letzter Beitrag: 18.06.2014, 14:58
  4. frage zu sketch arduino und webserver
    Von der_tom im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 11.03.2012, 18:07
  5. Timer1 Fehler bei Attiny 25
    Von hütti im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.05.2007, 16:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test