• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wskazania poziomu lpg w aucie + zegarek
#11
No dobra... może dla Ciebie bo się znasz na tym. Tylko to też dziwnie prosić kogoś żeby za Ciebie odwalał kawał roboty. Mi by się podobało to zrobić jakoś fajnie na ciekłokrystalicznym ekranie tylko wiesz... teraz to w miarę rozumiem, że jest 16 znaków i 2 linie. Rozmieszczam sobie zegarek corsor na 4:0 i mam na środku a w tamtym? Jeżeli byś umiał to wszystko zrobić mi na takim 3.2cala z jakąś grafiką i czymś tam to mogę zamówić. 6$ to nie koszt jakiś duży.
A zawsze miło się patrzy na grafikę która coś pokazuje a nie sam napis i cyfrę.
Pytanie czy nie mając żadnej wiedzy mogę liczyć na pomoc w ogarnięciu tego?
Chyba coś to dodanie zera w zegarku coś popsuło. Bo odczyt z pinu A0 też pokazuje cyfry powyżej 100. Fakt, że skala się odwróciła.
Zegarek zaś chciałem dać stary. Ten co działał. I znów śmiesznie działa bo dochodzi do 59 sekund i zamiast 01sek to zaczyna w miesjcu 0 odliczać sekundy i potem w drugim miejscu po 10sek dopiero znów dobrze liczy.
 
Teraz mam pytanie bardziej techniczne
LPG = map( Srednia,0,255,100,0);

100,0 kumam że to skala w której się wyświetla. 
Ale 0.255??
Pytanie co zrobić jak po dokładnym zbadaniu okaże się, żę sygnał będzie np. W przedziala 0,7V Pełen i 4,3V Pusty?
sorki że bokiem ale telefon sam jakoś obrucił
https://youtu.be/x-3jlSr1d34
I patrz. Udało mi sie uruchomić zegarek w tym programie z poziomem LPG ale wszystkie teraz tak świrują.
https://youtu.be/ZcDKEKX0ZF8
We wszystkich programach rozjechał się zegarek. A każdy był oddzielnie zapisany. Biblioteki trzeba pousuwać i dodać na nowo czy wina hardware ?
 
Odpowiedź
#12
0 to odczyt ninimalny czujnika poziomu 255 to max u ciebie trzeba to zmierzyć bo jak pisałeś max to nie jest 255 tylko jakaś tam wartość i dla min analogicznie. I później wstawić te watości żeby pomiar po obliczeniu był prawidłowy
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#13
No to trzeba poczekać do tankowania i będę znać wartości skrajne.
A widziałeś te filmiki? Dziwne bo zapisane programy w których zegarek działał też są już uszkodzone.
A co sądzisz o zamontowaniu tego wszystkiego na kolorowym ekranie LCD ?

Lub takim który będzie działać na obu płytach. Ale czy tam można używać jakieś logo czy obrazki? Bo rozczytuje się w pisaniu tego i podobno to nie jest trudne to podobnie wskazuje się miejsce pisania, rozmiar czcionki i kolor. Więc może bez szaleństw zamówię sobie?
tylko są 2 ekrany
3.2 cala dla płyty mega
2.4 cala dla uno R3 i mega

I zmontować to na płycie mega.
Ogarnie się ten temat?
Mistrzu JasQ albo odpowiedź mi lepiej czy jak chce pchać się w LCD i kolorowy ekran lepiej aktualna płyta + mniejszy ekran czy MEGA i większy ekran?
 
Odpowiedź
#14
zegarek źle widać bo nie wstawia 0 i masz ostatnią liczbę po sekundach , daj aktualny kod to poprawię , na razie uruchom co masz a z czasem napiszesz coś fajniejszego Wink
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#15
Jak będę w domu to zgram. Ale tego zegarka który napisałeś nie udało się uruchomić.
Co gorsza działający projekt też nagle ma problem ze zliczaniem czasu mimo, że tam nic nie zmieniałem. Wspólne biblioteki które do góry się pisze zmieniły się?

Co sądzisz o tym kolorowym LCD? 2.4 cala pod uno?
 
Odpowiedź
#16
będzie ciężko można dać ale są z nimi spore problemy zerknij ile się nawalczyłem z s65 same pozycjonowanie na ekranie zeżre strasznie dużo miejsca
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#17
Czyli lepiej kupić 20x4 i mieć więcej znaków?
 
Odpowiedź
#18
na razie tak bo będzie bez problemowe .
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#19
hehe zamówiłem na ali wyświetlacz 20x4 więc za miesiąc będzie.
do tego czasu trzeba to ogarnąć.
Kolejna myśl.
Mam otwieranie bramy z pilota 433mhz. Może arduino ogarnie 2 przyciski i mocniejszą antenę?
Z pilota zgrać klucz do otwierania i zamykania.
Taka myśl przyszła po prostu.
Idąc dalej. Oglądałem to wsio i przypomniało mi się, że mam w piwnicy ekran 7cali 800x480 z modułu sterowania szafą elektryczną. Jest tam chyba spalona płyta. Ciekawe czy da się zdobyć do tego jakiś kontroler żeby wykorzystać wyświetlacz do czegoś.
Niżej jest PDF z opisem wyświetlacza. Muszę go rozlutować i spojrzeć na taśmę.
Nie wiem co się stało.
Kod:
// A library for handling real-time clocks, dates, etc.
// 2010-02-04 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
// 2012-11-08 RAM methods - idreammicro.com
// 2012-11-14 SQW/OUT methods - idreammicro.com

// Simple general-purpose date/time class (no TZ / DST / leap second handling!)
class DateTime {
public:
   DateTime (long t =0);
   DateTime (uint16_t year, uint8_t month, uint8_t day,
               uint8_t hour =0, uint8_t min =0, uint8_t sec =0);
   DateTime (const char* date, const char* time);

