Arduino Simple Tutorial CO2 Sensor Santiapps Marcio Valenzuela

Arduino (IoT): Simple Tutorial Estación Ambiental Parte II

Tutorial Estación Ambiental: Parte II (CO2) Antes de poder darle autonomía a nuestro robot, queremos que nos recopile 1 dato mas, el del sensor de CO2.  Ya vimos como funciona el sensor CO2 y tenemos su código.  Aprovecharemos para aprender a incorporar un archivo .ino de un proyecto a otro para poder ejecutar código de otro proyecto. Requisitos: Computadora (mac) Arduino MEGA (u otra variante Arduino) o incluso Arduino clone, Edison, Raspberry…  Este tutorial en particular usa una Arduino MEGA. Wifi Shield & WiFi Library Grove Shield con Sensor CO2 y/o Dust Sensor Servidor PHP (hay servicios gratuitos de php por ejemplo: http://www.000webhost.com/) o Parse.com Arduino IDE (https://www.arduino.cc/en/Main/Software) En el tutorial Sensores Avanzados vimos… Read More

Continue Reading
iOS 8 HealthKit Santiapps Marcio Valenzuela

Saving HealthKit Data & Closures

This code bit saves: healthKitStore.saveObject(bmiSample, withCompletion: { (success, error) -> Void in if( error != nil ) { println(“Error saving BMI sample: \(error.localizedDescription)”) } else { println(“BMI sample saved successfully!”) } }) The method signature is: saveObject(object: HKObject!, withCompletion completion: ((Bool, NSError!) -> Void)!) This method takes an HKObject which is bmiSample and it takes a completion closure which itself takes a bool & error and returns void. So in our method call, we pass in the bmiSample as the HKObject and for the success and error completion block we say: if error is NOT nil then log that error’s description, else log that the bmiSample was saved successfully.  … Read More

Continue Reading
Buttons and Potentiometers Santiapps

Arduino (IoT): Tutorial de Potenciómetros y Botones

Tutorial Pots & Botones Ya sabemos escribir electricidad a un pin.  Ahora vamos a aprender a leer la electricidad de un pin.  Aprenderemos la diferencia entre un pin análogo vs digital.  Finalmente afinaremos nuestro control de la electricidad usando botones y potenciómetros. Requisitos: Computadora (mac) Arduino MEGA u otra. LED Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software) Potenciómetro Botones Componentes Pot (azul en esquina superior derecha) es un dial mecánico que permite el flujo de electricidad a través del mismo pero con variable resistencia al flujo.  Es decir, en un extremo la electricidad fluye con facilidad mientras que en el otro extremo la misma fluye con mucha resistencia. Boton (negro en equina inferior derecha) es… Read More

Continue Reading
Data Communication Technologies Santiapps

Arduino Communication Technologies (Bluetooth, GSM/GPRS & WiFi)

Arduino Comm Technologies Im using a Sim900 module I got from SainSmart.  It basically looks like this: Its important to understand something in Arduino-world! Arduino is a brand and as such, it makes branded products.  But there are a bunch of other companies that do similar things.  The same way you can get an arduino-like board from a bunch of other manufacturers, you can also get a bunch of add-on modules or shields from other manufacturers as well. In my case, I have an original Arduino UNO/MEGA board: But I decided to go with a cheaper, TinySine WiFi shield.  That TinySine WiFi shield has a WiFiBee module on top of… Read More

Continue Reading
Voice Recognition Technology Santiapps

Arduino (IoT): Simple Tutorial Reconocimiento de Voz (Geeetech)

Tutorial Reconocimiento de Voz – Geetech Otro módulo de reconocimiento de voz por Geeetech.com Requisitos: Computadora (mac) Arduino MEGA (u otra variante Arduino) o incluso Arduino clone, Edison, Raspberry…  Este tutorial en particular usa una Arduino MEGA. Geeetech Module Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software) El código esta aqui: [code] int redPin = 9; int yellowPin = 10; int whitePin = 11; int greenPin = 12; // Send 0xaa11 to store red, yellow, green, on, off // Send 0xAA21 to import to group 1 byte com = 0; //reply from voice recognition void setup() { Serial.begin(9600); pinMode(redPin, OUTPUT); pinMode(yellowPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(whitePin, OUTPUT); delay(2000); Serial.write(0xAA); Serial.write(0x37); delay(1000); Serial.write(0xAA); Serial.write(0x21); } void loop(){ while(Serial.available()){ com… Read More

Continue Reading
Sim900 Debugging Testing Module Arduino Santiapps

Web Client to post/get data to web with Arduino via SIM900 module

