Go Down

Topic: Newbee and loads of doubts please see (Read 489 times) previous topic - next topic

Lally

there is scroller attached for which i am using this i am also attaching the schematic design of the circuit
please help  

this is the basic program i am using to get the leds glow with the moment of the scroller
the input is more like shown below ( has a small phase difference

pin2 ==> __|-|__
pin4 ==> __|-|__

but using this program i am able to capture the the changes and the leds glows
like if i hav led A and led B
so if i have the above input the pins will glow like
like A first and B
and then A and B both r ON
and then just B is ON
what i want is
for the above input that if i get pin2 i want to ignore pin4 and in case the input is lik ethis one
pin2 ==> __|-|__
pin4 ==> __|-|__
i want to ignore the pin2
and i want to use the counter in the program to count the number of inputs that i am getting from the scroller
please help me put


Code: [Select]
#include <avr/io.h>

int main()
{
  uint8_t i;

  PORTB= 0x00;

/* PB0, PB1 & PB3 are outputs; PB2 & PB4 are scroller inputs */
  DDRB = (1<<PB3) | (1<<PB1) | (1<<PB0);

  PORTB = 0;

  for(;;) {
     i = PINB;

     if ( (i & (1<<PB2)) != 0) {
        PORTB |= (1<<PB0);
     }
     else {
        PORTB &= ~(1<<PB0);
     }

     if ( (i & (1<<PB4)) != 0) {
        PORTB |= (1<<PB1);
     }
     else {
        PORTB &= ~(1<<PB1);
     }
     _delay_us(100); /* wait for a while */

  }
}


in my mind i had more like a truth table to work on but not able to impliment it
like the input is more like
up ==> 001100
down=> 000110
and in this case i want to ignore the input at the down and send only one out put


pin2 ==> __|-|__
pin4 ==>  __|-|__ for upward moment
if this is the input more like
01100
00110

pin2 ==>  __|-|__
pin4 ==> __|-|__ for downward moment
if this is the input more like
00110
01100

i just want to capture the change in the bit at the signal
and which ever changes first i want to pick that one and niglect the other one

it was suggested by Cliff to use ISR
but i am not able to understand how to intiate this interrupt
if someone can help please


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy