Thursday, February 4, 2016

Arduino and Raspberry Pi Educational Resources

I've been a fan of Packt Publishing technical books for a long time. I've purchased quite a few volumes for my Arduino and Raspberry Pi library, and even had the honor of being a technical editor. Now you can get a years access to their complete library of titles:
With PacktLib subscription service, you have access to every single book in Packt’s huge library of over 3,000 strong eBooks and videos, especially the latest releases that are available as soon as they’re published. All you have to do is set up a subscription here http://bit.ly/1X4QLL5 to get access to the whole service for a full year.
I value my subscription and the great breadth of research available to me on my computer and Kindle. It's hard to put a price on such a resource, and fortunately, Packt put a affordable one on this.

I'm building Chapter 4. Arduino Security Camera with Motion Detection from "Internet of Things with Arduino Blueprints"

"Security is a concern for everyone. If you want to capture and record any activity within your home or office for security purposes, thousands of security camera models are available to fulfill the task. You can, however, make your own security camera, complete with Internet feedback and motion detection, and you can also access the camera images from your mobile's browser from anywhere in the world."

How to use TTL (Through The Lens) Serial Camera directly with NTSC video screen.
How to connect TTL Serial Camera to Arduino and Ethernet Shield.
How to capture images with TTL Serial Camera.
How to create Flickr and Temboo accounts and configure with Arduino Ethernet Shield.
How to upload images to the Flickr using the Temboo cloud service.
How to capture images with built-in motion sensor and upload them to the Flickr.

Wednesday, January 27, 2016

Arduino: PLC or PAC

The traditional Programmable Logic Controller (PLC) is used in process controls and Programmed in Ladder Logic. A more recent evolutionary step is the Programmable Automation Controller (PAC), which is typically programmed in C/C++, and has analog, digital, and communications functions built in. This is the arena where the Arduino (and even a Raspberry Pi) shines. No longer do process controls have to be expensive, proprietary, and mysterious. It's much simpler to control a pump or solenoid with a Arduino, by reading sensors (digital or analog) and writing short pieces of decision code. Data can also be sent by way of ethernet or wifi to a central database. There are even DIN Rail Mounts for mounting your Arduino and Screw shield.






Anyone can build industrial process controls, for very little expense, with very short development times.

Steve Spence builds Arduino based industrial process controls in a manufacturing / factory setting for his employer.

Additional resources:
http://www.ueidaq.com/programmable-automation-controllers.html
http://www.controleng.com/single-article/plc-vs-pac/44448cf771be09bff7115c621633bd94.html

Saturday, January 2, 2016

Using a 4x4 Keypad

Part 1 - I was working on a project for someone who needed a keypad for password entry. I couldn't find my 3x4 keypad, but found a 4x4 keypad in one of my parts boxes. I modified the example sketch that comes with the excellent keypad library to work with this particular keypad. I couldn't find a set of extended headers to directly connect the keypad to the Arduino, so I used a small protoboard.


Sunday, December 27, 2015

Arduino Nintendo DS Touch Screen

Today I hope to add some clarification to a popular project, based on a Nintendo DS Touch Screen, with breakout board from Sparkfun ($10).

The concept is simple. Print out a picture of your buttons, sliders, etc., slide it under the glass, and with a series of if statements, create zones of co-ordinates that fit the printed controls.


SN754410 H-Bridge Motor Controller

One of our upcoming projects is a wireless controller for model railroading. A tiny Arduino installed in the engine with a wireless receiver and a H Bridge motor controller chip will allow us to go forward, reverse, coast, brake, and have speed control. Today we are testing the H Bridge chip, a SN754410 from Sparkfun ($2.35).


DIY I2C LCD and I/O

A few posts ago we discussed building your own I2C display to reduce the pin count from 6 to two. We have also added 5 inputs to this project, a video of the commercial version, and posted the instructable that you can vote on at http://www.instructables.com/id/DIY-I2C-LCD-Display-With-Inputs/


Wednesday, December 16, 2015

Building a IoT Server

The "Internet of Things" is one of the most exciting topics around these days. Millions of internet enabled gadgets sending data to a data storage & reporting server, and retrieving data back for local control or display.

Our last post described sending sensor data to a server. Today we will discuss more about setting up that server. We are using a hosting service (Hostgator) which gives easy control panel access to html directories, email accounts, and MySQL databases.


Sunday, December 13, 2015

Sending sensor data to a web server

Build your own IOT service! Collect sensor data and send it to a web/database server.

Today's project uses an Arduino equipped with a Ethernet shield, and a DHT-11 temperature / humidity sensor.

Arduino UNO
Arduino Ethernet Shield
DHT-11 Module

The Arduino reads the DHT-11, and submits the data to a php script on a hosted web server. That php page inserts the data into a mySQL database, and another php page creates a web page displaying the data as you can see below.


Saturday, November 21, 2015

Arduino Controlled Adjustable Constant Current Source

Did you know you could use the Arduino to control the amount of current from a constant current source? Another great project from Henry's Bench, this experimental project uses an MCP4725 Digital to Analog Converter, an LM358 Op Amp, an INA219 Current Sensor and a logic level N-Channel Mosfet to create a constant current source. You can program up to 3 amps of constant current.

Hot Tentacle Action

What happens when you combine an arduino, a servo, and a rubber tentacle. Well, it could be madness, or it could be a knife wielding tentacle bot. Either way it's a conversation starter, or ender.

More servo fun at:

http://arduinotronics.blogspot.com/2012/03/fun-with-servos.html





Thursday, November 19, 2015

Processing Now Optimized for the Pi

Thanks to the new Hardware I/O libraries, Processing is now optimized for the Raspberry Pi. This makes it much easier to use the Raspberry Pi I/O pins, and send data back and forth with a Arduino.


Sunday, November 15, 2015

WiFi Rechargeable Internet Clock

Many moons ago we built a Ethernet enabled clock that got it's time updates from a Internet NTP Server. We have updated that project for WiFi,and added a rechargeable battery that can be recharged with a USB cable.


Thursday, November 12, 2015

The Maker's Guide to the Zombie Apocalypse

Defend Your Base with Simple Circuits, Arduino, and Raspberry Pi

Where will you be when the zombie apocalypse hits? Trapping yourself in the basement? Roasting the family pet? Beheading reanimated neighbors?

No way. You'll be building fortresses, setting traps, and hoarding supplies, because you, savvy survivor, have snatched up your copy of The Maker's Guide to the Zombie Apocalypse before it's too late. This indispensable guide to survival after Z-day, written by hardware hacker and zombie anthropologist Simon Monk, will teach you how to generate your own electricity, salvage parts, craft essential electronics, and out-survive the undead.

Read and approved by the Guru's at Arduinotronics! For kids and adults alike.

http://amzn.to/1kQjpBX

Friday, November 6, 2015

Plotting Light Levels With Arduino 1.6.6

Long ago in a galaxy far away, we built a simple CdS Light Sensor (Sometimes called a LDR). Now with the real time plotting capability of Arduino 1.6.6, it's even more fun! The original project requires no changes, just pick Serial Plotter from the Tools menu.

CdS Photoresistor - http://amzn.to/1XUu39r
10k Resistor - http://amzn.to/20zKoTc


Code - http://arduinotronics.blogspot.com/2012/03/light-sensing-with-cds-ldr.html

Plotting Temperature - http://arduinotronics.blogspot.com/2015/11/plotting-temperature-with-arduino-166.html

Thursday, November 5, 2015

Plotting Temperature with Arduino 1.6.6

One of the new features of Arduino1.6.6 is the ability to plot data. In this example, I have taken a DHT-11 temperature sensor, and I'm sending the data to the serial plotter (found on the Tools menu). You can only have one axis of data, so I have a single serial.println in the code.

I'm using a DHT-11 module that comes on a breakout board with the resistor all ready added. You will need the DHT library found at https://github.com/adafruit/DHT-sensor-library. I plugged the module directly into the Arduino, so the data pin is connected to Arduino pin 6, - is connected to Arduino Pin 7, and +5 is connected to pin 5. You will see in the code where I'm sending digitalWrite commands to pins 5 and 7 sending a high and a low respectively, powering the module. Because I'm taking a reading every 2 seconds (it's a slow sensor) the serial plotting crawls very slowly across the screen.





#include "DHT.h"

#define DHTPIN 6     // what digital pin we're connected to

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  pinMode(7, OUTPUT);  
  pinMode(5, OUTPUT);  
  digitalWrite(7, LOW);
  digitalWrite(5, HIGH);
  //Serial.println("DHTxx test!");

  dht.begin();
}

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)

  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    //Serial.println("Failed to read from DHT sensor!");
    return;
  }


  Serial.println(f);
 
}