1. sayfa
araba tarafında s3 ile birlikte bir arduino daha kullanıp usb otg kablosu ile telefona bağlarsan gayet rahat olur. Videoyu izlemek için tıklayınız https://play.google.com/store/apps/details?id=ram.mere.DoDuino video linkteki programa ait. bunun gibi programlar var. ayrıca elinde kumanda olarak kullanacağın arduino için at10 komut seti yada benzeri bluetooth modülleri ile veri alışverişini yapabilirsin. daha da rahatı hazır s3 ü arabaya atmışken kamera bağlantısını da kullanıp wifi veya 3g ile kumanda etmek. elinde de bir başka telefon olursa iyi gider. web arayüzü oluşturur işlerini halledersin. bu arada android yazılımcılığı ile aran nasıl? |
cevabınız için teşekkür ederim hocam ama bendeki tel otg desteklemiyo hemde bluotooh ile mesafe kısa olur dediler.Hocam arabam ve kumandan aynı onları arduino ile birşey yapmayacagım .Elimde 3 arduino 24nrf modül 3310 ekran var ben 1 ardunoyu arabaya yerleştirsem 1inide kumandaya birinden veri gönderip kumandadaki ile lcd yazdırsam arabanın hızını nasıl öçebilirim hız sensörü ve gps modül olmadan yabancı forumlarda halleffekt sensör ile olur demişler ama kod buladım hall effekt sensörüde var |
http://www.arducopter.co.uk/ bu yapıya bir bak istersen. bu arada bluetooth mesafesi sanıldığı gibi kısa değildir. senin gördüğün modüller kısa mesafeli olabilir fakat endüstriyel modüller 30 km mesafeye kadar bağlanıyor. http://www.wired.com/2007/07/bluetooth-dongl/ |
oo onlar gelişmiş heralde hocam benimki sıracam hc05 modül .Hall effect sensörünürünü mıknatısı arabaya yerleştirdim her attıgı turu serial porttan görebiliyorum şimdi 2.pi.r daire cevresi den tekerin cevresini bulunca her turda çevresi kadar yol gidecek bunu nasıl kmh cevircez kafam cok karışık |
//Based on the codes provided by GoForSmoke // wheel radius in mm * 100 * 2 * ( pi * 10000 ) = 94.248000 mm perimeter. // 6 0's were used in scaling up radius and pi, 6 places are divided in the end // and the units work out. You can use integers more accurate than float on // Arduino at greatly faster speed. Both type of long can hold any 9-digits. // Arduino variable type long long can hold any 19 digits is 19 place accuracy. // if you work in Small Units and scale back later, integers are plenty accurate. // remember, this value has to be divided by microseconds per turn. const unsigned long wheel_perimeter = 1500UL * 2UL * 31416UL; // = 94,248,000 //radius * 2 * pi, 'UL' to force the constant into an unsigned long constant // wheel perimeter gets divided by microseconds, 1,000,000/sec (usec or us). // wheel turns once for 94248000 mm/100 in 1000000 usecs = //wheel radius is 15mm unsigned long Speed = 0; unsigned long PrevSpeed = 0; volatile byte hall_rising = 0; // interrupt flag volatile unsigned long irqMicros; unsigned long startMicros; unsigned long differenceTimeMicros; unsigned long displayStartMillis; const unsigned long displayWaitMillis = 200; unsigned long ledFlashStartMillis; const unsigned ledFlashWaitMillis = 100; unsigned long hallEffectCount = 0; unsigned long distance = 0; void wheel_IRQ() { irqMicros = micros(); hall_rising = 1; hallEffectCount++; } void setup() { pinMode( 2, INPUT ); // pin # is tied to the interrupt Serial.begin( 9600 ); // can this be faster? faster would be better //Serial.println(wheel_circumference); //prints the wheel perimeter //delay( 1000 ); //digitalPinToInterrupt(pin) instead of 0 and we define any pin we need attachInterrupt( 0, wheel_IRQ, FALLING ); // pin 2 looks for LOW to HIGH change } void loop() { //Serial.print("hallEffectCount "); //Serial.println(hallEffectCount); while(hall_rising == 1){ differenceTimeMicros = irqMicros - startMicros; startMicros = irqMicros; hall_rising = 0; } distance = (wheel_perimeter * hallEffectCount)/1000000000; //distance in meters if( differenceTimeMicros != 0 ){ Speed = wheel_perimeter / differenceTimeMicros; //speed = distance / time Speed = (Speed*3600)/1000000; // this converts the speed from mm/s to Km/h if ( Speed != PrevSpeed ) { Serial.print( distance ); Serial.println( "mm " ); //Serial.println( differenceMicros ); // this now shows mm/sec with no remainder Serial.print( Speed ); // this converts the speed from mm/s to Km/h //Serial.print( "mm/s alt=" ); Serial.print( "KM/H " ); Serial.println( " " ); } }else { Speed = 0; Serial.print( Speed ); //Serial.print( "mm/s alt=" ); Serial.println( "KM/H " ); } PrevSpeed = Speed; }// end of void loop bu kodu buldum bunun neresine tekerlek cevresi yazılacak acaba wheel_perimeter buralaramı acaba |
const unsigned long wheel_perimeter = 1500UL * 2UL * 31416UL; bu kısımda düzenlemeler yapmam lazım sanırım |
r yi kilometre olarak kullan. santim, milim kilometreye nasıl çevrilir anlatmasamda olur diye düşünüyorum ;) bizde bunu yapamayan tekniker var o aklıma geldi :) manyetik sensörün her tetiklenmesinin millis() değerini kaydet. milisaniyede kilometreyi bulursun, bölme işlemi yapacaksın. 3.600.000 ile çarp. kilometre saat olur. |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.