Skip navigation
1 2 3 Previous Next

Arduino

332 posts

Hello community. I was developed my own application for Arduino developers and today i had published it on Google Play. This app bring you flexible and configurable remote for your arduino devices via bluetooth modules HC-05, HC-06. This is free application and i hope i can use this place for show it. Also i hope i can get some feedback and if i will see my app is in demand, then i will improve it. I have some ideas how can do it. Also i will be happy to see any suggesting for future updates.

 

Here some screenshots of it:

Screenshot_20170618-211036.pngScreenshot_20170618-211220.pngScreenshot_20170618-211450.pngScreenshot_20170618-211058.pngScreenshot_20170618-211134.pngScreenshot_20170618-211825.png

 

Download link -> http://play.google.com/store/apps/details?id=com.ltd.kvushco.bluetoothterminal

Project website -> http://bluetooth-terminal.kvushco.xyz/

Arduino Home

An Open-Source platform to create digital devices and interactive objects that sense and control physical devices.

Arduino Tutorials
Arduino Projects

 

IMG_1190.JPGI was able to get a way from my booth at the 2017 Bay Area Maker Faire long enough to catch Massimo Banzi's annual State of Arduino speech. It was during one of these speeches late last year that Massimo announced that Arduino would be reforming as a single entity, removing a measure of uncertainty that was clouding the future of Arduino.  I was interested in hearing what direction Arduino would be heading in now that all parties were once again united under a single brand. It was during his State of Arduino talk a couple of years ago that Massimo promoted Arduino's new sister brand Genuino.  When the merger was announced it sounded like they would go back to being a single brand.

 

That hasn't happened so far as the company still sells boards under the Genuino name and from what I can tell it looks like the plan is to keep the Genuino as a sister brand to sell boards in the EU. I'm not sure if this has been clarified anywhere, maybe someone can comment if they know what the long term plan is for the Genuino brand, but the issue of the forked Brand outside the US was not addressed. Genuino and Arduino are the same except for the name, Arduino has the better brand recognition, so I am surprised something hasn't happened to unite these two under the Arduino name. Maybe there are still legal or practical considerations for not selling under the Arduino brand outside the US?

 

Arduino's focus is on opening up the Arduino IDE to more boards, branding Arduino as the "lingua franca" of microcontrollers, implementing their API on a broad range of architectures to make it easier for anyone to write embedded code and port from one processor to another.  Massimo Banzi gives a summary of his talk on his personal blog where he talks about six projects for the near future of the Arduino open source project.

 

His talk touched on cleaning up the API by separating the cross platform Arduino API code from the platform specific code; making the Arduino-IDE do a better job of automating coding that people would do by hand by discovering dependencies for included libraries, generating prototypes for functions you create, passing files to the compiler, getting a binary file, uploading it, and more; and improving the layout for Arduino libraries to support for multiple architectures, metadata and more. He also talked about debugging the backend and the need for a task scheduler to achieve some level of multitasking with Arduino.

 

{gallery} My Gallery Title

IMG_1176.JPG

IMG_1177.JPG

IMG_1179.JPG

IMG_1181.JPG

IMG_1218.JPG

 

Here are some highlights from Massimo Banzi's talk:

  • 23.4 Million IDE downloads since March 2015 (although he suggested these numbers weren't up-to-date and could be higher) or 1 download every 2.6 seconds
  • 38.2 Million Website Users, a 32.2% increase from 2015
  • Their mission is to use Open Source, Open Protocols, Open Knowledge to enable people's creativity
  • They made microcontrollers easier to use for everybody and keep making technology accessible to everyone
  • They are now working heavily on IOT, with investments in boards, connectivity technologies and cloud services
  • They've renewed their focus on STEAM education launching specific initiatives and KITs to support teachers and students
  • They are always committed to Open Source, contributing what they do to the community
  • Arduino is focused on Maker prototyping, Internet of Things, Education Kits, and the DIY Professional.

 

 

 

 

How do you feel about the State of Arduino? 

Let us know in the comments below!

vandia

Atmega Pinout and Conflicts

Posted by vandia May 24, 2017

I'm writing this as a "Blog Post", because I did not see a way to make it a document: Which I would have preferred.

 

I ran into a problem on the Intel Edison board, that stuck me for a while on coding, until I finally found the issue was with the Arduino Atmega328 chip on the Intel's Arduino breakout board. My personal problem was that I was unable to run I2C while using some of the Analog pins. While the detailed hardware information can be found linked below, I wanted to create an "easier" guide to know what pins you CAN NOT use, if you plan to use others, so you don't keep re-writing your code, and can plan your wiring in advance, to also be able to purchase any expansions you need in advance as well to compensate for the pins you'll be locked out of by using another pin.

 

From this point forward, I'll refer to these pins you cannot use as "Zombie Pins", because they're physically present, but pretty much dead for use, with their life being somewhere else.

 

I'm going to make a list of pins in a grid. To the left is the Atmega pin number, to the right is all pins/functions on that pin. You can only use one of those pins listed on the right at a time, or you'll have some odd/unwanted behavior.

 

Notes:

-This is NOT an all-encompassing guide to all functions, just conflicts for the most common used ones.
- I am going by the actual CHIP pin number listing.

- A = Analog Input, D = Digital I/O

- Some conflicts are labeled on the board (such as D pins having a function), but I'm including them anyhow, to allow people to plan their wiring in advance, and be able to know what they need to program before they even buy their board!

 

Atmega PinPin Functions
1*Reset
2**D1 / RXD
3**D2 / TXD
4D3
5D4 / PWM
6D5
7/20*VCC
8/22Ground
9/10Unknown
11D5 / PWM
12D6 / PWM
13D7
14D8 / CLK0
15D9 / PWM
16D10 / PWM
17*,***D11 / PWM / MOSI
18*,***D12 / MISO
19*D13 / SCK
21AREF
23A0
24A1
25A2
26A3
27A4 / SDA
28A5 / SCL

 

* = Also known to be used for some of the smaller holes you can solder into the board, near AREF and the "ON" LED (forget what they're called).

** = Also used for Atmega for USB programming. If you have trouble writing, try disconnecting device from these ports.

*** = There is a secondary of this function of this type in the ICSP circuit, near the Reset button
For these markers, please refer to the Reference link below for the breakout board for more information.

 

-I believe one of the Digital pins also controls the "L" LED, near 13.

 

Anyhow, I hope this helps others with the Arduino, including the Intel Edison when using the Arduino Breakout board!

 

Reference:

Intel Edison Breakout Board: http://www.intel.com/content/dam/support/us/en/documents/edison/sb/edison-arduino-hardware-guide.pdf

This is my first use of transistors in a project. I need to control a SainSmart 16-Channel Relay Module using an Arduino 101(3v3 GPIOs). This Relay Module uses 5 vdc through Opto couplers to power the relays. The input pins on the relay board are at 4.4 vdc and need to be brought to GND to switch on.

When I connected the Arduino 101(3v3 GPIOs) directly to the relay module some of the relays would stay on while others would be controlled by the Arduino. It all worked fine when I tried an Arduino UNO(5v GPIOs) in place of the 101. But, I want to use the BLE capabilities of the 101.

So my solution is to use  2N22222N2222 transistors because I’ve read they are good at general purpose low-mid power switching Below is the configuration I think is correct Any feed back would be greatly appreciated I’ve tried reading the Data Sheet but I’m mostly going off of other forum posts

 

Relay Board inputs; +4.4vdc, input to ground 4mA

Arduino 101; 3.3vdc GPIOs, max 20mA per GPIO

T1  2N22222N2222

R1: 10K, to reduce current through the Base to 0.33 mA

R2: 100K, drop down resistor. (is it needed?)




  2N2222.JPG

 

Thanks!

 

kk99

Simple thermometer

Posted by kk99 Jan 6, 2017

 sevensegtherm

I would like to show you a simple thermometer with single seven segment LED display HP 5082-7356, DS18B20 sensor and Digispark module. DS18B20 sensor is able to measure temperatures in range form -55 to 125 °C. Digispark module communicates with DS18B20 sensor by 1-Wire interface and reads temperature every 10 seconds. Value of temperature (stored as integer) is displayed on HP display.

Schematic:

schematic

Video:

 

Source code:

sevensegtherm

kk99

Infrared thermometer

Posted by kk99 Jan 2, 2017

pyrometer

I would like to show you a infrared thermometer with MLX90614 sensor, seven segment display HP QDSP-6040 and ATtiny2313 MCU. Sensor allow to measure temperature in following ranges:

1) -40 - 125 °C - in case of measurement of sensor temperature,

2) -70 - 380 °C - in case of measurement of object temperature.

In project is implemented only measurement of object in Celsius degrees.

 

ATtiny2313 MCU communicates with sensor by SMBus. Measured value of temperature is shown on display. Current per single segment of display is configured to 4.67 mA, so display can be easily driven directly from MCU. In first solution as power supply was used ML2020 battery, but it was replaced with 200 mAh battery with TP4056 charger module. Housing was made from epoxy resin.

 

Schematic:

schematic

Images of first version:

pyrometer

 

pyrometer

Images of second version:

pyrometer

 

pyrometer

Video:

Source code in attachment.

ledstar
Hi,
I would like to show simple Christmas decoration. Cotton LED star was made from 5 orange LEDs, few pieces of hotmelt and cotton thread. Each LED diode is controlled by Digispark module with ATTINY85 module. Program was written in C language.

Schematic:

schematic

Photos:

ledstar

ledstar

ledstar

Video:

 

Source code in attachment.

This blog documents some belated progress on my Star Trek themed Pi IoT design challenge entry. It is being put in the arduino area since that is where it is most useful.

I wanted to make the subsystems useful and built well enough to work reliably in their target environment, so this sensor array is built using a custom PCB.

The PCB did not arrive until well after the challenge was over, but it worked perfectly with no errors when I assembled it.

The card features an arduino pro micro which has a couple of quirks to be aware of:

  1. Sketches can defeat the USB so to get back into programming mode, you need to push the reset button twice, which reactivates the USB for 8 seconds, hopefully allowing you to get your software load started.
  2. I used the 3.3V variant of the pro micro so it could directly connect to the Bluetooth module.  This cpu runs at 8 MHz so you need to be sure the compiler is aware of the clock frequency, or all communications timing will be messed up. I installed the pro micro board type in the arduino IDE using this instructional note:

Other features of the card include an HC05 Bluetooth module, a Nokia 5110 LCD, a DHT11/22 temperature/humidity sensor a power switch, a reset switch, a solar panel connector and battery connector a recharging circuit, an I2C connector, a couple of input connectors (analog or digital).

Since I had to order a batch of 10 (for $10) I designed the card to have a little more general capability than just a remote temperature sensor.

The card has extra connectors for more sensors, but the main addition is an LCD connector, allowing it to be used as a stand-alone weather station.

Here is a video showing the system in action:

The android app was developed using App Inventor 2 from MIT.

 

Links to the Pi IoT Design Challenge site:

Pi IoT

Pi IoT - Smarter Spaces with Raspberry Pi 3: About This Challenge

 

Links to blogs about the Star Trek IoT Alcove project:

Pi IoT - Star Trek IoT Alcove - Blog 1

element14 and the photon torpedo - Pi IoT Blog 2

How many tablets to use? Pi IoT Blog 3

Starship Enocean Voyager

The Starship Enocean Voyager - Pi IoT Blog 4

LCARS (Library Computer Access Retrieval System){Star Trek} - Pi IoT Blog 5

LCARS Tablets

Henrietta LCARS

Alcove Transporter

Henrietta LCARS - Pi Iot Blog 6

arduino bluetooth weather station

I've been looking into designing my own Arduino programming and development board after seeing Ben Heck's episode. Apologies if this is in the wrong area.

 

So I made a quick Schematic in Eagle using the arduino schematic from the website, I've included support for the ATTiny85. I know this isn't the first time someone has done something like this, or with home pcb manufacture, just wanted to share some of the problems I've had with this design.

 

So here is the final result, I don't have any form during as I wasn't expecting it to work out. I haven't tested this board as there are a number of shorts, and I don't have a reset from the FTDI header.

Top

Underside

 

I Tried to keep the layout simple as my original plan was to build this on proto-board, but I only had multi core wire and trying to wire that up was a nightmare in itself. So I took the plunge and etched my own board.

I have read of three (at least most mentioned) way of etching a PCB using a laser printer 1) Photo Paper 2) Magazine Newspaper 3) Print n' Peel. So i tried all of them, one of the reasons why i think that the copper on my board appears slightly pitted, removing the toner with fine grit sandpaper. By far the worst method, Print n' Peel, with kept jamming in my printer. Photo Paper worked well, but not all of the traces transferred. Possibly my traces and fills are too close for home manufacture, I plan to have a DRC for eagle best suited for home manufacture. The method I finally used was the Magazine paper, this gave me the best results.

 

I used Ferric Chloride, the only enchant I can easily find in the UK without online ordering. This worked a lot quicker than I thought it would.

 

Thing I want to change for next time;

  • Better Design board, mainly clearances with the copper fill ground. This made it almost impossible with my equipment to solder without shorting to ground.
  • Maybe using Photoresist, I've heard a lot of good reviews of this method
  • Solder Mask - I think this is a must, I am no expert at soldering, and it will help to make my boards look more professional.
  • Drill Press - I too late found out that I don't own a dremel chuck small enough to fit my drill bits, so all of the hole on this board where done using a old school archimedean drill (not fun )
  • Two sided board.

 

I would encourage anyone who has been tempted to design their own boards, just do it. It can be stressful but worth it.

 

Ultimately I want to have a process with I well works best and have a small movable workbench to make custom PCB's and solder station. As my flat is fairly small and i don't have room for a full workbench. If manage to do this I will keep the community informed

I will develop these more when i find time. I've also got a plan for this basic idea including a Raspberry pi, but too early to announce that.

Ublox Neo-6m from E-Bay

Posted by ajens23 Nov 9, 2016

Ublox Neo-6M  from E-bay

Hi All,

 

