Board arduino (uno) membutuhkan tegangan nominal sebesar 5Volt yang dilengkapi dengan regulator 1117/7805 yang mampu meregulasi tegangan hingga 15Volt (max) menjadi 5Volt.
Penggunaan baterai sebagai catu daya arduino harus memiliki voltase diatas 6Volt (mengimbangi tegangan dropout) jiks menggunakan regulator 1117.
Dalam contoh ini saya menggunakan baterai kotak 9Volt. Untuk pembacaan tegangan baterai, sebagai penyetaraannya digunakan resistor pembagi tegangan dengan nilai 1KΩ dan 10KΩ (toleransi 1% dan kehilangan arus 0.8mA). Keluaran resistor pembagi tegangan menghasilkan tegangan 0.818 Volt jika tegangan baterai 9V.
Tegangan dari resistor pembagi tegangan ini menjadi input bagi ADC channel 0. untuk lebih memaksimalkan pembacaan ADC digunakan tegangan referensi analog internal 1.1Volt.
skema baterai arduino (arduino battery):
Sketch/program arduino dengan baterai:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | //pin #define detektorBaterai A0 #define indikatorBateraiLemah 13//internal LED //Konstanta #define resistorPlus 10000L #define resistorGround 1000L #define teganganReferesiAnalog 1.1 byte bateraiLemah; bool statusIndikator; long indikatorMillisMulai; uint16_t delayIndikator = 1000; void setup() { pinMode(indikatorBateraiLemah, OUTPUT); analogReference(INTERNAL); analogRead(detektorBaterai); } void loop() { uint16_t rawBaterai = 0; for ( int i=0;i<10;i++) { rawBaterai += analogRead(detektorBaterai); } rawBaterai /= 10; double teganganPembagi = teganganReferesiAnalog * rawBaterai / 1023; //Volt double teganganBaterai = teganganPembagi * ((resistorPlus + resistorGround) / resistorGround); //Volt if ((teganganBaterai < 8.0) && (bateraiLemah != 2)) { bateraiLemah = 2; indikatorMillisMulai = millis(); } else if ((teganganBaterai < 8.5) && (teganganBaterai > 8.1) && (bateraiLemah != 1)) { bateraiLemah = 1; indikatorMillisMulai = millis(); } if ((teganganBaterai > 8.6) && bateraiLemah) //Hysteresis { bateraiLemah = 0; digitalWrite(indikatorBateraiLemah, LOW); } if (bateraiLemah && (millis() - indikatorMillisMulai > delayIndikator)) { digitalWrite(indikatorBateraiLemah, statusIndikator); if (statusIndikator) { delayIndikator = 100; } else { if (bateraiLemah == 1) { delayIndikator = 2000; } else if (bateraiLemah == 2) { delayIndikator = 200; } } statusIndikator = !statusIndikator; indikatorMillisMulai = millis(); } } |
untuk ngotrol 3 relay, kira – kira kuat berapa lama ya? Trims
Sebaiknya ;akukan percobaan
Faktor yang mempengaruhi:
* Total daya terpakai oleh arduino + aksesoris dan relay2
* kapasitas daya baterai yang tersedia saat mulai
karena berhubungan dengan lama/waktu maka lebih tepat dihitung dalam satuan energi listrik.
Gimana ya cara supply power ke arduino dari aki ? Tolong penjelasannya ya
aki 6 atau 12 volt bisa langsung ke Vin seperti skema atau dengan jack dc ke input power arduino
Tanpa r bisa gc bang
Mesti pakai resistor, karena arduino butuh supply Vin > 7v dan port input maksimal ~5v
saya ingin memonitor kapasitas baterai aki via wifi, apa bisa ya? terimakasih
bisa, tambahkan modul wifi dan kode untuk komunikasinya
Fungsi R itu untuk mendeteksi sisa baterai?
betul
sensor tegangan dengan resistor voltage divider