Bike Hand signalljus (10 / 10 steg)

Steg 10: Riktiga koden



Tack för att bära med mig hittills. Kom ihåg att min kod inte är perfekt. Jag har funnit att det tar lite att lära sig att få signal fungerar bara rätt. Jag kommer att fortsätta försöka perfekt mitt system och kommer att hålla denna sida uppdaterad med ny kod när jag skriver det.

Dec 26, 2009: Ny kod! Det är postat var den gamla koden. Stort tack till Jacob för förenkling. Det fungerar riktigt bra.

Här är det. Tack för läsning och glöm inte att rösta!

#include < avr/io.h > #include < avr/interrupt.h > #include < util/delay.h > / / Anger / rensar bitar i registren #define setBit (sfr, lite) (sfr | = (1 << bit)) #define clearBit (sfr, lite) (sfr & = ~ (1 << bit)) #define flipBit (sfr, lite) (sfr ^ = (1 << bit)) #define falska 0 #define sant 1 #define matrixX(x) (PORTA = (x - 1) << 5) #define matrixGY(y) (PORTD = y) #define matrixRY(y) (PORTB = y) void försening (unsigned int försening) { unsigned int x = 0; while(x < Delay) { x++; { } { } void initMatrix() { DDRD = 0xFF; / / grön kontroll DDRB = 0xFF; / / Red kontroll DDRA = 0xE0; / / Ground control } void matrixRowDraw (char greenmask, char redmask, char kolumn) { matrixX(column); int jag = 0; for(i = 0; i < 8; i++) { matrixGY (greenmask & (1 << i)); matrixRY (redmask & (1 << i)); _delay_us(150); } matrixGY(0x00); matrixRY(0x00); } void matrixLeft() { matrixRowDraw (0x10, 0, 1), matrixRowDraw (0x20, 0, 2); matrixRowDraw (0x40, 0, 3); matrixRowDraw (0xFF, 0, 4); matrixRowDraw (0xFF, 0, 5), matrixRowDraw (0x40, 0, 6), matrixRowDraw (0x20, 0, 7), matrixRowDraw (0x10, 0, 8), } void matrixRight() { matrixRowDraw (0x18, 0, 1), matrixRowDraw (0x18, 0, 2); matrixRowDraw (0x18, 0, 3); matrixRowDraw (0x18, 0, 4); matrixRowDraw (0x99, 0, 5), matrixRowDraw (0x5A, 0, 6), matrixRowDraw (0x3C, 0, 7), matrixRowDraw (0x18, 0, 8), } void adcInit() { ADMUX = 0x60; ADCSRA = 0x80; } char adcGet(char chan) { ADMUX = 0x60 | chan; ADCSRA | = 0x40; samtidigt (bit_is_clear (ADCSRA, ADIF)); återvända ADCH; } char adcAvg (char chan, char avgnum) / / endast i genomsnitt upp till 256 prover { int jag = 0; unsigned int totala = 0; for(i = 0; i < avgnum; i++) { totala += adcGet(chan); } tillbaka totalt/avgnum; } int main() { initMatrix(); adcInit(); while(1) { medan (adcAvg (3, 50) > 0x45 & adcAvg(2,50) > 0x70) / / hex värden här bör ändras beroende på användare inställningen att ta reda på om flex sensorerna. { om (adcAvg (1, 50) > 0x4F) { matrixRight(); } om (adcAvg (1, 100) < 0x4F) { matrixLeft(50); } } } return 0; }

Speciellt tack till tids, mina föräldrar och vänner som hjälpte.

Se Steg
Relaterade Ämnen

Road bike styret ändring mtb hand position med bromsar

lägga till en mountain bike stil hand position i min väg cykel släppa stil styret:Delar mestadels från Performance Bike: slå på bar ändar (grafit/straight); inline bromshandtag; kast; bromsa kabelsats:. längre bultar; slangklämma; tråd-kontakt /: zip...

Bike korgar: Second hand, återvunnet godhet

Bike packväskor--pendling väsentliga, men kan vara "beaucoup dyra."För alla er på en högskola/arbetslösa budget (eller bara till återvinning/återanvändning), här är lätt planer för återvunnet packväskor.Material:2 överdimensionerade läder väskor...

Retro Electric Bike

This is a custom pedal/electric bike I designed and built for school. Detta bildspel visar start till slut bygga av projektet.Jag gör Metal Fabrication Engineering längs sidan en panna att göra lärlingsutbildning. Jag ser huvudet in i anpassade elekt...

Hur att reparera en skinnjacka för Hand

jag hade denna biker skinnjacka i år som jag älskar det mer då någon annan artikel i kläder jag någonsin kommer att äga. Det var en av de första presenter som jag fått av min man. Under åren, foder och fickor började försämras och var i behov av repa...

Bike Buddy

Jag cykel för att arbeta varje dag, och vill ha ett sätt att spåra min hastighet och höjd förändring under loppet av min resa. Det är därför jag gjorde den cykel kompis, min egen cykel dator. Det styrs av Intel Edison styrelsen och använder Adafruit...

Bike Generator laddningsstation

Vill träna men telefonen är död? Med en stillastående cykel generator, som behöver inte vara ett problem. Du kan hoppa på din cykel och titta på dina kalorier bränner du ge energi för att ladda din telefon (eller Laptop). Detta projekt är en förlängn...

Rocking Speeder Bike

Jag har byggt min son massor av projekt men med min dotters första födelsedag kommer upp jag kände var det hennes tur att få lite projekt kärlek och vad bättre sätt än med henne egna Speeder Bike?!74-Z Speeder Bike är mest känd för sitt utseende i 19...

Bike hjul tvätt Airer

här i Storbritannien, vi älskar torkning vår tvätt utanför...Det är gratis, 100% miljövänliga och det regnar alltid i England.Nåja, nämnde jag att det är gratis?Så kolla in denna cykel-relaterade Instructable som jag faktiskt använder.FunktionerCa 20...

Dölja bort Emergency Kit; Mountain Bike ansökan ingår

detta kit är perfekt för akuta överlevnad objekt lagras i ett secrect läge. Zombie Apacolypse? Greppa din gömma bort Emergency Kit från den ihåliga eken på väg till bunkern. Behöva utrymma snabbt? Oroa dig inte om packning överlevnad objekt, eftersom...

Ersätta en mountain bike framgaffel för äldre mountainbikes

har du en äldre full-suspension mountainbike vars främre hjulupphängningen gaffel är en lite trött? Reservdelar för det kan vara obefintlig, och kostnader för arbetskraft att göra jobbet kan vara mer än kostnaden för en ny cykel, men det finns ingen...

Hur att reparera en platt mountain bike däck med skivbromsar

för de ivrig utomhus extremisterna, mountainbike kan vara en av de mest givande och stimulerande sport runt. Och om du är som en av oss, du vilja spendera så mycket tid ute på leden som möjligt. Dock kan att vara oförberedd och saknar kunskap om hur...

Bike Hacking 101 - hur du utför en cykel obduktion

Ta en cykel isärAtt bygga anpassade cyklar är en stor hobby som kan dras av alla som har en önskan att skapa. De färdigheter som behövs för att demontera, ändra och reparation cykel komponenter kan lätt lära sig, och de delar och verktyg du behöver ä...

Quick Hitch for bike trailer

A quick connector for a bike trailer. Så att släpvagnen kan växlas mellan flera cyklar lätt.Inte betungande och håller cykeln ser "normala". Min fru och jag bor om två kvarter från mataffären och vill kunna använda våra cyklar för att få varorna...

Bent ply trä bike fender

Jag gjorde denna enkla laminerad plywood bike fender för några år sedan för min slå upp gamla väg cykel (en för många blöt rumpa Rider) Detta var en perfekt helg projekt för denna cykel kärleksfull DIYster, gjorda av billiga material och relativt lät...

Bike rack för flera cyklar

Denna 4 cykel rack passar i en liten trailer eller pickup.Här var mina krav för detta projekt:1. Håll 4 cyklar2. billig3. montera i min 4 x 8 trailer4. Håll cyklar tryggt och säkert5. ingen cykel demontering eller hjul borttagningMina tre barn och ja...

Hur man bygger en Galileo Hand. Författare: + Ali Lemus

MYCKET VIKTIGT!Författare: + Ali LemusDetta är en engelsk version av en spansk version finns här:eventuella fel i översättningen, samarbetar Vänligen för att göra detta dokument bättre.-----------------------------------------------------------------...

Bike Blender

förvandla en elektrisk mixer till ett mekaniskt pedal powered cykel mixer.Steg 1: Skaffa en elektrisk mixer arbetar eller inte Du kan använda en elektrisk mixer verkligen. Jag kommer att beskriva den process som jag använde som kan tillämpas på någon...

Hemgjord Lavender Hand Scrub

Denna hand scrub är så enkel men det fungerar underbart! Jag har två lavendel växter i min trädgård, så jag ville försöka göra något med mina växter. Här skrubba är bra för torr hud och doftar fantastiskt. Det gör också en stor gåva!Ingredienser:-1/2...

Assembly of e-NABLE's Raptor Reloaded Hand

Raptor Reloaded är en uppdaterad version av originalet som innehåller feedback från e-aktivera gemenskapen och har CAD design källfilerna i steg, IGES, IPT och F3D-format.Uppdateringar i 12-17-14-versionen inkluderar:Förbättrad print-förmåga på grund...