/* * HallEffectSensor.c * * Created: 4/10/2018 4:39:42 PM * Author : Marta Cortés * * Used code from // hello.HC-SR04.c // // HC-SR04 sonar hello-world // 9600 baud FTDI interface // // Neil Gershenfeld 11/15/15 // (c) Massachusetts Institute of Technology 2015 // // This work may be reproduced, modified, distributed, // performed, and displayed for any purpose. Copyright is // retained and must be preserved. The work is provided // as is; no warranty is provided, and users accept all // liability. // */ #define F_CPU 20000000UL #include #include #include #include #define set(port,pin) (port |= pin) // set port pin #define clear(port,pin) (port &= (~pin)) // clear port pin #define output(directions,pin) (directions |= pin) // set port direction for output #define pin_test(pins,pin) (pins & pin) // test for port pin #define bit_test(byte,bit) (byte & (1 << bit)) // test for bit set #define bit_delay_time 102 // bit delay for 9600 with overhead #define bit_delay() _delay_us(bit_delay_time) // RS232 bit delay #define half_bit_delay() _delay_us(bit_delay_time/2) // RS232 half bit delay #define char_delay() _delay_ms(10) // char delay #define serial_port_out PORTA #define serial_direction_out DDRA #define serial_pins_in PINA #define serial_pin_out (1 << PA1) #define serial_pin_in (1 << PA0) #define serial_interrupt (1 << PCIE0) #define serial_interrupt_pin (1 << PCINT0) #define timeout 255 /** * CODe for Calculating int output */ void calculate (unsigned int measure, unsigned int hall_on){ static float measured_value; measured_value = 5.0*measure/1023.0; //Check sensor value in PINA if(measured_value>3){ //if 0, check schematics //Put value in PORTB if(hall_on==7) clear(PORTB,1<