Support us

Tuesday, August 4, 2015



Interfacing Arduino IR Sensor Module

 

by Lewis Loflin// i took this project from him because i test it and,its working fine..Superb post..

The Keyes Infrared IR Sensor Obstacle Avoidance Sensor board is an inexpensive solution to avoidance detection for robotics and other electronics uses. Costing under $5 with shipping operation is simple and straightforward.
This comes as an assembled module as shown above there are only four pins: +5-volts, GND, output, and EN. Output is an active LOW and has a onboard status LED. It's very easy to interface directly with Arduino, Picaxe, or Microchip PIC micro-controllers.
It also works with the Raspberry Pi with a voltage range of 3-6 volts. Connect Vcc to 3-volts!
The enable pin "EN" will disable the device when HI (Vcc) and enable when LO (GND). The onboard jumper can be left open to allow external control of enable/disable of the module. I see no use for this function and would leave the jumper on and the pin disconnected.
There are two potentiometers on the module one controlling operating frequency (centered at 38 kHz) the other controlling intensity. The detector was designed for 38 kHz and the onboard oscillator circuit is based on a 555 timer. Tweaking gives a little better range but I'd suggest leaving it alone because the useful range is narrow.


It worked well as is. The maximum reliable range in my test was around 30-40 cm and depended on the type of material. A smooth white surface worked far better than a black or rough surface.
IC Station Logo
If one wants to purchase this sensor module click the above banner or this link. They also have a number of other useful items for the hobby robotics and electronics builder. They are offering a 10% discount through February 14, 2014. Use offer code "lewics". I'm not being paid for this.

The video above shows how this is used with an Arduino Nano.




#define Bit_out 12 // Pin 1-2 Sn74164
#define CLK 11 // Pin 9 Sn74164
#define RS 7  // Pin 4 LCD
#define E 8  // Pin 6 LCD
#define sensorPin 4

#define Line1 0x80  // location LCD row 0 col 0 or line 1 LCD
#define Line2 0x80 + 0x40  // location row 1 col 0 or line 2 LCD

int count = 0;

void setup() {
  pinMode(Bit_out, OUTPUT);
  pinMode(CLK, OUTPUT);
  pinMode(RS, OUTPUT);
  pinMode(E, OUTPUT);
  
  pinMode(sensorPin, INPUT);

  digitalWrite(CLK, LOW); 
  digitalWrite(RS, LOW); // LCD in command mode default
  digitalWrite(E, HIGH);

  initLCD(); // see below
  delay(500);
  typeln("Count = 0    ", Line2);

}

void loop() {
  // below simply prints "Hello World!" on line 1
  //  char String1[] = "Hello world!\n";
  //  typeln(String1, Line1);
  // change a float to ASCII
  // dtostrf(floatVar, X, Y, charBuf);
  // X is min String Width Inc Decimal Point
  // Y is num Vars After Decimal point
  
  // sensor low when object detected
  
  typeln("Detector Off   ", Line1);
  if (!digitalRead(sensorPin))   {
    typeln("Detector On  ", Line1);
    typeln("Count =       ", Line2);
    count++;
    typeInt(count, Line2 +9);
    while (!digitalRead(sensorPin)) {} // wait for release
  }

} // end loop

// location is place on LCD display. 
void typeInt(int k, int location)   {
  char array1[10];
  itoa(k, array1, 10); // int to string
  typeln(array1, location);
}

void typeChar(byte val)   {
  ssrWrite(val);
  digitalWrite(RS, HIGH);
  pulseOut(E);
  digitalWrite(RS, LOW);
}

void writeCommand(byte val)   {

  ssrWrite(val); // send byte to 74164
  digitalWrite(RS, LOW); // make sure RS in Com mode
  pulseOut(E);
}


// Below we pass a pointer to array1[0].
void typeln(char *s, int location)   {
  delayMicroseconds(1000);
  writeCommand(location); // where to begin 
  while (*s)  typeChar(*(s++));
}  // end typeln

// inverts state of pin, delays, then reverts state back
void    pulseOut(byte x)   {
  byte z = digitalRead(x);
  delayMicroseconds(10);
  z = !z; // reverse state
  digitalWrite(x, z);
  z = !z; // return to original state
  digitalWrite(x, z);
} // end pulsout()

/*
To shift LSB out first:
 byte  temp = val & B00000001; 
 if (temp == 0x01) digitalWrite(Bit_out, HIGH); 
 else digitalWrite(Bit_out, LOW); 
 pulsout(CLK); 
 val = val >> 1; // shift one place right
 */

void ssrWrite(byte val)  {  // shift data to 74164
  for (int j=1; j<=8; j++)  {   // shift out MSB first
    byte  temp = val & B10000000; // MSB out first
    if (temp == 0x80) digitalWrite(Bit_out, HIGH); 
    else digitalWrite(Bit_out, LOW); 
    pulseOut(CLK); 
    val = val << 1; // shift one place left
  }  // next j
}  // end byteWrite


/*
Hd44780 display commands:
 0x0f = initiate display cursor on blinking
 0x0c = initiate display cursor off
 0x01 = clear display fills display with spaces (0x20).
 0x02 = HOME returns to line one first character
 0x38 = 2 lines X 16 char 8 bits mode. Defaults to 1 line mode.
 0x10 = cursor left
 0x14 = cursor right
 0x18 = Shifts entire display left
 0x1c = Shifts entire display right 
 
 One can also go to a specific location.
 writeCommand(0x80); // begin on 1st line
 writeCommand(0x80 + 0x40); // begin on 2nd line 
 
 writeCommand(0x38); // setup for 2 lines
 writeCommand(0x0F); // blinking cursor
 
 writeCommand(0x02); // home
 writeCommand(0x01); // clear
 
 */


void initLCD(void)   {

  writeCommand(0x38); // setup for 2 lines
  writeCommand(0x0F); // blinking cursor
  writeCommand(0x01); // clear
  writeCommand(0x02); // home
}


void ClearDisplay(void)   {
  writeCommand(0x01); // clear
  writeCommand(0x02); // home
}

Thursday, March 12, 2015