This is actually my work log on Arduino & SIM900 GSM/GPRS module. I’m starting off from here: https://github.com/MarcoMartines/GSM-GPRS-GPS-Shield/blob/GSMSHIELD/examples/GSM_GPRSLibrary_Client/GSM_GPRSLibrary_Client.ino But Im getting this error: status=READY ATT: ERROR RIC: ERROR DB:STARTING NEW CONNECTION ATT: SHUT OK RIC: SHUT OK DB:SHUTTED OK status=ERROR ==> Not connecting to apn for some reason. DB:NOT CONN ATT: OK RIC: ERROR DB:NOT CONN Number of data received: 0 Data received: This was quickly solved by increasing the timeout value in the inetGSM library file from 500 to 10000 ms. Now the error is: GSM Shield testing. DB:ELSE DB:CORRECT BR RIC: ATE0 ATT: +CPMS: +CPMS: 28,190,28,190,28,190 ATT: SHUT OK status=READY DB:STARTING NEW CONNECTION DB:SHUTTED OK DB:APN OK DB:CONNECTION OK… Read More

Continue Reading
Arduino Autonomous Rover Technology Santiapps

Arduino (IoT): Simple Tutorial Robot Autónomo Parte III

Tutorial Robot Autónomo: Parte III Este sketch es un poco mas fácil de entender y no utiliza un motor shield si ese es tu caso. Requisitos: Computadora (mac) Arduino UNO. Llantas (2) Motores DC (2) Sensor Ultrasonico Mini Servo Arduino IDE (https://www.arduino.cc/en/Main/Software)   Componentes La única diferencia es que no usa el motor shield o sea que los motores se conectan directamente a la UNO.  Veamos el código: #include <Servo.h> #include <NewPing.h> //CONSTANTES #define LeftMotorForward 2 #define LeftMotorBackward 3 #define RightMotorForward 5 #define RightMotorBackward 4 #define USTrigger 8 #define USEcho 9 #define MaxDistance 100 #define LED 13 Servo servo; NewPing sonar(USTrigger, USEcho, MaxDistance); //VARIABLES unsigned int duration; unsigned int distance; unsigned int FrontDistance; unsigned int LeftDistance; unsigned int RightDistance; unsigned int Time; unsigned int CollisionCounter; void setup() {   Serial.begin(9600);… Read More

Continue Reading
Arduino Engineering

Arduino

So the perfect evolution from mobile device programming is arduino/microcontroller programming. It’s basically moving from controlling software to controlling hardware.  Ever feel like coding apps is cool but you wish they could actually move things? I started off with a basic arduino kit with motors and leds. Of course I started out with the: – LED blink (on-board) – LED blink with breadboard I went a little crazy and my head overflowed with ideas for projects.  I even made Arduino Pancakes!  Very tough btw.   Pretty soon I was getting shields and sensors, motors, displays and a soldering iron. I quickly moved onto: – LCD display – DC motor –… Read More

Continue Reading
Vibration Detection Arduino Santiapps

Arduino (IoT): Simple Tutorial Detector de Vibraciones

Tutorial Detector de Vibraciones Detectar Movimiento.  PiezoVibration.ino. Requisitos: Computadora (mac) Arduino MEGA (u otra variante Arduino) o incluso Arduino clone, Edison, Raspberry…  Este tutorial en particular usa una Arduino MEGA. Piezo Vibration Sensor Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software)   El código: [code] const int ledPin = 13; // led connected to digital pin 13 const int knockSensor = A0; // the piezo is connected to analog pin 0 const int threshold = 100; // threshold value to decide when the detected sound is a knock or not // these variables will change: int sensorReading = 0; // variable to store the value read from the sensor pin int ledState = LOW; // variable used to… Read More

Continue Reading
Arduino Autonomous Rover Technology Santiapps

Arduino (IoT): Simple Tutorial Robot Autónomo Parte II

Tutorial Robot Autónomo: Parte II Ahora terminaremos con el proyecto completo! Requisitos: Computadora (mac) Arduino UNO. Llantas (2) Motores DC (2) Sensor Ultrasonico Mini Servo Arduino IDE (https://www.arduino.cc/en/Main/Software) Primero hagamos un plan de ataque, plan de negocio o plan de diseño.  La idea es la misma, planificar una ruta general de la cual nos podemos salir en cualquier momento pero que al menos nos da un norte a seguir en caso de no haber excepciones que cambien el juego. Primero tendremos que crear 4 objetos: 2 motores DC (izquierdo y derecho), 1 motor servo para girar el sensor ultrasonico y 1 sensor ultrasonico. Antes de tomar la primera medición, asignamos 0… Read More

Continue Reading
Laser Arduino Santiapps

Arduino (IoT): Simple Tutorial Laser

Tutorial Laser En este tutorial usamos un laser, que en esencia es igual a una LED en términos de como controlarlo. Requisitos: Computadora (mac) Arduino UNO Unidad Laser 5mW Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software) El código: [code] void setup() { Serial.begin(9600); pinMode(9,OUTPUT); } void loop() { delay(2000); digitalWrite(9,HIGH); delay(2000); digitalWrite(9,LOW); delay(3000); Serial.println(“Cool”); } [/code]   Los punteros laser se pueden usar en nuestros proyectos para señalar la dirección de avance de un vehículo o robot, para detectar un camino no-interrumpido y muchas otras aplicaciones mas.

Continue Reading
Sound Detection Arduino Santiapps

Arduino (IoT): Simple Tutorial Sensor de Sonido

Tutorial Sensor de Sonido Los robots no solo ven con los ojos.  Muchos “ven” con los oídos.  En este tutorial veremos como un robot puede detectar sonido con uno de estos módulos.  (sound.ino) Requisitos: Computadora (mac) Arduino UNO o equivalente. Sensor de Sonido Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software) El código: [code] int currentValue; int maxValue; int minValue; unsigned long timer; int sampleSpan = 200; // Amount in milliseconds to sample data int volume; // this roughly goes from 0 to 700 void setup(){ Serial.begin(9600); resetValues(); } void loop(){ currentValue = analogRead(A0); if (currentValue &lt; minValue) { minValue = currentValue; } if (currentValue &gt; maxValue) { maxValue = currentValue; } if (millis() –… Read More

Continue Reading
JPEG Camera IR TTL Arduino Santiapps

Arduino (IoT): Simple Tutorial Camara JPEG IR TTL

Tutorial Camara JPEG IR TTL Si vamos a tener un robot explorador, a veces vamos a querer ver lo que el ve.  Podemos perfectamente agregar un modulo para tomar fotos.  En este tutorial veremos como controlar un modulo para toma de fotos, una Camara JPEG.  TutorialJPEGIRTTLCamerav2. Requisitos: Computadora (mac) Arduino MEGA (u otra variante Arduino) o incluso Arduino clone, Edison, Raspberry…  Este tutorial en particular usa una Arduino MEGA. Modulo Camara JPEG Modulo SD para almacenar la imágen Breadboard Arduino IDE (https://www.arduino.cc/en/Main/Software)   Veamos el código: [code] //******************************************************* // www.linksprite.com // Note: // 1. SD must be formated to FAT16 // 2. As the buffer of softserial has 64 bytes, // so the… Read More

Continue Reading
Wifi Communication Arduino Santiapps

Arduino (IoT): Simple Tutorial WiFi CC3000 Arduino Shield

Tutorial WiFi CC3000 Arduino Shield En este tutorial exploramos la shield original de Arduino, WiFi, CC3000.  Esta acaba de ser reemplazada (Nov 2015) por la WiFi 101.  Veremos esa en tutoriales futuros. Ahora veamos los componentes requeridos. Requisitos: Computadora (mac) Arduino UNO Arduino WiFi Shield CC300 Arduino IDE (https://www.arduino.cc/en/Main/Software) Las shields son muy practicas y fáciles de usar.  Simplemente se conectan sobre los headers de la Arduino UNO.  Cuidado porque hay shields para distintas placas.  Es decir que una shield es especifica para la UNO y no funciona sobre la MEGA y vv. Ya conectada podemos repasar el código rápidamente para montar un servidor que muestre datos de sensores análogos (o digitales)… Read More

Continue Reading
Power Savings with Watchdog Arduino Santiapps

Arduino (IoT): Simple Tutorial Arduino Durmiente: Parte 2

Tutorial WDT: Arduino Durmiente -Parte 2 En el tutorial anterior aprendimos sobre dormir la Arduino.  Usamos eventos externos como un interrupt en un pin, (Pin2=INT0) o recepción de data Serial (la cual mandamos del Rx al Pin2(INT0) y la usamos como interrupt externo. Ahora veremos como podemos usar eventos internos al MCU para despertarlo, como timers. Requisitos: Computadora (mac) Arduino UNO Arduino IDE (https://www.arduino.cc/en/Main/Software) Repaso de los modos de dormir: SLEEP_MODE_IDLE: 15 mA (ahorra poco pero retiene muchas funciones) SLEEP_MODE_ADC: 6.5 mA SLEEP_MODE_PWR_SAVE: 1.62 mA SLEEP_MODE_EXT_STANDBY: 1.62 mA SLEEP_MODE_STANDBY : 0.84 mA SLEEP_MODE_PWR_DOWN : 0.36 mA (ahorra mucho pero OJO!) Para mayor información puede visitar (http://www.gammon.com.au/forum/?id=11497) Repaso de las formas de… Read More

Continue Reading