BIKEDUINO::: Stoppa punkt prediktor för ryttare cykel (3 / 6 steg)

Steg 3: Steg 2: bearbeta behandlingen från dynamon och få den hastighet, ACCELERATION och avstånd

Få data på Arduino och processen de pulser för att få den hastighet, Aceleration och avstånd beroende på pulserna.

Du måste acurate mycket just i räknar pulser och sedan calbulate hastighet, ACCELERATION och avstånd.

Här får du koden.

Bikeduino version 1
Kan din cykel peka en laser på den plats där det kommer att stå stilla, om retardation förblir konstant.

#include < Servo.h >

Servo servo;

analoga pin
#define DYNAMO_PIN 5
PWM digital pin
#define SERVO_PIN 10
Digital pin
#define LASER_PIN 11

tidsfönster prov-snitt
#define WINDOW_SIZE 32
acceleration-snitt fönster
#define AWINDOW_SIZE 8

vinkeln vid vilken servo pekar horisontellt
#define SERVO_STRAIGHT_ANGLE 140
mängden milimeter cykeln flyttas i en puls från dynamo (uppmätt)
#define mm_per_pulse 16
mängden milimeter lasern är över marken (på cykeln)
#define bike_height 1030

void setup() {
Serial.BEGIN(19200);
Serial.println ("Bikeduino version 1.");
servo.attach(SERVO_PIN);
servo.write(SERVO_STRAIGHT_ANGLE);
pinMode (LASER_PIN, OUTPUT);
}

int q [WINDOW_SIZE];
int q_p = 0;

void queue(int x) {
om (++ q_p > = WINDOW_SIZE)
q_p = 0;
q [q_p] = x;
}

int average_pulsetime() {
int i;
långa r = 0;
för (jag = 0; jag < WINDOW_SIZE; i ++) {
r + = q [i];
}
avkastning (int) (r/WINDOW_SIZE);
}

int aq [AWINDOW_SIZE];
int aq_p = 0;

void aqueue(int x) {
om (++ aq_p > = AWINDOW_SIZE)
aq_p = 0;
AQ [aq_p] = x;
}

int average_acceleration() {
int i;
långa r = 0;
för (jag = 0; jag < AWINDOW_SIZE; i ++) {
r += aq [i];
}
avkastning (int) (r/AWINDOW_SIZE);
}

void wait_for_pulse() {
/*
samtidigt (digitalRead(DYNAMO_PIN)) {
}
medan (! digitalRead(DYNAMO_PIN)) {
}
*/
samtidigt (analogRead(DYNAMO_PIN) < 300) {
}
samtidigt (analogRead(DYNAMO_PIN) > 300) {
}
}

void laser_off() {
digitalWrite (LASER_PIN, låg);
}

void laser_on() {
digitalWrite (LASER_PIN, hög);
}

int v_prev;
osignerade långa prev_t;

void loop() {
osignerade långa t;
int dt;
wait_for_pulse();
t = millis();
DT = t - prev_t;
Queue(DT);
prev_t = t;

DT = average_pulsetime();
int v = (1000 * mm_per_pulse) / dt; [v] = mm/s

int dv = v - v_prev;
v_prev = v;

int a = (int) ((1000*(long)dv) / dt); acceleration i mm/s ^ 2

aqueue(a);
Serial.println();
Serial.Print ("a:");
Serial.println(a);
en = average_acceleration();

Serial.Print ("t:");
Serial.println(t);
Serial.Print ("dt nu:");
Serial.println(q[q_p]);
Serial.Print ("dt av:");
Serial.println(DT);
Serial.Print ("v:");
Serial.println(v);
Serial.Print ("a:");
Serial.println(a);
om (en == 0) {
inte ändra någonting
}
annars om (en < 0) {
Vi bromsar, punkt laser
laser_on();
int d = (int) (-sq((long) v) / a/2); avstånd (mm) tills stillestånd under förutsättning att retardationen är konstant
dubbla vinkeln = (180.0/3.1416) * atan ((dubbel) bike_height / d); vinkeln mellan laser och framåt horisontellt
servo.write(SERVO_STRAIGHT_ANGLE-Angle); ändra minus till ett plus om din servo vänds omkring
Serial.println();
Serial.Print ("d:");

Serial.println(d);
Serial.Print ("vinkel:");
Serial.println(Angle);

}
annat {
inte sakta ner
laser_off();
servo.write(SERVO_STRAIGHT_ANGLE); punkten och framåt
}

}

Se Steg
Relaterade Ämnen

Arduibag: en ansluten ryggsäck för ryttare cykel

Arduibag är en ansluten ryggsäck för ryttare cykel. Det är också en öppen källa projekt skapat av två passionerade franska killar: Michaël D'AURIA och Stéphane DE GRAEVE.Om du vill veta mer om Arduibag gå till: http://www.arduibag.comBegreppetProjekt...

Cykel rack, packväskor, äventyr: 4 förpackningar, släpvagnar och kul.

U-aluminium rack för ditt pendlare / arbete cykel att bära tillbaka förpackningar, bifoga grejer, inspirerade många äventyr inklusive dra släpvagnar.Med skolan stil tillbaka förpackningar på en cykel rack, du kan göra med handverktyg, är boy scout at...

Förbättrad cykel till arbete-dagar

