Εμφάνιση αποτελεσμάτων : 1 έως 1 από 1

Θέμα: εύκολο στροφόμετρο για arduino

  1. #1
    Μέλος Το avatar του χρήστη apollonic
    Όνομα
    Μάκης
    Εγγραφή
    Jul 2010
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    136

    Προεπιλογή εύκολο στροφόμετρο για arduino

    // a simple and inexpensive rev-counter (strofometer)
    // use one photoresistor to +5V, in series with 10KΩ that
    // goes to earth and from the joind point one cable to ledPin Analog input
    // No need to use interrupts or calibration
    // you just put a white insulation tape to the drill and lighten it with a strong lamp
    // or perhaps with a strong LED placed next to photoresistor
    // By Prodromos Savaidis (apollonios)
    // March, 1, 2015
    // savaidis.makis@gmail.com


    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x38,16,2);
    int V0, V1, V2, V3, rnd, rpm, K;
    long currtime, prevtime, cnt, cnt_old, sum, sum_rpm, mil1, mil2;
    int ledPin = 5; // STATUS LED
    double seconds;
    void display()
    {
    lcd.setCursor(0,0); lcd.print("V2="); lcd.print(V2);
    lcd.print(" V3="); lcd.print(V3);lcd.print(" ");
    }

    void setup() {

    rnd=0; cnt_old=0; sum=0;
    currtime = millis(); // GET CURRENT TIME millis = the milliseconds from program starttime
    pinMode(ledPin, INPUT);
    lcd.init();
    lcd.setCursor(0,1); lcd.print("round meter");
    lcd.setCursor(0,0); lcd.print(" currtime ");
    lcd.print( currtime); prevtime=currtime;
    delay(3000);

    V1= analogRead(ledPin);
    V2=V1 * 0.9; V3=V1*1.1; // limits to triger
    currtime = millis(); // GET CURRENT TIME
    mil1 = currtime;
    lcd.setCursor(0,1); lcd. print(" ");
    lcd.setCursor(0,1); lcd.print("V="); lcd.print(V1);
    V0=V1;
    display();

    }

    void loop()

    {

    V1= analogRead(ledPin);
    if (V1<V2 || V1>V3) // out of limits
    { if (V1<V2) // darker - for testing only must be >
    {
    lcd.setCursor(0,0);
    rnd++;

    cnt=0;
    if (rnd==10)
    {
    mil2 = millis(); // cnt revolutions ind mil2-mil1 milliseconds
    seconds=(mil2-mil1); seconds=seconds/1000; // needed to avoid truncion
    lcd.setCursor(0,1); lcd.print("m2="); lcd.print( mil2);lcd.print(" sec"); lcd.print(seconds);lcd.print(" ");

    // in rnd rounds in seconds
    // in X? rnd in 60sec
    rpm= rnd*60; rpm=rpm/seconds; mil1=mil2;

    lcd.setCursor(0,0);

    lcd.print(" rpm=");

    lcd.print(rpm);lcd. print(" ");
    sum_rpm=0; sum=0; rnd=0;

    }
    }
    V1= analogRead(ledPin);
    V2=V1*0.8; V3=V1*1.2; // new limits


    }

    }

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη apollonic : 03-03-15 στις 09:11
    opacun.blogspot.gr
    campus philosophicus technologicus ecologicus

Παρόμοια Θέματα

  1. Universal στροφόμετρο συνδεσμολογία.
    By .::Nikos::. in forum Κυκλώματα για Auto & Moto
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 09-11-13, 18:25
  2. Εύκολο κούμπωμα
    By primeras in forum PCB & Κουτιά Κατασκευών
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 29-01-13, 12:52
  3. εύκολο κύκλωμα
    By ηλεκτρονικασχετος in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 11
    Τελευταίο Μήνυμα: 14-01-11, 22:41
  4. Εύκολο παρκάρισμα.
    By petros10 in forum Κυκλώματα για Auto & Moto
    Απαντήσεις: 10
    Τελευταίο Μήνυμα: 15-10-09, 23:26
  5. οπτικό στροφόμετρο
    By DT200 in forum Όργανα & Εξοπλισμός
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 20-09-08, 18:29

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας