Stap 5: Verplaatsen van Arduino aan AVR
De zekeringen zijn ingesteld op een interne RC timer 8Mhz omdat de timing niet kritisch. Zodra gedaan met de code, ga je gang en solderen van het circuit samen.
Hieronder is de code die ik voor de AVR gebruikte. Als u niet vertrouwd met de programmering van de AVR, de meeste van wat je nodig hebt kan hier worden gevonden:http://iamsuhasm.wordpress.com/tutsproj/avr-gcc-tutorial/ en de tutorials hier: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewforum&f=11&sid=f899212b86e2e0de2b660c0999f95fd7
#include < avr/io.h >
#include < util/delay.h >
#include < avr/sfr_defs.h >
#define verlichting PB0
#define magSense PB1
nietig initPorts();
int main(void)
{
vluchtige uint16_t val; variabele voor het lezen van de Pinstatus
vluchtige uint16_t lightMode = 0; variabele te houden van het licht staat
initPorts();
while(1) {}
Val = bit_is_set (PINB, magSense); Lees input waarde en sla het in de val
Als (val) / / ervoor kregen we een 1
PORTB | = (1 << lichten);
anders
PORTB & = ~ (1 << lichten);
}
keren 0;
}
ongeldig initPorts() {}
PORTB = 0b000010; pull up inschakelen voor pin van de sensor
DDRB = 0b000001; PB0 instellen als output en rest als input
}