Stap 1: De naam Flasher
x5 verspreid 3 mm LED's (RadioShack)
Dit project wordt persistentie van de visie te geven van een afbeelding of tekst wanneer snel verplaatst. Het werkt beter wanneer het is donker. Met de AVR wij schakelen tussen LED's sneller dan het oog kan zien dat wij een foto kunt maken in de lucht met weinig componenten.
De Code: (Download het .zip bestand aan de onderkant van de pagina voor de code, makefile, etc. (dat code niet de uitgebreide commentaren hoeft dat deze code maar als deze code niet werkt, probeer dan de in het zip-bestand))
#define F_CPU 1000000 #include #include void dispClear() { } PORTB = ~ 0b00000000; } int main() { DDRB = 0xFF; //For degenen onder u die nooit C gelezen hebben voordat de dubbele slash geeft aan een opmerking. Hiermee stelt u de pinnen van de avr als uitgang char x = 10; x wordt gebruikt voor het instellen van de legnth van de vertraging. De waarde wordt verhoogd geven een langzamere schakelen tussen pixels, minderen, een lagere while(1) //While (voorwaarde geldt); {Hiervoor} (Waar in C is 1) { PORTB = ~ 0b00010001; Naam van mijn vriend is Zoe, dus ik trok de tekens op ruitjespapier en hen vervolgens in PORTB toegerekende. De eerste drie nullen don't matter niet want er zijn slechts vijf geleid is aangesloten. In een één van de resterende vijf ruimten geeft aan dat de LED, een nul, af _delay_ms(x); vertraging in miliseconden PORTB = ~ 0b00010011; _delay_ms(x); PORTB = ~ 0b00010101; _delay_ms(x); PORTB = ~ 0b00011001; _delay_ms(x); PORTB = ~ 0b00010001; _delay_ms(x); dispClear(); Open ruimte tussen tekens _delay_ms(x); PORTB = ~ 0b00001110; _delay_ms(x); PORTB = ~ 0b00010001; _delay_ms(x*3); PORTB = ~ 0b00001110; _delay_ms(x); dispClear(); _delay_ms(x); PORTB = ~ 0b00011111; _delay_ms(x); PORTB = ~ 0b00010101; _delay_ms(x); PORTB = ~ 0b00010001; _delay_ms(x); dispClear(); _delay_ms(x*5); Het woord is gedaan voor clairity heb ik een grotere ruimte tussen de woorden } }
Volg nu de instructies op pagina 4 van deze code te compileren en te verzenden naar uw AVR.