ESP32 & Gravity TDS Meter : Library Hack

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2022
  • #ApaITU LIVE
    =============== Dukung channnel #ApaITU =====================
    Jika anda merasa content yang kami buat bermanfaat dan agar kami terus dapat membuat konten konten yang lebih bermanfaat. Anda dapat berpartisipasi mendukung channel ini dengan beberapa cara
    1) Super Thanks button TH-cam
    2) Donasi
    3) Berbelanja pada Online Store #ApaITU
    4) Iklan tolong jangan diskip
    patreon : / apaitu
    Trakteer : trakteer.id/channel_apaitu
    ESP01 usb adaptor modified by ApaITU : shopee.co.id/product/86343690...
    ESP01 SmartSwitch ApaITU Edition : shopee.co.id/product/86343690...
    =====================================================
    #NgobrolSantai :
    Ada yang bilang selalu gagal untuk menggunakan library TDS pada ESP32, sebenarnya ada beberapa hal yang menyebabkan nya :
    1) proses conctruct object ada yang bermasalah
    2) esp32 adc nya juga tidak stabil sementara TDS adalah analog sensor. ada beberapa tutorial yang menjabarkan cara menggunakan TDS pada ESP32 namun mereka selalu menyatakan non-linearitas pada value rendah dan max tidak dapat diandalkan, sementara hasil experiment kita kemarin, bukan hanya nilai bawah dan max, namun memang secara keseluruhan terlalu jauh hasilnya.
    Kali ini kita coba untuk menggunakannya dan tentunya kita lakukan modifikasi sehingga esp32 dapat digunakan sebagai pembaca TDS meter.
    Kita simak saja....
    thanks to
    Helmut Weber :
    e-thinker : github.com/MacLeod-D/ESP32-ADC github.com/e-tinkers/esp32-ad...
    #ESP32
    #OneWire
    #DS18B20
    #DallasTemperature
    #TDS
    #gravityTDSMeter
    #ApaITU
    #hydroponic
    #waterquality
    #ppm
    #ec
    Contact Us :
    Facebook : Apaitu
    Facebook Page : Apa Itu
    / chunkps27
    Email : apaitu.kps27@gmail.com
    seo: #ApaITU
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 42

  • @imoji_1579
    @imoji_1579 6 หลายเดือนก่อน +1

    Terima kasih.

  • @BestariwebTV
    @BestariwebTV ปีที่แล้ว

    Siap dukung pak Guru.. Sukses terus dan selalu berbagi ilmu yang bermanfaat..

    • @apaitu
      @apaitu  ปีที่แล้ว +1

      Aamiin, semoga bermanfaat buat yang menyimak, sayang waktu terbuang jika apa yang saya sampaikan tidak bermanfaat. aamiin Allahuma aamiin

  • @faisalabuniddal6303
    @faisalabuniddal6303 20 วันที่ผ่านมา

    ditunggu yang DIY TDSnya pak :)

  • @aliakhsai
    @aliakhsai ปีที่แล้ว +1

    mantab.... sampek ketawa ketawa saya lihat nya... asik juga

    • @apaitu
      @apaitu  ปีที่แล้ว

      wah kalau sampai ketawa artinya saya punya bakat lain nih 🤣🤣🤣

  • @Seongjin15
    @Seongjin15 9 หลายเดือนก่อน

    izin bertanya pak, untuk mikrokontroller yang digunakan arduino uno, apakah sistemnya sama seperti pakai esp32? khususnya pakai library adc_lut.h ?

  • @dennisharizenna4635
    @dennisharizenna4635 2 หลายเดือนก่อน

    Mas kok saya calibration gabisa yaa failed try again, library sudah sama srmua dan succes, pas calibratin failed? Saya pakai arduino ide 2.3.2

  • @babangtamvan851
    @babangtamvan851 หลายเดือนก่อน

    Pak ini punya saya di serial monitornya cuma tanda tanya???? Apakah masalahnya di sensornya? Tolong bantuannya pak

  • @20_3_muhammadalipnugraha6
    @20_3_muhammadalipnugraha6 4 หลายเดือนก่อน

    pak itu sensor suhu gapakai resistor pullup?

  • @EVIndonesia
    @EVIndonesia ปีที่แล้ว +2

    #update
    Error nya karena pada
    void GravityTDS::adcRead(){
    int _a = analogRead(this->pin);
    int _b = ADC_LUT[_a];
    Serial.println("_a : " + String(_a));
    Serial.println("_b : " + String(_b));
    return _b;
    }
    baris terarkhir return _b; nya lupa, sehingga error dan jadi restart karena
    di
    void GravityTDS::update(){
    this->analogValue = adcRead();
    }
    tidak ada return nya...
    analogValue jadi void kosong ...
    langsung Watchdog Restart

  • @orangepoof4654
    @orangepoof4654 10 หลายเดือนก่อน

    klo ketik enter tapi command not found itu bagaimana ya pak? terima kasih

  • @denyhardiansya1204
    @denyhardiansya1204 ปีที่แล้ว +2

    Ijin bertanya pak, ketika menggunakan library gravity sensor pada arduino dapat tersimpan di eeprom sehingga tidak harus melakakun calibrasi, sedangkan ketika menggunakan esp32 pembacaan sensor tidak dapat tersimpan ke eeprom dan harus melakukan calibrasi, pertanyaan saya pak, bagaimana pembacaan sensor tersebut dapat di simpan di memori eeprom esp32 dan ketika esp32 kelihangan supply data tersebut akan tetap tersimpan

    • @apaitu
      @apaitu  ปีที่แล้ว

      di library gravity dengan esp32 setelah kita kalibrarsikan kita simpan ke eeprom dengan perintah exit pada serial monitor.
      pada video kenapa kita harus selalu kalibrasi, karena memang kita bikin begitu, pada saat upload kan pilihan erase All nya kita enable, jadi saat upload sketch "eeprom" nya juga ikut terhapus.
      Kalau sudah running sih kValue nya di simpan di EEPROM

    • @farihkhafiyyan5625
      @farihkhafiyyan5625 ปีที่แล้ว

      Kalau pada option erase all sudah di disabled tapi ketika kalibrasi masih tidak tersimpan, kenapa ya Pak?

  • @kevinbestian5186
    @kevinbestian5186 10 หลายเดือนก่อน

    Izin bertanya pak, untuk bisa langsung mengukur ppmnya tanpa kalibrasi manual lewat ketik di enter dan cal di COM, bagaimana ya pak?

    • @apaitu
      @apaitu  10 หลายเดือนก่อน

      Ya gak bisalah, kan nilai kalibrasinya harus di simpan di esp nya.

  • @fadhliaulady5371
    @fadhliaulady5371 ปีที่แล้ว

    Ijin bertanya pak, apakah bisa ngeset kvaluenya langsung di librarynya ya? Soalnya di esp saya gabisa nge save eepromnya. Di awal kalibrasi bisa tp pas espnya di restart langsung ilang data di eepromnya. Jadi saya pengen ngeset k valuenya langsung di library bisa ga pak? Terima kasih.

    • @apaitu
      @apaitu  ปีที่แล้ว

      setelah diset (enter) cal:***
      tekan exit agar valuenya disave di eeprom.

  • @farihkhafiyyan5625
    @farihkhafiyyan5625 ปีที่แล้ว

    Izin bertanya Pak, kalau pada saat kalibrasi tds di serial monitor tidak tersimpan di esp32, tetapi kalau di Arduino tersimpan itu kenapa ya Pak?

    • @apaitu
      @apaitu  ปีที่แล้ว

      seingat saya di video sudah saya ulas hal itu disimak lagi saja

  • @terafilmproduction7753
    @terafilmproduction7753 ปีที่แล้ว

    siang pak guru , terimakasih banyak telah membantu saya dalam penyelesaian tugas akhir. Dikarenakan saya tidak mengikuti tutorial sebelumnya apakah saya dapat meminta link download untuk library adc_lut.h ??? dan apakah adc harus di pin 35 ??? karena saya menggunakan pin 25,26,27 untuk ketiga analog sensor yang saya gunakan di esp32

    • @apaitu
      @apaitu  ปีที่แล้ว +1

      saran saya tonton video tentang adc calibration esp32. coba saya tanya beberapa hal? kenapa anda pilih pin 26,27 untuk analog digital converter? apakah anda menggunakan wifi pada esp32? jika tidak, silahkan dipakai pin tersebut.
      kalau anda tonton video tentang adc calibration kita gunakan pin 26 sebagai sumber dac nya. makanya kita tidak gunakan pin 25 dan 26, lebih memilih pin 30an

    • @terafilmproduction7753
      @terafilmproduction7753 ปีที่แล้ว

      @@apaitu baik pak saya akan tonton adc calibration esp32

  • @user-zx9nd6cz3j
    @user-zx9nd6cz3j 11 หลายเดือนก่อน

    Pak izin tanya, saya masukin cal:500 malah failed, solusinya gimana ya?

    • @apaitu
      @apaitu  11 หลายเดือนก่อน

      micro controller nya pakai apa? library untuk esp dan arduino soalnya beda

  • @haidarmuhammad1258
    @haidarmuhammad1258 ปีที่แล้ว

    Ijin bertanya pak tiap perintah kalibrasi memasukkan nilai diatas 20 ppm tidak bisa sedangkan dibawah 20 bisa kira kira kenapa ya pak ?

    • @apaitu
      @apaitu  ปีที่แล้ว

      board nya apa? librarynya pakai apa?

    • @haidarmuhammad1258
      @haidarmuhammad1258 ปีที่แล้ว

      @@apaitu saya pakai esp8266 dan library diubah jadi spek esp8266

  • @yooyooo6450
    @yooyooo6450 ปีที่แล้ว

    bang kenapa punya saya hasil pembecaanya di serial monitor menjadi tanda tanya , tidak tampil ppm melainkan tanda tanya secara terus menerus
    mohon bantuanya bang buat keperluan tugas ahir
    🙏🙏

    • @apaitu
      @apaitu  ปีที่แล้ว

      ???? artinya baudrate tidak sesuai antara di code (void setup serial.begin) dan di bawah serial monitor

    • @babangtamvan851
      @babangtamvan851 หลายเดือนก่อน

      Sudah bisa cara ngatasinnya mas?

  • @farihkhafiyyan5625
    @farihkhafiyyan5625 ปีที่แล้ว

    Izin bertanya Pak, kalau tds sensor nya ga kebaca ketika esp32 nya terhubung wifi kenapa ya?

    • @apaitu
      @apaitu  ปีที่แล้ว +2

      wifi dan adc, esp32 walau punya pin adc cukup banyak namun tidak semuanya dapat digunakan dalam semua kondisi.
      contoh adc2 :
      gpio 0,2,4,12,13,14,15,25,26,27
      hanya dapat digunakan jika wifi driver tidak dipanggil.
      makanya saat anda gunakan wifi, tds nya tidak terbaca

    • @farihkhafiyyan5625
      @farihkhafiyyan5625 ปีที่แล้ว

      @@apaitu jadi solusinya gimana ya kak?

    • @farihkhafiyyan5625
      @farihkhafiyyan5625 ปีที่แล้ว +1

      Ganti ke pin selain itu ya, kalau gpio 32 Aman ga ya?

    • @apaitu
      @apaitu  ปีที่แล้ว +1

      @@farihkhafiyyan5625 solusinya jangan pakai pin pin itu jika ingin menggunakan wifi juga

    • @farihkhafiyyan5625
      @farihkhafiyyan5625 ปีที่แล้ว +1

      @@apaitu okey makasih banyak kak

  • @siskahandayani6773
    @siskahandayani6773 10 หลายเดือนก่อน

    Library Adc luth dpt drimna kak?

    • @apaitu
      @apaitu  10 หลายเดือนก่อน

      di deskripsi kan ada link nya

    • @siskahandayani6773
      @siskahandayani6773 10 หลายเดือนก่อน

      ​@@apaitusya pke esp8266 kak, udah coba nyari utk yg esp8266 tpi ngk ktmu.

    • @apaitu
      @apaitu  10 หลายเดือนก่อน +1

      @@siskahandayani6773 Cara pembuatan Lut table adalah menggenerate output "analog" dari nilai digital pada DAC pin(seperti pi. 21 atau 26 saya lupa).
      tegangan analog ini selanjutnya di baca oleh adc nya esp32, dikembalikan lagi ke nilai digital, di mapping ke dalam table. dengan demikian kita bisa baca deviasinya. misalkan digenerate digital 10 ternyata terbaca 11, maka di table kita, jika adc membaca 11, nilai sebenarnya adalah 10. jadi untuk membuat look up table dibutuhkan DAC dan ADC pada microcontroller yang sama.
      ESP8266 tidak ada DAC (digital to analog converter) nya makanya gak bisa generate look up table.
      Yang namanya adc converter itu permasalahan utamanya :
      - voltage reference rumusnya
      voltage =Vref *( analogRead(A0)/1023.0);
      Vref pada ESP8266 menggunakan vcc yang didapat dari usb, terkagang voltage ini tidak stabil. kita asumsika tegangannya 3.3V, terkadang tegangan nya turun bahkan sampai 3.09. artinya pembacaan adc nya pasti lari.
      - resolusi, ESP8266 resolusinya 10bit artinya 3.3V/1023.0 = 3.2mV/bit, jika kita membutuhkan pembacaan yang lebih akurat dari 3.2mV. gak bisa!
      - max voltage yang dapat dibaca adc esp8266 1V, pada nodemcu atau wemos d1 mini kita bisa baca sampai 3.3V karena ada voltage divider 220k dan 100k pada pinA0. secara teori tegangan max 3.2V. Dan kedua resistor tersebut memiliki tolerasi (error). yang tentunya berdampak pada hasil pembacaan.
      - noise, kisaran 830adc sampai 821 ada glitch. pembacaan nya tidak stabil direntang tersebut. sebenarnya bisa kita gunakan sampling dengan formula:
      adc = (adc * 99 + analogRead(A0))/1023;
      kita bisa rata ratakan hasilnya. tetap pada rentang tadi masih ada loncatan tapi nilainya akan lebih baik.
      Jadi kalau untuk pembacaan yang presisi, sebaiknya gunakan external adc seperti ads1115 atau ads1015. bahkan current sensor seperti ina219 bisa kita gunakan untuk membaca 0V sampai 26V antara pin vin(-) dan gnd. hasilnya jauh lebih stabil
      semoga menjawab.