Dörr aktiverad LED belysning med hjälp av Hall effekt sensorer (5 / 6 steg)
Steg 5: Flytta från Arduino till AVR
Säkringarna är inställda på en 8Mhz intern RC timer eftersom tidpunkten är inte kritisk. En gång gjort med koden, gå rakt föröver och löda kretsen ihop.
Nedan är koden jag använde för AVR. Om du inte är bekant med AVR programmering, de flesta av vad du behöver finns här:http://iamsuhasm.wordpress.com/tutsproj/avr-gcc-tutorial/ och tutorials här: 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 lampor PB0
#define magSense PB1
void initPorts();
int main(void)
{
flyktiga uint16_t val; variabel för att läsa pin status
flyktiga uint16_t lightMode = 0; variabel att hålla ljusets tillstånd
initPorts();
While(1) {
Val = bit_is_set (PINB, magSense); Läs indatavärde och lagra den i val
om (val) / / se till att vi fick en 1
PORTB | = (1 << ljus);
annat
PORTB & = ~ (1 << ljus);
}
Return 0;
}
void initPorts() {
PORTB = 0b000010; Aktivera dra upp på givarstaven
DDRB = 0b000001; Ange PB0 som utgång och resten som indata
}