0% found this document useful (0 votes)
14 views2 pages

Void Isr - Process - Encoder1 (Void)

Uploaded by

pelaga3215
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Void Isr - Process - Encoder1 (Void)

Uploaded by

pelaga3215
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

void isr_process_encoder1(void)

{
if(digitalRead(Encoder_1.getPortB()) == 0){
Encoder_1.pulsePosMinus();
}else{
Encoder_1.pulsePosPlus();
}
}
void isr_process_encoder2(void)
{
if(digitalRead(Encoder_2.getPortB()) == 0){
Encoder_2.pulsePosMinus();
}else{
Encoder_2.pulsePosPlus();
}
}
void move(int direction, int speed)
{
int leftSpeed = 0;
int rightSpeed = 0;
if(direction == 1){
leftSpeed = -speed;
rightSpeed = speed;
}else if(direction == 2){
leftSpeed = speed;
rightSpeed = -speed;
}else if(direction == 3){
leftSpeed = -speed;
rightSpeed = -speed;
}else if(direction == 4){
leftSpeed = speed;
rightSpeed = speed;
}
Encoder_1.setTarPWM(leftSpeed);
Encoder_2.setTarPWM(rightSpeed);
}

void _delay(float seconds) {


if(seconds < 0.0){
seconds = 0.0;
}
long endTime = millis() + seconds * 1000;
while(millis() < endTime) _loop();
}

void setup() {
randomSeed((unsigned long)(lightsensor_12.read() * 123456));
rgbled_0.setpin(44);
rgbled_0.fillPixelsBak(0, 2, 1);
TCCR1A = _BV(WGM10);
TCCR1B = _BV(CS11) | _BV(WGM12);
TCCR2A = _BV(WGM21) | _BV(WGM20);
TCCR2B = _BV(CS21);
attachInterrupt(Encoder_1.getIntNum(), isr_process_encoder1, RISING);
attachInterrupt(Encoder_2.getIntNum(), isr_process_encoder2, RISING);
while(1) {
if(ultrasonic_10.distanceCm() < 5){

rgbled_0.setColor(0,255,0,0);
rgbled_0.show();

move(2, 30 / 100.0 * 255);


_delay(1);
move(2, 0);

move(3, 30 / 100.0 * 255);


_delay(1);
move(3, 0);

}
if(linefollower_9.readSensors() == 0.000000){

move(1, 30 / 100.0 * 255);

rgbled_0.setColor(0,29,255,0);
rgbled_0.show();

}
if(linefollower_9.readSensors() == 1.000000){

rgbled_0.setColor(0,42,0,255);
rgbled_0.show();

move(3, 30 / 100.0 * 255);

}
if(linefollower_9.readSensors() == 2.000000){

move(4, 30 / 100.0 * 255);

rgbled_0.setColor(0,55,0,255);
rgbled_0.show();

}else{

move(1, 30 / 100.0 * 255);

rgbled_0.setColor(0,0,255,21);
rgbled_0.show();

_loop();
}

void _loop() {
Encoder_1.loop();
Encoder_2.loop();
}

void loop() {
_loop();
}

traduis ce code en ordinogramme format word

You might also like