(First time trying this so please forgive if it's in the wrong place/format/whatever)

 

Just received a couple of Ublox Neo-6M GPS boards from E-bay
and thought I would try a quick review for anyone interested.

Board: GY-GPS6MV2 with Ublox Neo-6M

Seller: Worldchips

Shipping: included

Price: 17USD(+/-)

DSCF1378r1.jpg

Apparently this board contains a voltage regulator (5 pin
chip to left of RX/TX pins) and can be powered off of a 5V supply. I am using
the 3.3V source from a Nearduino Uno (made from only the finest Chinesium).

The board appears to be well made. Soldering is good, antenna
connection is tight and assembled with a nice click/pop.

GPS TX is connected to digital pin 4 on Uno. Online
literature indicates that 3.3V will read as high. (It seems to work OK)

GPS RX is connected to a dropping resistor pair (4.7K + 10K) giving
3.4V. (It also seems to work OK)

 

Detailed directions here

http://www.ayomaonline.com/iot/gy-gps6mv2-neo6mv2-neo-6m-gps-module-with-arduino-usb-ttl/

 

VCC is attached to 3.3V supply of Uno.

GND is attached to Uno Gnd.

Serial monitor connection rate is set to 115200.

TX/RX rate between GPS and UNO is set to 9600. (note that the older GPS
chips were set to 4800bps)

 

Sketch is from TINYGPS examples on github: https://github.com/mikalhart/TinyGPS

When you first start up the GPS, it does take awhile before it starts
producing data. Be patient is can take up to 60 seconds to acquire lock.

It also does not work well indoors. I stuck mine on the window sill and
it was able to acquire a lock fairly quickly.

 

I checked my location using Google maps and it was within 6’ of true position.
I left the unit running for three hours and rechecked it. Indicated position
had drifted to about 15’-20’ from true position.

Not perfect, but for $17 I can probably live with it.

 

For those looking to delve a little deeper, here is information on the
NEMA data that the GPS can output. http://www.gpsinformation.org/dale/nmea.htm

 

DSCF1376r.jpg

 

Code from TinyGPS example

#include <SoftwareSerial.h>

#include <TinyGPS.h>

/* This sample code demonstrates the normal use of a TinyGPS object.

   It requires the use of
SoftwareSerial, and assumes that you have a

   9600-baud serial GPS device
hooked up on pins 4(rx) and 3(tx).

*/

TinyGPS gps;

SoftwareSerial ss(4, 3);

static void smartdelay(unsigned long ms);

static void print_float(float val, float invalid, int len, int prec);

static void print_int(unsigned long val, unsigned long invalid, int
len);

static void print_date(TinyGPS &gps);

static void print_str(const char *str, int len);

void setup()

{

  Serial.begin(115200);

 

  Serial.print("Testing
TinyGPS library v. "); Serial.println(TinyGPS::library_version());

  Serial.println("by Mikal
Hart");

  Serial.println();

  Serial.println("Sats HDOP
Latitude  Longitude  Fix
Date       Time     Date Alt  
Course Speed Card  Distance Course
Card  Chars Sentences Checksum");

  Serial.println("          (deg)     (deg)    
Age                      Age  (m)  
--- from GPS ----  ---- to
London  ----  RX  
RX        Fail");


Serial.println("-------------------------------------------------------------------------------------------------------------------------------------");

 

  ss.begin(9600);

}

 

void loop()

{

  float flat, flon;

  unsigned long age, date, time,
chars = 0;

  unsigned short sentences = 0,
failed = 0;

  static const double LONDON_LAT
= 51.508131, LONDON_LON = -0.128002;

 

  print_int(gps.satellites(),
TinyGPS::GPS_INVALID_SATELLITES, 5);

  print_int(gps.hdop(),
TinyGPS::GPS_INVALID_HDOP, 5);

  gps.f_get_position(&flat,
&flon, &age);

  print_float(flat,
TinyGPS::GPS_INVALID_F_ANGLE, 10, 6);

  print_float(flon,
TinyGPS::GPS_INVALID_F_ANGLE, 11, 6);

  print_int(age,
TinyGPS::GPS_INVALID_AGE, 5);

  print_date(gps);

  print_float(gps.f_altitude(),
TinyGPS::GPS_INVALID_F_ALTITUDE, 7, 2);

  print_float(gps.f_course(),
TinyGPS::GPS_INVALID_F_ANGLE, 7, 2);

  print_float(gps.f_speed_kmph(),
TinyGPS::GPS_INVALID_F_SPEED, 6, 2);

  print_str(gps.f_course() ==
TinyGPS::GPS_INVALID_F_ANGLE ? "*** " :
TinyGPS::cardinal(gps.f_course()), 6);

  print_int(flat ==
TinyGPS::GPS_INVALID_F_ANGLE ? 0xFFFFFFFF : (unsigned
long)TinyGPS::distance_between(flat, flon, LONDON_LAT, LONDON_LON) / 1000,
0xFFFFFFFF, 9);

  print_float(flat ==
TinyGPS::GPS_INVALID_F_ANGLE ? TinyGPS::GPS_INVALID_F_ANGLE :
TinyGPS::course_to(flat, flon, LONDON_LAT, LONDON_LON), TinyGPS::GPS_INVALID_F_ANGLE,
7, 2);

  print_str(flat ==
TinyGPS::GPS_INVALID_F_ANGLE ? "*** " :
TinyGPS::cardinal(TinyGPS::course_to(flat, flon, LONDON_LAT, LONDON_LON)), 6);

 

  gps.stats(&chars,
&sentences, &failed);

  print_int(chars, 0xFFFFFFFF,
6);

  print_int(sentences,
0xFFFFFFFF, 10);

  print_int(failed, 0xFFFFFFFF,
9);

  Serial.println();

 

  smartdelay(1000);

}

static void smartdelay(unsigned long ms)

{

  unsigned long start = millis();

  do

  {

    while (ss.available())

      gps.encode(ss.read());

  } while (millis() - start <
ms);

}

static void print_float(float val, float invalid, int len, int prec)

{

  if (val == invalid)

  {

    while (len-- > 1)

      Serial.print('*');

    Serial.print(' ');

  }

  else

  {

    Serial.print(val, prec);

    int vi = abs((int)val);

    int flen = prec + (val <
0.0 ? 2 : 1); // . and -

    flen += vi >= 1000 ? 4 :
vi >= 100 ? 3 : vi >= 10 ? 2 : 1;

    for (int i=flen; i<len;
++i)

      Serial.print(' ');

  }

  smartdelay(0);

}

static void print_int(unsigned long val, unsigned long invalid, int
len)

{

  char sz[32];

  if (val == invalid)

    strcpy(sz,
"*******");

  else

    sprintf(sz, "%ld",
val);

  sz[len] = 0;

  for (int i=strlen(sz);
i<len; ++i)

    sz[i] = ' ';

  if (len > 0)

    sz[len-1] = ' ';

  Serial.print(sz);

  smartdelay(0);

}

static void print_date(TinyGPS &gps)

{

  int year;

  byte month, day, hour, minute,
second, hundredths;

  unsigned long age;

  gps.crack_datetime(&year,
&month, &day, &hour, &minute, &second, &hundredths,
&age);

  if (age ==
TinyGPS::GPS_INVALID_AGE)

    Serial.print("**********
******** ");

  else

  {

    char sz[32];

    sprintf(sz,
"%02d/%02d/%02d %02d:%02d:%02d ",

        month, day, year, hour,
minute, second);

    Serial.print(sz);

  }

  print_int(age, TinyGPS::GPS_INVALID_AGE,
5);

  smartdelay(0);

}

static void print_str(const char *str, int len)

{

  int slen = strlen(str);

  for (int i=0; i<len; ++i)

    Serial.print(i<slen ?
str[i] : ' ');

  smartdelay(0);

}

Are you a student? Here is how you can win up to 1000 USD -

 

1) Show off your cool projects in which you used Simulink by creating a video which explains how you used Simulink.

2) Visit this page and use the appropriate hashtag while uploading your video to YouTube and complete the entry form on it.

 

And as always please share your projects with e14 community and earn the respect of your peers here as well. 

 

For more details and the challenge rules please visit the challenge homepage.

 

PS - reposting from the MATLAB Simulink community.

Hi!

 

Does anyone has any experience with current transformer with arduino?

I just bought a split core current transformer (SCT-0400-025) from Magnelab and I want to connect to arduino.

According to the datasheet, the input current is 25A and output voltage will be 0.333V. Should i connect any burden resistor? & how should i go about doing it?

 

Please help!

 

Thank you~

clickluna

Hello,

Posted by clickluna Oct 12, 2016

Hello, I'm new here, I'm Brazilian, I studied computer programming and love sharing knowledge about arduino projects.

 

QCoo  is the world’s first high-tech gadget that puts classical games into 3D space and merges new tech with old game, using Bluetooth connectivity to bring you a portable game solution (6oz) that lightens your day. No bigger than a 3 x 3 magic cube you pack in your pocket, QCoo provides more fun than you can imagine: Snake, Q Run inspired by Temple Run, AR (Augmented Reality) Game Q Tower inspired by TowerBloxx, and offers LED effect & LED dice.

 

QCoo is developed by a bunch of young people who love DIY, creativity, and cool things. We think it’s sharing that keeps us improving. Hence we’d love to offer a developer’s version of QCoo which comes with a USB interface that can be connected to your PC, MAC or Linux Computer. Then you can program QCoo, add a new game, improve current one, or even change it completely.

 

Get QCoo on Kickstarter Now:https://www.kickstarter.com/projects/788278700/qcoo-the-world-first-3d-snake-cube-with-ar-and-led

QCoo横幅01.png

Filter Blog

By date: By tag: