Showing posts with label arduino. Show all posts
Showing posts with label arduino. Show all posts

Wednesday, March 02, 2016

Paspberry Pi 3 is here... Up the ante...

Raspberry Pi widely known as the world’s most successful and accessible computer platform that anyone can program. Coolest thing that reminds us fondly of the early 8-bit Apple II, Intel 485, Atari, and Commodore days, and with obviously much more capability now. 

Raspberry Pi Foundation has launched the Raspberry Pi 3, an upgraded model that is on sale now

The Pi 3 includes a new Broadcom BCM2837 SoC with a 64-bit processor for the first time — a 1.2GHz quad-core ARM Cortex-A53 CPU that the company claims is roughly 10 times faster than the processor in the original model (at least on SysBench). The 33% bump in clock speed over the Pi 2’s 900MHz should deliver a 50-60% increase in performance in 32-bit mode.

Image Courtesy element14


The Pi 3 also has 802.11b/g/n Wi-Fi and Bluetooth 4.1, which vastly expands the variety of things you can do with it (or at the very least, means you no longer need an Ethernet cable or a Wi-Fi adapter). Bluetooth makes it ideally suited for IoT-like applications, as now the unit can pick up data from sensors without needing a direct connection. The Pi 3’s form factor remains largely the same, other than that the LEDs are now on the other side of the microSD card socket to make room for the antenna. Speaking of which, that microSD card slot is now just that, and no longer a spring-loaded tray, which should be more reliable in the long run.

The board runs from a 5V micro-USB power adapter as before, and the company is recommending you use a 2.5A adapter in order to connect USB devices that require a lot of power.

For now, the company is using the same 32-bit Raspbian userland, and the Pi 3 is fully backwards compatible with the Pi 1 and Pi 2, including for all existing accessories (aside from anything that may obscure the LEDs in the new position). Company founder Eben Upton said on the official blog that they’re currently investigating whether it’s worth it to move to 64-bit mode for the performance improvements.

The Pi3 is available now from Element 14 and Pi Supply. The Pi 1 Model B+, Pi 2 Model B, and original Pi remain on sale for $25, $35, and $20, respectively; Upton said in the post that it intends to build those models for as long as there’s demand.


Wednesday, May 14, 2014

Much awaited Arduino TRE is out.. !!

As many of you already know, the Arduino TRE is not a typical Arduino board. It’s a Linux computer running on a Sitara processor, plus a full Arduino Leonardo. It builds upon the experience of both Arduino and BeagleBoard.org, combining the strengths of both.
Can't wait to get one but still waiting for the real one for i don't have so much of spare time as before to dump my life on it.. But still would love to have one soon after the beta tests are over..

The Arduino TRE Developer Edition (see other pics) is a pre-production board. 


When using Arduino TRE  you’ll see a new editor (IDE) that has been specifically developed for this board. The TRE IDE comes pre-installed with the onboard Linux and is accessible via a web browser. It builds upon the simplicity of the Arduino software experience, while adding a few new powerful features (such as uploading sketches from the onboard Linux) and a refreshed UI.


A nice competition to Raspberry Pi

Tuesday, May 15, 2012

Yet another Arduino GSM-CDMA cell phone Adapter

How often you had imagined if you could use arduino to do this, that and what not... I always had felt if i could put this + arduino.. that + arduino like.. was actually wondering if only i get some problem on my way would hardly hesitate to make some soln out of Arduino :)

This shield has the ability to connect to high speed WCDMA & HSPA networks that could launch us perfectly to the "internet of things" era as they prefer to call it.
With an internal GPS wit hmobile cell ID triangulation using both assisted-mobile (A-GPS) and mobile-based (S-GPS) modes this gizmo of dreams surely lives up perfectly to fill the void in the hyper market.
what more.. with a cam of 640x480 resolution for both photo and video recordings, SD file system and all those fancy little things that gadget of todays come....


I don't necessarily believe throwing more hardware at a problem will fix it but I have not seen this brought up in here. Will this device make up for what the phonedrone is missing and save you guys some work?

Wednesday, May 02, 2012

Arduino Based Auto Timer / Stop Watch Timer for stroking time Measurement

See my Instructables below for full version of this article
The Need:
Last week around at work I had another usual un-usual  problem to face with.  Having to make lots of mechanisms n components to work with-in seconds or fracs at times I kind-of knew this was always coming.


And invariably so my poor mind couldn't think of anything but Arduino for a handy solution that should be compact, flexible, highly customizable, rugged and most importantly easier to work around.

Step 1The Problem:


i
The Problem:
What we had is an arm moving around from an actuator which we would like to tap with some contact type micro switces (limit switches) to give a feed-back signal as the awkward figure suggests.

Step 2Components:


i
Components:
I franatically searched for the components from the Junks I always treasured with the hobby kit coming-in handy..


LCD Display (16x2) - 1
Micro Switches - 2
Hook-up wires for (bread board) - Plenty (see Fritizing schematic for actuals)
Bread Board - 1 (for Prototyping)
LED - 1 (fok blinking indication)
Resistors 330 & 2K - 1 each
potentiometer 4k - 1  ( I had used one 2k Resistor and a 4K POT in comb. instead of a 6k pot to control the display as it came so handy from the junk parts)

Arduino - 1 (Duemelanove is what I had)

Step 3The Methodology


i
The Methodology
  • IMG_5639.JPG
  • IMG_5633.JPG
  • Image1256.jpg
  • Image1255.jpg
Now that all I/O's are wired in order as per the schematic, it pretty much works-out itself and it all boils down to the programming now..


I had used the StopWatch library to evoke the timer and initiated the millis() function to record time step value as soon as Arduino is started.



But what I need is just a differential timer with the simple math which gives us the time on air or otherwise.



All that I did is declared some run-time variables and do some math to display the difference value to show only the time between micro-switches getting energised. Otherwise to display the time correctly in the format is similar to Dan Thompson's method as it only records the time values in millis and we have to convert the values to sec, min, hr and microsecs.



The other problem i encounter is the sign reversal as arduino cannot handle large buffer. I finally managed to overcome this error by using the unsigned longint as integer data type.

Step 4Display Shield


i
Display Shield
The display shield is constructed of pretty much the same components over a matrix board with pin rails for piggy-backing Arduino.


Had used some old components from an electronic choke for compacting

Step 5Arduino Sketch - Programming

Final sketch\code for Arduino below:
/*
Sketch \ Code by Chuppandi aka Subu
Chuppandi@gmail.com
www.chuppandee.blgospot.com
*/


#include
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // LCD pins decleration
int switchPin1 = 3;// switch1 is connected to pin 3
int switchPin2 = 2;// switch2 is connected to pin 2
int ledPin = 13; // LED is connected to pin 13 in arduino
int val1;
int val2;
int frameRate = 500;                // the frame rate (frames per second) at which the stopwatch runs - Change to suit
long interval = (1000/frameRate);   // blink interval
char buf[15f00];                       // string buffer for itoa function
unsigned long starttime = 0;
unsigned long endtime = 0;
unsigned long lasttime = 0;
unsigned long currenttime = 0;
StopWatch sw_millis;    // MILLIS (default)
StopWatch sw_micros(StopWatch::MICROS);
StopWatch sw_secs(StopWatch::SECONDS);
void setup() {
    lcd.begin(16,2);
    pinMode(switchPin1, INPUT);
    pinMode(switchPin2, INPUT);
    pinMode(ledPin, OUTPUT);
    Serial.begin(9600);
    sw_millis.start();
    sw_micros.start();
    sw_secs.start();
}
void loop() {
  val1 = digitalRead(switchPin1);   // read input value and store it in val
  val2 = digitalRead(switchPin2);   // read input value and store it in val
    if (val1 == LOW && val2 == LOW)
   {
    digitalWrite(ledPin, HIGH);   // turn LED on
    currenttime = (sw_millis.elapsed() - lasttime) ;
    Serial.print("sw_millis=");
    Serial.println(sw_millis.elapsed());
    Serial.print("sw_micros=");
    Serial.println(sw_micros.elapsed());
    Serial.print("sw_secs=");
    Serial.println(sw_secs.elapsed());
    lcd.clear();
    lcd.print("SECS:");
    float sec = sw_millis.elapsed()/10;
    lcd.print(sec);
  int elapsedMinutes = (currenttime / 60000L);
  int elapsedSeconds = (currenttime / 1000L);
  int elapsedFrames = (currenttime / interval);
  int fractionalSecs = (int)(elapsedSeconds % 60L);
  int fractional = (int)(elapsedFrames % frameRate);       // use modulo operator to get fractional part of 100 Seconds
   fractionalSecs = (int)(elapsedSeconds % 60L);        // use modulo operator to get fractional part of 60 Seconds
  int fractionalMins = (int)(elapsedMinutes % 60L);        // use modulo operator to get fractional part of 60 Minutes
   lcd.clear();                                         // clear the LCD
lcd.print("TIME:");



   if (fractionalMins < 10){                            // pad in leading zeros
      }
    lcd.print(itoa(fractionalMins, buf, 10));       // convert the int to a string and print a fractional part of 60 Minutes to the LCD
      lcd.print(":");                                 //print a colan.
if (fractionalSecs < 10){                            // pad in leading zeros
      lcd.print("0");                                 // add a zero
      }
lcd.print(itoa(fractionalSecs, buf, 10));          // convert the int to a string and print a fractional part of 60 Seconds to the LCD
   lcd.print(":");                                    //print a colan.
if (fractional < 10){                                // pad in leading zeros
      lcd.print("0");                                 // add a zero
      }
lcd.print(itoa(fractional, buf, 10));              // convert the int to a string and print a fractional part of 25 Frames to the LCD




    lcd.setCursor(0, 1);



    endtime = currenttime;
    lcd.print(sw_millis.elapsed());
    lcd.setCursor(0, 1);



    lcd.print("us=");
*/
  delay(10);
}
// if (val1 == LOW){
//       digitalWrite(ledPin, LOW);}
else{
  lasttime = sw_millis.elapsed();
//  endtime = (sw_millis.elapsed() - starttime);
//  endtime = (currenttime - starttime);
digitalWrite(ledPin, LOW);
  int elapsedMinutes = (endtime / 60000L);
  int elapsedSeconds = (endtime / 1000L);
  int elapsedFrames = (endtime / interval);
  int fractionalSecs = (int)(elapsedSeconds % 60L);




int fractional = (int)(elapsedFrames % frameRate);       // use modulo operator to get fractional part of 100 Seconds
int fractionalMins = (int)(elapsedMinutes % 60L);        // use modulo operator to get fractional part of 60 Minutes
lcd.clear();                                         // clear the LCD
lcd.print("TIME:");



   if (fractionalMins < 10){                            // pad in leading zeros
      }
    lcd.print(itoa(fractionalMins, buf, 10));       // convert the int to a string and print a fractional part of 60 Minutes to the LCD
      lcd.print(":");                                 //print a colan.
if (fractionalSecs < 10){                            // pad in leading zeros
      lcd.print("0");                                 // add a zero
      }
lcd.print(itoa(fractionalSecs, buf, 10));          // convert the int to a string and print a fractional part of 60 Seconds to the LCD
   lcd.print(":");                                    //print a colan.
if (fractional < 10){                                // pad in leading zeros
      lcd.print("0");                                 // add a zero
      }
lcd.print(itoa(fractional, buf, 10));              // convert the int to a string and print a fractional part of 25 Frames to the LCD
    lcd.setCursor(0, 1);
    lcd.print("ACTUATOR TIMER");
}
}
// End of the program

      lcd.print("0");                                 // add a zero

fractionalSecs = (int)(elapsedSeconds % 60L);        // use modulo operator to get fractional part of 60 Seconds

    lcd.print(sw_micros.elapsed());

/*  lcd.print(" ms=");

    lcd.print("ACTUATOR TIMER");

      lcd.print("0");                                 // add a zero

#include

Step 6Packaging


i
Packaging
  • Image1285.jpg
  • Image1286.jpg
Packaging is always fun.. Just pick-up whatever you could come up with from the mighty treasure junks... you can make wonders...


Do visit my space for more updates on my Arduino erector kit.

See my Instructables below for full version of this article
http://www.instructables.com/id/Arduino-Based-Auto-Timer-Stop-Watch-Timer-for-st/