det är lätt att vara en cykel att arbeta dag hjälte och att förbättra rida för många cykel pendlare.På cykel till arbetsdag ta jag min cykel pump, chain lube och några verktyg för enkel justeringoch åka ner till min lokala cykel spår eller energizer...

DIY bambu cykel - prova nya stil med ridning!

Bambu cyklarna blir populär dag. Det finns flera anledningar varför ryttare cykel blir mer intresserad av dem. Tja, om du planerar också att köpa en bambu cykel, är här en kort guide som hjälper dig att enkelt göra en själv. Läs vidare för att veta m...

Crazy jätte ÖGONGLOBEN cykel lampor

Varje erfaren staden cyklist vet att hög synlighet färger och ljusa blinky ljus alltid inte översätter till att bli sedd av förare. Det finns en stor skillnad mellan att vara synliga och sett. Hur kan ryttare cykel förbättra sin chans att bli sedd?Mi...

Twacked baklykta för en lika twacked cykel

rätt så min dagliga ryttare cykel är en beach cruiser drog jag ut den container och kludged att fungera. Jag rider denna cykel i stället för min lowrider och min gary fisher så jag inte vända för många huvuden och få uppmärksamhet från gängmedlemmar...

Animera en enkel promenad cykel

I denna tutorial, kommer jag att visa dig hur man animera en enkel promenad cykel. Jag använde adobe flash för att göra det, men du kan använda något program som du vill.Steg 1: Skapa en karaktärFörst ska du skapa en ny fil. Du kan ställa in storleke...

Köpa används cyklar för nybörjare

(innehållet i detta Instructable dök upp i min nya blogg på http://biodieselhauling.blogspot.com/Min 40 Instructables abonnenter, och den som snubblar över detta och tycker om det, ska du ta en titt, som mycket av det jag skriver är inte helt rätt fö...

Inte din genomsnittliga spara energi råd

*** skamlös egenreklam ***De flesta av vad jag skriver är inte relevanta för Instructables. Min viktigaste blogg finns här: biodieselhauling.blogspot.com** Avsluta utvikning... Till den goda grejer **Alla har en anledning att använda mindre energi.-F...

Anpassade trä komposit fiskespö handtag

Det finns ingenting så värdefull som en bit av personliga minnessaker, med all den historia som går med det, och ingenting så sorgligt när det når dess avslutar av liv, eller inte längre har en praktisk användning. Så när en familjemedlem bad mig att...

En läder presentkort

om 8 eller 9 år sedan vi deltog en International läder Show. En av anställda av Tandy läder företaget satt runt visar hur man gör en läder presentkort. Aha! En lösning på min gåva dilemma för barnbarn. Jag hade sett andra kort i läder, men hade inte...

Arduino 2 axel tid förflutit Dolly

det är på tiden att jag visade internet min tid förflutit dolly. Detta är åtminstone iteration 4 eller 5, kombinera en linjär rörelse rigga med en panorering rigg, så tyvärr jag inte har en steg för steg byggprocessen. Men om din på mig en bild är vä...

En annan mest värdelösa maskin någonsin

om detta är första gången du ser en mest värdelösa maskin någonsin (MUME), det är en maskin som, när den slås på, direkt stänger av sig själv. Om du funderar på bygga en, uppmuntrar jag dig att titta på andra på Instructables (efter att du har studer...

Hur man virka en hampa armband eller Anklet

jag älskar hampa smycken, men jag har aldrig gjort någon av min egen. Mestadels, eftersom hampa knotting såg ganska komplicerat. Lyckligtvis, hampa är ganska mångsidig, så jag kan virka med det! Använda super grundläggande stygn som kedjesöm och den...

Gör läskigt falska spider webs - snabbt och enkelt!

Jag försöker hitta ett sätt att göra realistiska läskiga spider webs för en Halloween spökhus och jag hittade denna stora webbplats. Jag har inte ändrat design, precis lagt sekundär lock utan springor så att jag kan hålla alla oanvända spider webblös...

Laser cut hängande lampskärm

Här är en Frostad akryl lampskärmen som passar på en Ikea ljus sladd. Designen är något mellan en blomma och en klingon bat'leth, precis som du alltid velat ha. Varsågod.Här instructible fokuserar på design process, men jag har också tagit filen så a...

Automatiska hemliga biblioteksdörren

Jag har alltid velat ha en hemlig bokhylla dörr. Vem skulle inte? Så när jag slutade min vinden, jag hade chansen att bygga en egen bokhylla dörr som öppnas och stängs genom att skjuta in ett utrymme bakom väggen, avslöjar mitt hemmakontor.Men jag vi...

Mobil Sun-söker Robot

Din anläggning kan navigera till den soligaste platsen i huset med denna solsken söker inomhus planter. Kontrolleras av en Arduino mikro och drivs av två kontinuerlig rotation servomotorer. Planter syftar sunshine med hjälp av två solpaneler som iden...

Arduino + TFT--> sköldpadda grafik

Inspirationen till detta Instructable kom från minnen av turtle grafiken som var en del av TI logotyp, ett program som gick på hemdatorn TI 99 4A. Och det kom från Grafikmöjligheterna på Adafruit 2.8" TFT Shield. Sätta en på din Arduino Uno, och låt...