   uint16_t year() const       { return 2000 + yOff; }
   uint8_t month() const       { return m; }
   uint8_t day() const         { return d; }
   uint8_t hour() const        { return hh; }
   uint8_t minute() const      { return mm; }
   uint8_t second() const      { return ss; }
   uint8_t dayOfWeek() const;

   // 32-bit times as seconds since 1/1/2000
   long get() const;

protected:
   uint8_t yOff, m, d, hh, mm, ss;
};

// RTC based on the DS1307 chip connected via I2C and the Wire library
class RTC_DS1307 {
public:

   // SQW/OUT frequencies.
   enum Frequencies
   {
       Frequency_1Hz,
       Frequency_4096Hz,
       Frequency_8192Hz,
       Frequency_32768Hz
   };

   static void begin() {}
   static void adjust(const DateTime& dt);
   static DateTime now();
   static uint8_t isrunning();

   // SQW/OUT functions.
   void setSqwOutLevel(uint8_t level);
   void setSqwOutSignal(Frequencies frequency);

   // RAM registers read/write functions. Address locations 08h to 3Fh.
   // Max length = 56 bytes.
   static uint8_t readByteInRam(uint8_t address);
   static void readBytesInRam(uint8_t address, uint8_t length, uint8_t* p_data);
   static void writeByteInRam(uint8_t address, uint8_t data);
   static void writeBytesInRam(uint8_t address, uint8_t length, uint8_t* p_data);

   // utility functions
   static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); }
   static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); }
};


// DS1388 version
class RTC_DS1388 {
public:
   static void begin() {};
   static void adjust(const DateTime& dt);
   static DateTime now();
   static uint8_t isrunning();

   // EEPROM
   static uint8_t getEEPROMBank(uint16_t pos);
   static void EEPROMWrite(uint16_t pos, uint8_t c);
   static uint8_t EEPROMRead(uint16_t pos);
   static void EEPROMWritePage(uint8_t page, uint8_t* data);
   static void EEPROMReadPage(uint8_t page, uint8_t* buffer);

   // utility functions
   static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); }
   static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); }
};



// RTC based on the PCF8563 chip connected via I2C and the Wire library
// contributed by @mariusster, see http://forum.jeelabs.net/comment/1902
class RTC_PCF8563 {
public:
   static void begin() {}
   static void adjust(const DateTime& dt);
   static DateTime now();

   // utility functions
   static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); }
   static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); }
};


// TI BQ32000 I2C RTC
class RTC_BQ32000 {
public:
   static void begin() {}
   static void adjust(const DateTime& dt);
   static DateTime now();
   static uint8_t isrunning();

   static void setIRQ(uint8_t state);
   /* Set IRQ output state: 0=disabled, 1=1Hz, 2=512Hz.
    */
   static void setIRQLevel(uint8_t level);
   /* Set IRQ output active state to LOW or HIGH.
    */
   static void setCalibration(int8_t value);
   /* Sets the calibration value to given value in the range -31 - 31, which
    * corresponds to -126ppm - +63ppm; see table 13 in th BQ32000 datasheet.
    */
   static void setCharger(int state);
   /* If using a super capacitor instead of a battery for backup power, use this
      method to set the state of the trickle charger: 0=disabled, 1=low-voltage
      charge, 2=high-voltage charge. In low-voltage charge mode, the super cap is
      charged through a diode with a voltage drop of about 0.5V, so it will charge
      up to VCC-0.5V. In high-voltage charge mode the diode is bypassed and the super
      cap will be charged up to VCC (make sure the charge voltage does not exceed your
      super cap's voltage rating!!). */

   // utility functions:
   static uint8_t readRegister(uint8_t address);
   static uint8_t writeRegister(uint8_t address, uint8_t value);
   static uint8_t bcd2bin (uint8_t val) { return val - 6 * (val >> 4); }
   static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); }
};


// RTC using the internal millis() clock, has to be initialized before use
// NOTE: this clock won't be correct once the millis() timer rolls over (>49d?)
class RTC_Millis {
public:
   static void begin(const DateTime& dt) { adjust(dt); }
   static void adjust(const DateTime& dt);
   static DateTime now();

protected:
   static long offset;
};
To jest zawartość tego pliku RTClib.h
Usuwałem go z kompa i wgrywałem jeszcze raz z zipa i ciągle to samo się dzieje z zegarkiem. Nie wiem o co kaman. Działało to kiedyś.
Kurdę na płycie mega to samo.
nie kumam czemu zegarek się zepsuł.


Załączone pliki
.pdf   ISMART-70.pdf (Rozmiar: 1.51 MB / Pobrań: 1)
 
Odpowiedź
#20
Po jutrze będę miał ds1307 to napisze ci kod poprawnie bo bez tego to tak na ślepo piszę , na razie wstrzymam sie przed dalszym gdybaniem .

Jak możesz zrób pomiar dla pełnego zbiornika i pustego za pomocą arduino programem poniżej i podaj wyniki

Kod:
int Lmin = 512;
int Lmax = 512;

void setup() {

  Serial.begin(9600);
}

void loop() {
  
  int sensorValue = analogRead(A0);
  
if ( sensorValue < Lmin )Lmin = sensorValue;
if ( sensorValue > Lmax )Lmax = sensorValue;

  Serial.print("RAW - ");
  Serial.print(sensorValue);
  Serial.print("  OUT - ");
  Serial.print(sensorValue/4);
  Serial.print("  MIN - ");
  Serial.print(Lmin);
  Serial.print('/');
  Serial.print(Lmin/4);
  Serial.print("  MAX - ");
  Serial.print(Lmax);
  Serial.print('/');
  Serial.println(Lmax/4);
  delay(1);

}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości