Wednesday, September 7, 2016

Memory Recall: BCBGC-09 USA

In 2009, NUST sponsored a visit to Orlando, USA to present research work at BCBGC-09. Few pictures are posted here (courtesy of Syed Nayyer Abbas Kazmi, IIU, Islamabad).






Dia Diagram Editor

Dia is an application available at LINK to create technical diagrams. A very useful, however, requires sparing sometime to learn. For starters, you may need to try "Toggles snap-to-grid" and "Toggles object snapping." Further, on properties set Font and Font size.










Wednesday, June 15, 2016

Photos from ICEEST 2016

There are two papers in this conference which is organized by Iqra University, Karachi. The papers are presented by Engr. Azhar Dilshad and Engr. Pardeep Kumar. Two keynote speakers and session chairs are Dr. Vali Uddin Abbas and Dr. Muhammad Faisal Khan. Well, my contribution is in the form of a couple of questions. Photos are courtesy of Azfar Ghani







Tuesday, May 31, 2016

Application: Fuzzy Logic Image Processing

The same MATLAB code at [LINK] is applied with a change of image only. Both input and output are shown below for record.



Monday, May 9, 2016

Example 4-1 from Make: AVR Programming (2014)

This post is based on classroom demonstration of Example 4-1 from book Make: AVR Programming by Elliot Williams. The demonstration has three variations in cylonEyes.c listing on pp. 60-61. The Proteus simulation model is shown below. Then comes program codes and a short movie clip.

// Example 4-1. cylonEyes.c modified listing 1
// ------- Preamble -------- //
#include <avr/io.h>     /* Defines pins, ports, etc */
#include <util/delay.h> /* Functions to waste time */
#define DELAYTIME 1000  /* milliseconds */
#define LED_PORT  PORTB
#define LED_PIN   PINB
#define LED_DDR   DDRB
int main(void) {
// -------- Inits --------- //
uint8_t i = 0;
LED_DDR = 0xff;         /* Data Direction Register B: all set up for output */
// ------ Event loop ------ //
while (1) {
            while (i < 7) {
                            LED_PORT = (1 << i);    /* illuminate only i'th pin */
                            _delay_ms(DELAYTIME);   /* wait */
                            i = i + 1; /* move to the next LED */
                          }
            while (i > 0) {
                            LED_PORT = (1 << i);    /* illuminate only i'th pin */
                            _delay_ms(DELAYTIME);   /* wait */
                            i = i - 1; /* move to the previous LED */
                          }
          } /* End event loop */
return (0);
}

// Example 4-1. cylonEyes.c modified listing 2
// ------- Preamble -------- //
#include <avr/io.h>     /* Defines pins, ports, etc */
#include <util/delay.h> /* Functions to waste time */
#define DELAYTIME 1000  /* milliseconds */
#define LED_PORTB   PORTB
#define LED_PINB    PINB
#define LED_DDRB    DDRB
#define LED_PORTD   PORTD
#define LED_PIND    PIND
#define LED_DDRD    DDRD
int main(void) {
// -------- Inits --------- //
uint8_t i = 0;
uint8_t j = 0;
LED_DDRB = 0xff;         /* Data Direction Register B: all set up for output */
LED_DDRD = 0xff;
// ------ Event loop ------ //
while (1) {
            while (i < 7) {
                            LED_PORTB = (1 << i);    /* illuminate only i'th pin */
                            LED_PORTD = (1 << j);
                            _delay_ms(DELAYTIME);    /* wait */
                            i = i + 1;               /* move to the next LED */
                            j = i;
                          }
            while (i > 0) {
                            LED_PORTB = (1 << i);    /* illuminate only i'th pin */
                            LED_PORTD = (1 << j);
                            _delay_ms(DELAYTIME);   /* wait */
                            i = i - 1;              /* move to the previous LED */
                            j = i;
                          }
          } /* End event loop */
return (0);
}

// Example 4-1. cylonEyes.c modified listing 3
// ------- Preamble -------- //
#include <avr/io.h>     /* Defines pins, ports, etc */
#include <util/delay.h> /* Functions to waste time */
#define DELAYTIME 1000  /* milliseconds */
#define LED_PORTB   PORTB
#define LED_PINB    PINB
#define LED_DDRB    DDRB
#define LED_PORTD   PORTD
#define LED_PIND    PIND
#define LED_DDRD    DDRD
int main(void) {
// -------- Inits --------- //
uint8_t i = 0;
uint8_t j = 7;
LED_DDRB = 0xff;         /* Data Direction Register B: all set up for output */
LED_DDRD = 0xff;
// ------ Event loop ------ //
while (1) {
            while ((i < 7)&&(j > 0)) {
                            LED_PORTB = (1 << i);    /* illuminate only i'th pin */
                            LED_PORTD = (1 << j);
                            _delay_ms(DELAYTIME);    /* wait */
                            i = i + 1;               /* move to the next LED */
                            j = j - 1;
                          }
            while ((i > 0)&&(j < 7)) {
                            LED_PORTB = (1 << i);    /* illuminate only i'th pin */
                            LED_PORTD = (1 << j);
                            _delay_ms(DELAYTIME);   /* wait */
                            i = i - 1;              /* move to the previous LED */
                            j = j + 1;
                          }
          } /* End event loop */
return (0);
}


Monday, April 11, 2016

ICEET 2016 Conference Participation as Author and Session Chair

The ICEET 2016 conference was held at Lahore 7-8 April [PRESENTATION]. Some photos from this event are courtesy of conference organizers.








Best Session Paper Award at SMIC 2016 Dubai 9 January

Unable to get visa for Dubai due delay in passport renewal, however, the presentation was delivered on Skype (thanks to Dr. Aqeel Ur Rehman for his kind assistance). The presentation is available [LINK].