Lab Power supply Design (#01)

අපි අද ඉදන් බලමු,කොහොමද අලුතින්ම ප්‍රොඩක්ට් එකක් ඩිසයින් කරන්නේ කියල.මුලින්ම මම හිතුවා ප්‍රොෆෙශෙනල් ලැබ් පවර් සප්ලයි එකක් ඩිසයින් කරන්න.මම මෙ පොස්ට් එක එකදිගට දාන්නේ නැහැ...ඔකේ






<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-65435822-2', 'auto');
  ga('send', 'pageview');

</script>

Wednesday, March 11, 2015

ප්‍රතිරෝදකයක් තෝරා ගැනීම..(#01)

ප්‍රතිරෝදකයක් තෝරා ගැනීම..
අද අපි බලමු කොහොම්ද ප්‍රතිරෝදකයක් තෝරා ගන්නෙ කියල.දැනට වෙලදාපොලේ  රෙසිස්ටෙර් වර්ග බර තොගයක් තියෙනව..එවායින් වැදගත් ම කීපයක් මෙතෙන කතා කරමු.
කාබන් ෆිල්ම් රෙසිස්ටොර්ස්,
මෙවා තමයි දැනට වෙලදපොලේ සුලබවම තියෙන්නෙ.මේවා බොහෝ දුරට 5% නිරවද්ය තාවයකින් යුක්තයි.ඒවගේම මේවා විවිද පවර්(    )රේටින්ග්ස් යටතේ ලබා ගන්න පුලුවන්.මේවායේ මිල තීරනය වෙන්නේ මේ පවර් රේටින්ග් එක මත,සහ මිලදී ගන්නා ප්‍රතිරෝදක සංඛයාව මතයි.
සාමාන්යයෙන් ශොප් එකකින්...0.25W එවා 200 ට වඩා අඩුවෙන් ගන්නව නම් එකක්  රුපියල් සත 50..(0.50/=) කට වගේ මිලදී ගන්න පුලුවන්. 200 ට වඩා වැඩි වුනොත් සත 20 කට වගේ ගන්න පුලුවන්.හැබැයි හරියටම කියන්න බැහැ.
මෙටල් ෆිල්ම් රෙසිස්ටර්ස්
මේවා තමයි දැනට ලාබෙටම ගන්න පුලුවන් හොදම ඒවා.මොකද මේවායේ නිරවද්යතාව 1% විතර වෙනවා,ඒ කියන්නේ අපි 1000ඔම්  ප්‍රතිරෝදකයක් සැලකුවහම එකේ අගය උපරිම  1010ඔම් හෝ අවම අගය 990ඔම් වෙනවා..ඒ කියන්නේ  1000 ට ගොඩාක් කිට්ටුයි.හැබැයි මේවා  0.25W එකක් 2/= විතර වෙනවා.(   ඇල්ටියම් එල් ක්)වගේ තැනකින් ගන්නවා නම්,1.50/=ට ගන්න පුලුවන්.හැබැයි අඩුම 50ක් ගන්න ඕනේ.
වයර් වවුන්ඩ් රෙසිස්ටර්.
මේ රෙසිස්ටර් හදල තියෙන්නේ දිග හීනී තබ කම්බියක් කාබන් කූරක් උඩ ඔතලා.එක නිසා මේවා තුලින් විශාල ධාරාවක් ගැලීමේ හැකියාව තියෙනව.ඒක නිසා පවර් සප්ලයි ඩ්සයින් කරන කොට ගොඩාක් යුස් වෙනව.අනික මේවා  0.1% නිරවදයතාවයේ සිට 5% දක්වා පරාසයකින් ලබා ගන්න පුලුවන්.හැබැයි මේව නම් ටිකක් ගාන සැරයි...මමත් ගාන හරියටම දන්නෙ නැහැ.
හැබැයි මේ ජාතියේ වට 10ක් කරකවන්න පුලුවන් විචල්ය ප්‍රතිරෝදකයක් 350/= විතර වෙනවා
මම මෙතන කතා කරේ නියත අගයක් තියෙන (ෆික්ස්ඩ් රෙසිස්ටර්ස් ගැන විතරයි.)අනික මම මෙතන සිද්ධාන්ත ගැන විස්තර කරේ නැහැ..මොකද ඒවා කතා කරොත් හෙට වෙනකම් ලියතැහැකි.ඒක නිසා සිදාන්ත ඕන කට්ටිය කමෙන්ට් කරන්න.මම වෙනම පෝස්ට් එකක් දාන්නම්.එතකන් කට්ටියටම සුබ දවසක්.

Friday, March 6, 2015

Resistors

Guys its too hrd to type in sinhala..please try to understand,so now on i,m writing my bloog in english,please feel free to ask me any thing in sinhal ,if you dont understand anything.

So as you can see on the topic,its about resistors,but its not that much simple to study resistors in engineering turms,..so take this seriously.

Now simply, resistence is the resistence to current flow..(Much like friction force to moving object.)
   That resistence is call the electrical resistence.
                      We can calculate the voltage drop across a constant resistor by using OHMS LAW ,if we know the current flowing through it.
    OHMS LAW   V=I x R      
   V  is in volts,
    I in amps
   R in ohms

Also in the realworld,nothing is perfect so  resistens is no constant always,when a circuit is powered up(WORKING) it desipate power as heat,which means the resistor  temperature incresses with the time,so wenn it happens actual resistence of that perticulr resistor will also increase and reduce the current flowing through it..
In physical turms      resistence is inversly perposional to temperature
                                               R=k1/tempetature.
  Also we can calculate the power dissipation of a resistor by using  P=I^2 x R

These are the basic turms that we used in  A/L  and university first years.
But when we  considder practical  design aspects.there are various kinds of ressistors to  select from.depending uppon the appliction that we are working on.

There are several basic types of resistors.which is listed bellow.

                                                            (01)Carbon film resistors.
   These are the cheapest ones that we can buy  from anywhere in the world.those resistors basically have 4 colour bands.which represents the resistence value and the tolerence of that resistor.( basically how much the actual resistence is changed from the marked values  )5% resistors are the most available ones.
Also there are no marks to identyfy the temperature coefficients.(temperature coefficient is the turm which indicate ,resistence  change with temperature.
If this themperature coefficent modulus is very high ,they are call thermistors.

Threare 2 types of  resistors deppending uppon their temperature coefficent.
    PTC- positive temperature coefficient
                   Resistors which their resistence increases with the  increasing temperature.
     NTC- negetive temperature coefficient
                  Resistors which their resistence decrease with the increasing temperature.

If need to have very pression resistors in a design  ,then we have to take care of this PTC,NTC resistors

                                                               ( 02 )Metal film resistors
Those resistors are  most probably have alt least 6 colour  bands,where 3rd band represent the temperature coefficeient of that resistor..last band is for resistor tolerence,if it is brown colour,they are 1% resistors.altho those resistors are marked as 1% they are not actually 1%off from the marked value.it might chnge depending on the manufacturere and the batch of resistors.

                                                                ( 03) wire wound resistors.
Those are the ones with very high power dissipation capabilities.verry good for power applications.also thos resistors are very stable due to their high thermal mass.these  resistors can wound by our selves if we wanted presise value resistor...also there are wire wound potentiometers..those are also very good in turms of  stability.

                                                                    (04)Carbon composite resistors
Those resistors can be manufactured directly to the PCB ,which reducess assembling cost of the project...but those resistors are mostly 5% tollerence,
Also they are available only in 0.25W power ratings.so noot good for high power applications.

Abouve mentioned resistors are the most used industrial standard ones, of course there are othere ones as well ,but unless a without a spacific resason there is no need for it.PArty comes in when we need to purchasing resistors to a project..because there are no exact  place to that,most of the resistors are manufactured in chaina,and asian countries.but as you might expact those resistors might very from manufacturere to manufacturer.and date to date,but its not a must to not to purchas from those chaina companies,its your choice if you want to keep your project cost down.but i recomend to buy from a well known manufacturer like philips,panasonic,sony,samsung...etc...
The bast plece where you can buy without worry is from DIGIKEY.COM or MOUSER.COM.  those websites offer parametric search for components,which lets the designer to select any components to an application depending on the required parameters like,voltage,current,operation frequency..etc.
I recomend not to buy from ebay,because those sellers are mostly from china for electronics.

Ok guys im stopping now,because its its useless if i just keep saying about resistors...lets design a simple project and lets see how to choose resistors and other components to that aplication..hopefully complete the project☺.

Wednesday, March 4, 2015

Electonic Parts in Sri Lanka.(Altiumlk/Unitech/lankatronics/....)

අද අපි බලමු කොහෙන්ද,,ලංකාවෙ අපිට ලංකාවෙන්ම අපිට අවශයම ඉලෙක්ට්‍රොනික් (කෑලි ) ගන්න පුලුවන් තැන් කීපයක් ගැන. දැනට ශ්‍රිලංකාවෙ මම දන්න තරමින් ඉලෙක්ට්‍රොනික් ශොප්ස් බර ගානක් තිබ්බත්..99% ශොප්ස් වලින් අපිට අවශය පාර්ට් නම්බර් එකක් ඉල්ලුවහම,ලැබෙන්නෙ වෙනින් එකක්,නැත්තන් නෑ,නැත්තන් ඉවරවෙලා....සමහරවෙලාවට උන් අපිට කියනව. "එහෙම පාර්ට් නම්බර් එකක් තාම හදලත් නැහැලු...." මොකටද ඉතින් මගෙ කට....

ඒකෙන් කමක් නැහැ..අද අපි බලමු ඉන්ජිනියර්ස් ල වෙන්න/වෙච්ච අයට ලංකාවේ හොදම ඉලෙක්ට්‍රොනික් ශොප්ස් මොනවද කියල


1)AltiumLK.com
   මේ ගොල්ලො තාම ෆීල්ඩ් එකට අලුතින් ආවත්.මම දැනට දැකපු සුපිරිම සර්විස් එක තියෙන්නෙ මෙයාලගෙ.මෙයාලගෙ ශොප් එක තියෙන්නෙ.(නො:4 සෙන්මිචෙල් පාර,සුවාරපොළ,පිලියන්දල.http://www.altiumlk.com )ශොප් එක පොඩි වුනාට,මූලික ඉලෙක්ට්‍රොනික් උපාංග සියලුම දේවල් තියෙනව.



2)LANKATRONICS
මේගොල්ලො ගාවත් හොද කොම්පොනන්ට් ස්ටොරෙජ් එකක් තිබ්බට,හැබැයි පැය ගානක් බලන් ඉන්න වෙනව,එක්කො වැරදි පාර්ට් නම්බර් එකක් දානව.1% රෙසිස්ටර් ඉල්ලුවහම 5% රෙසිස්ටර්ස් දානව..ශොප් එක තියෙන්නෙ දෙහිවල.අනික කස්ටමර් සර්විස් එක නම් සවුත්තුයි.

3)UNI-TECH (යුනිටෙච්.)
මේ ගොල්ලො ගාව තමයි දැනට ලන්කාවෙ ලොකුම කොම්පොනන්ට් ස්ටොරේජ් එක තියෙන්නෙ..හැබැය් ඇතුලෙ වැඩ කරන උන්,වැස්සකට වත් ඉස්කෝලෙ ගිහිල්ල නැහැ,හරක් වගෙ.ටිවි රෙපෙයාර් කරන අයට නම් සුපිරි තැනක් වුනාට,ඩිසයිනින්ග් ඉන්ජිනියර්ස් කෙනෙක්ට නම්,"ගූ හතයි"ශොප් එක තියෙන්නෙ පිටකොටුවෙ. ...අනිත් එක ,කොම්පොනන්ට් කොලිටි එකත් සවුතුයි,මොකද ඔක්කොම චයිනා ක්ලොන්ස්.ඔරිජිනල් නම් ගහල තිබ්බට ෆේක්.not good for high voltage applications..


තව කියන්න ඒව සීයක් තිබ්බත් වෙලාව නැහැ,යනවනම් යන්න සුපිරිම තැන altiumlk.com /නැතම් ඩිජි-කී ඔර්ඩර් කරන්න.BYE.

add