Anzeige 
Seite 21 von 60 ErsteErste ... 111213141516171819202122232425262728293031 ... LetzteLetzte
Ergebnis 301 bis 315 von 890

Thema: Schwerpunkt Waage mit Arduino

  1. #301
    User Avatar von Alby
    Registriert seit
    14.04.2005
    Ort
    64823
    Beiträge
    896
    Daumen erhalten
    27
    Daumen vergeben
    4
    0 Nicht erlaubt!

    Standard Suche Frässatz+cells

    Hallo Kollegen,
    bin auf der Suche nach einem
    Frässatz (mittlere Waage) und
    2 cells 3kg+2kg.
    Bitte PN an mich
    Danke
    Gruß Alby
    Like it!

  2. #302
    User Avatar von Marc K.
    Registriert seit
    07.01.2003
    Ort
    Pforzheim
    Beiträge
    1.948
    Daumen erhalten
    32
    Daumen vergeben
    26
    0 Nicht erlaubt!

    Standard

    Zitat Zitat von Feigao Beitrag anzeigen
    Hallo Marc,

    einfacher geht es mit den STEP-Dateien. Die findest du hier: STEP-DATEIEN

    Ein tolles Programm zur Bearbeitung von 3D-Dateien ist das kostenlose DesignSpark

    Und hier ein Link, wie man damit STL-Dateien bearbeitet: STL Dateien bearbeiten

    Gruß Heinz
    Und wie lade ich die herunter?

    LG Marc
    Like it!

  3. #303
    User Avatar von Marc K.
    Registriert seit
    07.01.2003
    Ort
    Pforzheim
    Beiträge
    1.948
    Daumen erhalten
    32
    Daumen vergeben
    26
    0 Nicht erlaubt!

    Standard

    Habe jetzt für das OLED Display einen Halter konstruiert. Werde dann noch die passende Aufnahme im Frame vornehmen. Das mit dem Kabel hat mir nicht gefallen.
    LG Marc
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG-20180513-WA0009.jpg 
Hits:	35 
Größe:	363,8 KB 
ID:	1958407   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG-20180513-WA0011.jpg 
Hits:	38 
Größe:	371,1 KB 
ID:	1958408  
    Like it!

  4. #304
    User
    Registriert seit
    07.10.2002
    Ort
    Köln
    Beiträge
    887
    Daumen erhalten
    51
    Daumen vergeben
    25
    0 Nicht erlaubt!

    Daumen hoch

    Ich habe auch mal eine gebaut...

    Name:  IMG_20180510_135316.jpg
Hits: 2161
Größe:  305,9 KB

    Name:  IMG_20180510_145043.jpg
Hits: 2180
Größe:  217,1 KB

    mehr Infos hier: http://www.koelleteam.de/wordpress/b...werpunktwaage/

    Gruß Christoph
    Letztes Update 7.11.2019: cfd.koelleteam.de | Elektro-Pylon-Rennen: www.f5d.org (stv. Referent)
    Like it!

  5. #305
    User Avatar von Marc K.
    Registriert seit
    07.01.2003
    Ort
    Pforzheim
    Beiträge
    1.948
    Daumen erhalten
    32
    Daumen vergeben
    26
    1 Nicht erlaubt!

    Standard

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG-20180520-WA0010.jpg 
Hits:	18 
Größe:	311,0 KB 
ID:	1962004

    Hier mein neues Update.

    LG Marc
    Like it!

  6. #306
    User
    Registriert seit
    29.10.2013
    Ort
    Schwarzenbek
    Beiträge
    574
    Daumen erhalten
    81
    Daumen vergeben
    238
    0 Nicht erlaubt!

    Standard

    Moin, habe eine neue Waage in Arbeit, dieses Mal mit LCD Bildschirm.
    Alles verdrahtet und nun erscheint aber keine Anzeige auf dem LED, nur schwarze Balken.
    (Siehe Bild)
    Jemand eine Idee?
    Mit dem Kontrast habe ich schon rumgespielt....da verschwinden dann die schwarzen Balken
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	LED.jpg 
Hits:	15 
Größe:	210,2 KB 
ID:	1963231
    F3K..what else???
    Fireblade und Schmeißfliege(r).....Schwestern im Geiste :-)
    Like it!

  7. #307
    User
    Registriert seit
    01.08.2011
    Ort
    Schmallenberg
    Beiträge
    269
    Daumen erhalten
    17
    Daumen vergeben
    2
    0 Nicht erlaubt!

    Standard

    Hast du die Adresse vom Display im Sketch angepasst?
    MfG. Jens
    Like it!

  8. #308
    User
    Registriert seit
    29.10.2013
    Ort
    Schwarzenbek
    Beiträge
    574
    Daumen erhalten
    81
    Daumen vergeben
    238
    0 Nicht erlaubt!

    Standard

    Ja, 0x27 komischerweise und es kommen nur merkwürdige Zeichen! Passende Library ist auch installiert.
    F3K..what else???
    Fireblade und Schmeißfliege(r).....Schwestern im Geiste :-)
    Like it!

  9. #309
    User
    Registriert seit
    20.02.2009
    Ort
    Wien
    Beiträge
    131
    Daumen erhalten
    2
    Daumen vergeben
    0
    0 Nicht erlaubt!

    Standard

    Zitat Zitat von vanhalen1970 Beitrag anzeigen
    Ja, 0x27 komischerweise und es kommen nur merkwürdige Zeichen! Passende Library ist auch installiert.
    lass den i2cscanner mal laufen. der ermittelt die adresse (falls die verbindungen passen).
    gerhard
    Like it!

  10. #310
    User
    Registriert seit
    29.10.2013
    Ort
    Schwarzenbek
    Beiträge
    574
    Daumen erhalten
    81
    Daumen vergeben
    238
    0 Nicht erlaubt!

    Standard

    Der I2C Scanner teilt mir mit 0x27, so habe ich es auch eingetragen.
    Beispiel sketches von Arduino mitgeliefert stellt das LCD Display korrekt dar, den Sketch, den Tobi zur Verfügung gestellt hat, da blinkt das LCD und macht wilde Zeichen.
    Wenn ich ein OLED anschließe, funktioniert es tadellos (mit der entsprechenden I2C Adresse)
    Sehr merkwürdig!
    F3K..what else???
    Fireblade und Schmeißfliege(r).....Schwestern im Geiste :-)
    Like it!

  11. #311
    User
    Registriert seit
    01.08.2011
    Ort
    Schmallenberg
    Beiträge
    269
    Daumen erhalten
    17
    Daumen vergeben
    2
    0 Nicht erlaubt!

    Standard

    Das wird der falsche Sketch für das Display sein. Die Auflösung vom oled ist doch auch anders.
    MfG. Jens
    Like it!

  12. #312
    User
    Registriert seit
    29.10.2013
    Ort
    Schwarzenbek
    Beiträge
    574
    Daumen erhalten
    81
    Daumen vergeben
    238
    0 Nicht erlaubt!

    Standard

    Meines Wissens hat Tobias den Sketch so geschrieben, dass er für Beides gilt.
    Natürlich muss man die Adresse des Monitors anpassen.
    F3K..what else???
    Fireblade und Schmeißfliege(r).....Schwestern im Geiste :-)
    Like it!

  13. #313
    User
    Registriert seit
    20.02.2009
    Ort
    Wien
    Beiträge
    131
    Daumen erhalten
    2
    Daumen vergeben
    0
    0 Nicht erlaubt!

    Standard

    Zitat Zitat von vanhalen1970 Beitrag anzeigen
    Meines Wissens hat Tobias den Sketch so geschrieben, dass er für Beides gilt.
    Natürlich muss man die Adresse des Monitors anpassen.
    Habe mir gerade Tobias sketch angesehen und der unterstützt tatsächlich OLED und LCD über I2C.

    Probier mal den Sketch von Aaron, da hat bei mir das LCD ohne Probleme funktioniert (und das Kalibrieren ist auch einfacher):
    https://github.com/aaromalila/CG-scale-mod


    Gerhard
    Like it!

  14. #314
    User Avatar von kalle123
    Registriert seit
    07.02.2009
    Ort
    Mönchengladbach
    Beiträge
    3.466
    Daumen erhalten
    110
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    @ vanhalen1970

    Oder setzte einfach mal die von dir verwendete ino Datei hier ein. Vorher umbenennen in xxx.ino.txt.

    Gruß KH
    Like it!

  15. #315
    User
    Registriert seit
    29.10.2013
    Ort
    Schwarzenbek
    Beiträge
    574
    Daumen erhalten
    81
    Daumen vergeben
    238
    0 Nicht erlaubt!

    Standard

    Hmm...ich kopiere das mal hier rein:
    /*
    CG scale for F3F & F3B models
    Olav Kallhovd 2016-2017

    CG Scale main components:
    1 pc load sensor front YZC-133 2kg
    1 pc load sensor rear YZC-133 3kg
    2 pc HX711 ADC, one for each load sensor (128bit resolution)
    1 pc Arduino Nano
    1 pc 16*2 HD44780 LCD + I2C-Adapter
    or
    1 pc 0,96" SSD1306-kompatible OLED with 128x64px
    3D printed parts

    Max model weight with sensors above: 4 to 4,5kg depending on CG location
    5 kg at a CG of 83,9mm with Sensors above
    ##################

    Update 10.12.2017 by T. Reik I2C-Output for LCD
    Update 01.02.2018 by T. Reik added OLED-Display

    ##################
    */
    #define vCGscale "v1.0"

    #include <HX711_ADC.h>
    /*https://github.com/olkal/HX711_ADC can be installed from the library manager
    Number of samples and some filtering settings can be adjusted in the HX711_ADC.h library file
    The best RATE setting is usually 10SPS, see HX711 data sheet (HX711 pin 15, can usually be set by a solder jumper on the HX711 module)
    RATE 80SPS will also work fine, but conversions will be more noisy, so consider increasing number of samples in HX711_ADC.h
    */

    //LCD
    /*sketch for PCF8574T I2C LCD Backpack
    http://tronixlabs.com/display/lcd/se...e-lcd-modules/
    Use library from https://bitbucket.org/fmalpartida/ne...stal/downloads
    */
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack
    /*sketch for PCF8574T I2C LCD Backpack
    http://tronixlabs.com/display/lcd/se...e-lcd-modules/
    Uses library from https://bitbucket.org/fmalpartida/ne...stal/downloads
    */

    //OLED
    /*
    Library and Example at Adafruit https://learn.adafruit.com/monochrom...y-and-examples
    -> To save RAM here the "lighter" ASCII-Only-Library (SSD1306Ascii) from William Greiman is used
    Published here: https://github.com/greiman/SSD1306Ascii
    */
    #define I2C_ADDRESS 0x27 // 0x3C or 0x3D are common I2C bus addresses
    #include <Wire.h>
    #include "SSD1306Ascii.h"
    #include "SSD1306AsciiWire.h"

    SSD1306AsciiWire oled;


    //HX711 constructor (dout pin, sck pint):
    HX711_ADC LoadCell_1(A2, A3); //HX711 pins front sensor (DOUT, PD_SCK)
    HX711_ADC LoadCell_2(A0, A1); //HX711 pins rear sensor (DOUT, PD_SCK)

    byte ledPin = 13; //Onboard LED
    byte batRefPin = A6; //Batt Input
    String sBattvalue = "";
    String sVal = "";
    String vString = "";

    char toLCD[20];
    int output; //0=Serial Terminal, 1=serial Output to LCD-Arduino, 2=I2C-LCD-Output
    boolean ledState;
    long t1;
    long t2;
    long t3;

    const int printInterval = 500; // LCD/Serial refresh interval

    //*** configuration:
    //*** set dimensional calibration values:
    const long WingPegDist = 1198; //calibration value in 1/10mm, projected distance between wing support points, measure with calliper
    const long LEstopperDist = 300; //calibration value 1/10mm, projected distance from front wing support point to leading edge (stopper pin), measure with calliper
    //*** set scale calibration values (best to have the battery connected when doing calibration):
    float ldcell_1_calfactor = 994.1; //CG-weiß: 952.0; // CG-Gold: 1096.0, CG-Weiss: 952.0; user set calibration factor load cell front (float)
    float ldcell_2_calfactor = 708.1; //CG-weiß: 727.0; // CG-Gold: 722.5, CG-Weiss: 727.0; user set calibration factor load cell rear (float)
    //***
    const long stabilisingtime = 3000; // tare precision can be improved by adding a few seconds of stabilising time
    //***
    const long CGoffset = ((WingPegDist / 2) + LEstopperDist) * 10;

    //##########################################################################################
    void setup() {
    //***
    output = 2; //change to 2 for I2C-LCD, output = 0 for Serial terminal (for calibrating), 0=Serial Terminal, 1=serial Output to LCD-Arduino, 2=I2C-LCD-Output
    //***

    // activate I2C-LCD module ################
    lcd.begin (16,2); // for 16 x 2 LCD module
    lcd.setBacklightPin(3,POSITIVE);
    lcd.setBacklight(HIGH);

    // activeate OLED module ################
    Wire.begin();
    oled.begin(&Adafruit128x64, I2C_ADDRESS);
    oled.setFont(System5x7); //5x7 = 10X14px + 2px dazwischen

    Serial.begin(9600);

    //Startup LCD
    lcd.home (); // set cursor to 0,0
    lcd.print("CGscale RCN ");
    lcd.print(vCGscale);
    lcd.setCursor (0,1); // 1.Zeichen, 2. Zeile
    lcd.print("tare... ");

    //Startup OLED
    oled.set2X();
    oled.println("CG-Scale");
    oled.print("RCN ");
    oled.println(vCGscale);
    oled.println();
    oled.println("tare... ");

    //Startup Serial-Monitor
    Serial.print("F3X COG scale ");
    Serial.print(vCGscale);
    Serial.print(" ; ");
    Serial.print("Bat: ");
    int batval = readBattVoltage();
    Serial.print(batval / 1000);
    Serial.print(".");
    Serial.print(batval % 1000 / 100);
    Serial.print(batval % 100 / 10);
    Serial.println("V");
    if (output == 0) { //if output to serial terminal
    Serial.println();
    Serial.println("Wait for stabilising and tare...");
    }

    LoadCell_1.begin();
    LoadCell_2.begin();
    byte loadcell_1_rdy = 0;
    byte loadcell_2_rdy = 0;
    while ((loadcell_1_rdy + loadcell_2_rdy) < 2) { //run startup, stabilisation and tare, both modules simultaneously
    if (!loadcell_1_rdy) loadcell_1_rdy = LoadCell_1.startMultiple(stabilisingtime);
    if (!loadcell_2_rdy) loadcell_2_rdy = LoadCell_2.startMultiple(stabilisingtime);
    }
    LoadCell_1.setCalFactor(ldcell_1_calfactor); // set calibration factor
    LoadCell_2.setCalFactor(ldcell_2_calfactor); // set calibration factor

    pinMode(ledPin, OUTPUT); //led
    digitalWrite(ledPin, HIGH);

    //Displays aufräumen
    oled.clear(); //Clear OLED-Display
    }

    // ############# Battvoltage #####################
    int readBattVoltage() { // read battery voltage
    // Batteriemessfunktion
    long battvalue = 0;
    battvalue += analogRead(batRefPin);
    battvalue *= 4883L; // 8789L analog reading * (5.00V*1000000)/1024 (adjust value if VCC is not 5.0V)
    battvalue /= 317L; // 320L this number comes from the resistor divider value ((R2/(R1+R2))*1000)/noof analogreadings (adjust value if required)
    return battvalue;
    }


    // ++++++++++++++++++++++++++++++++++
    void flashLED() {
    if (t2 < millis()) {
    if (ledState) {
    t2 = millis() + 2000;
    ledState = 0;
    }
    else {
    t2 = millis() + 100;
    ledState = 1;
    }
    digitalWrite(ledPin, ledState);
    }
    }

    //###########################################################################
    void loop() {
    //library function update() should be called at least as often as HX711 sample rate; >10Hz@10SPS, >80Hz@80SPS
    //longer delay in scetch will reduce effective sample rate (be careful with delay() in loop)
    LoadCell_1.update();
    LoadCell_2.update();

    // calculate CG and update serial/LCD
    if (t1 < millis()) {
    t1 = millis() + printInterval;
    float a = LoadCell_1.getData();
    float b = LoadCell_2.getData();
    long weightAvr[3];
    float CGratio;
    long CG;
    weightAvr[0] = a * 100;
    weightAvr[1] = b * 100;
    long weightTot = weightAvr[0] + weightAvr[1];

    if (weightAvr[0] > 500 && weightAvr[1] > 500) {
    long a = weightAvr[1] / 10;
    long b = weightAvr[0] / 10;
    CGratio = (((a * 10000) / (a + b)));
    CG = ((((WingPegDist) * CGratio) / 1000) - ((WingPegDist * 10) / 2) + CGoffset);
    }
    else {
    CG = 0;
    }
    // if output = 0: Scale-Mode to serial . print Sensor-Values #######################################
    if (output == 0) {
    if(Serial.available()) // ++++++++ Serial Calibration-Factor-Edit +++++++
    { String temp = Serial.readString(); // ++++++++ USE A+200 in ingrease FRONT Loadcell +++++
    if (temp.substring(0,1) == "A") // ++++++++ Or B-200 to degrease REAR Loadcell +++++
    if (temp.substring(1,2) == "+")
    ldcell_1_calfactor += temp.substring(2).toFloat();
    else if (temp.substring(1,2) == "-")
    ldcell_1_calfactor -= temp.substring(2).toFloat();
    if (temp.substring(0,1) == "B")
    if (temp.substring(1,2) == "+")
    ldcell_2_calfactor += temp.substring(2).toFloat();
    else if (temp.substring(1,2) == "-")
    ldcell_2_calfactor -= temp.substring(2).toFloat();

    Serial.println("New Calfactor will be used");
    Serial.print("Faktor Front: ");
    Serial.print(ldcell_1_calfactor);
    Serial.print("; Faktor Rear: ");
    Serial.println(ldcell_2_calfactor);
    delay(500);
    //Take it as new Value
    LoadCell_1.setCalFactor(ldcell_1_calfactor); // set calibration factor
    LoadCell_2.setCalFactor(ldcell_2_calfactor); // set calibration factor
    } // ++++++++ End Serial Calibration-Factor-Edit +++++++

    for (byte a = 0; a < 2; a++) {
    Serial.print("weight_LdCell_");
    Serial.print(a + 1);
    Serial.print(": ");
    long i = weightAvr[a];
    if (i < 0) {
    Serial.print('-');
    i = ~weightAvr[a];
    }
    Serial.print(i / 100);
    Serial.print('.');
    if ((i % 100) < 10) {
    Serial.print("0");
    }
    Serial.print(i % 100);
    Serial.print(" ");
    }
    Serial.print("CG:");
    Serial.print(CG / 100);
    Serial.print('.');
    Serial.println(CG % 100);

    // Scale-Mode with OLED-Display --------------------------------------
    //Header
    oled.set1X();
    oled.setCursor(0,0); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.print("CG-Scale RCN ");
    oled.println(vCGscale);
    oled.println();
    oled.print(" - Calibrate -");
    oled.setCursor(98,2); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.print((readBattVoltage()/10));
    //Content
    oled.set2X();
    oled.setCursor(0,4); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.print("A: ");
    oled.println(a);
    oled.print("B: ");
    oled.println(b);

    // Scale-Mode with LCD-I2C-Display --------------------------------------
    lcd.home (); // set cursor to 0,0
    vString = a;
    for (int i=(vString.length()); i <= 16; i++){
    vString = vString += " ";
    }
    lcd.print(vString);

    lcd.setCursor (0,1); // 1.Zeichen, 2. Zeile
    vString = b;
    for (int i=(vString.length()); i <= 16; i++){
    vString = vString += " ";
    }
    lcd.print(vString);
    }

    // Anzeige von Werten auf LCD und OLED. Print Calculated Values #######################################
    else if (output =! 0){
    // Scale-Mode with OLED-Display --------------------------------------
    //OLED-Header
    oled.set1X();
    oled.setCursor(0,0); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.print("CG-Scale RCN ");
    oled.print(vCGscale);


    // ----- Anzeige Gesamtgewicht - 1. Zeile
    lcd.home (); // set cursor to 0,0
    vString = "WT: ";
    if ((weightTot/100) < 1000 && weightTot > 0){
    sVal = weightTot;
    vString = vString += (weightTot/100);
    //vString = vString += sVal.substring(sVal.length()-2);
    vString = vString += ",";
    vString = vString += sVal.substring(sVal.length()-2, sVal.length()-1);
    }
    else {
    vString = vString += (weightTot / 100);
    }
    vString = vString += "g";
    for (int i=(vString.length()); i <= 10; i++){
    vString = vString += " ";
    }
    lcd.print(vString);
    oled.set2X();
    oled.setCursor(0,4); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.println(vString);

    // ----- Anzeige Batteriespannung - Ende 1. Zeile
    if (t3 < millis()) {
    t3 = millis() + 1000;
    sBattvalue = (readBattVoltage()/10);
    vString = sBattvalue.substring(0,sBattvalue.length()-2);
    vString = vString += ",";
    vString = vString += sBattvalue.substring(sBattvalue.length()-2, sBattvalue.length());
    vString = vString += "V";
    //LCD
    lcd.setCursor (11,0); // 12..Zeichen, 1. Zeile
    lcd.print(vString);
    //OLED
    oled.set1X();
    oled.setCursor(98,2); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.print(vString);
    }

    // ----- Anzeige Schwerpunkt - 2. Zeile
    lcd.setCursor (0,1); // 1.Zeichen, 2. Zeile
    vString = "CG: ";
    /*if ((CG/10) < 1000){
    vString = vString += " ";
    }*/
    sVal = CG;
    vString = vString += sVal.substring(0,sVal.length()-2);
    vString = vString += ",";
    vString = vString += sVal.substring(sVal.length()-2, sVal.length()-1);
    vString = vString += "mm";
    for (int i=(vString.length()); i <= 16; i++){
    vString = vString += " ";
    }
    lcd.print(vString);
    oled.set2X();
    oled.setCursor(0,6); //1 col = 1 Pixel, 1 row = 8 Pixel
    oled.println(vString);
    }
    }
    flashLED();
    }
    F3K..what else???
    Fireblade und Schmeißfliege(r).....Schwestern im Geiste :-)
    Like it!

Lesezeichen

Lesezeichen

Berechtigungen

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