Merhaba,
Önceki videolarda Arduino ve CAN Bus Shield kullanarak aracın CAN hattını okuyup yorumlama işlemini gerçekleştirmiştik. Bu videoda ise CAN protokolü üzerine inşa edilen OBD2 standardının çalışma mantığını öğreniyoruz. Hepimizin elinde olan ve araçlarımıza bağlanıp anlık veri okumamıza, arıza kayıtlarını silmemize yaran OBD2 sisteminin temellerine iniyoruz. Videoda kullandığım Arduino kodlarını aşağıda bulabilirsiniz.
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 69 70 71 72 73 74 75 76 |
#include <Canbus.h> #include <defaults.h> #include <global.h> #include <mcp2515.h> #include <mcp2515_defs.h> void setup() { Serial.begin(115200); Serial.println("CAN Read - Testing receival of CAN Bus message"); delay(1000); if(Canbus.init(CANSPEED_500)) Serial.println("CAN Init ok"); else Serial.println("Can't init CAN"); delay(1000); } //********************************Main Loop*********************************// void loop() { obd2Request(); obd2Reply(); } void obd2Request() { tCAN message; message.id = 0x7DF; message.header.rtr = 0; message.header.length = 8; message.data[0] = 0x02; message.data[1] = 0x01; message.data[2] = 0x0D; message.data[3] = 0x55; message.data[4] = 0x55; message.data[5] = 0x55; message.data[6] = 0x55; message.data[7] = 0x55; mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0); mcp2515_send_message(&message); delay(2); } void obd2Reply() { tCAN message; if (mcp2515_check_message()) { if (mcp2515_get_message(&message)) { if(message.id == 0x7E8) { Serial.print("ID: "); Serial.print(message.id,HEX); Serial.print(" "); Serial.print("Data: "); Serial.print(message.header.length,DEC); Serial.print(" "); for(int i=0;i<message.header.length;i++) { Serial.print(message.data[i],HEX); Serial.print(" "); } int rpm = ((message.data[3]* 256)+ message.data[4])/4; Serial.println(rpm); Serial.println(""); } } } } |
Merhaba Buğra hocam,
can bus ile aracın kilometresini alabilme imkanımız var mı?
sabit kilometreyi
hız ve devir ile ilgili bir çok örnek var ama
sabit kilometre okuma ile ilgili hiç bir bilgi yok
ddt4all data hatası veriyor .
ddt2000 database olarak intenette çokca siteye baktim ama ne yazık ki doğru bir link bulamadım yardımcı olursanız sevinirim youtube videolarınızı merakla takip ediyorum gerçekten çok faydalı ama ddt4all la ilgili videolar eğer yardımcı olmazsanız hiç bir işime yaramaz .
şimdiden teşekürler
Merhaba.
Tabletten pos makinesi. Perakende satış konsolu yapnayı düşünüyorum. Tablete yazıcı barkod okuyucu
Nakit çekmecesi ve yeni nesil pos yazar kasa bağlamak istiyorum. Tabletten bu yapılırmı? Yapılırsa nasıl yapılır.
Teşekkür ederim
merhaba ,yine çok güzel bir anlatım olmuş elinize sağlık, bu arada sanırım 36.satırda 0D değilde, rpm için olan 0C olacaktı sanırım?
Buğra hocam ücreti karşılığında proje yapıyormusunuz?
Merhaba,
İlginiz için teşekkür ederim. Harici proje yapacak vaktim yok maalesef.