Public projects 0

Ricky Lee has no public projects.

Arduino TV Volume Control

Project tutorial by Sam

  • 7,022 views
  • 1 comment
  • 15 respects

WiDC: Wi-Fi-Controlled FPV Robot

Project tutorial by Igor Fonseca Albuquerque

  • 24,753 views
  • 10 comments
  • 91 respects

2€ OLED I2C Analog Pin Dynamic Plotting

Project showcase by javier muñoz sáez

  • 7,316 views
  • 0 comments
  • 14 respects

  • RC Car to BT Car Controlled with Blynk about 1 year ago

    Have you tried this with the Blynk joystick? Seems like a more natural way to drive a car.

  • Personal Weather Station (Arduino+ ESP8266 + Thingspeak) over 2 years ago

    //Hi Arijit, code below...
    //RL 27.7.16 Running with DHT22 to Thingspeak
    //RL 7.5.17 Got a new BME280 sensor.

    #include <DHT.h> //https://github.com/adafruit/DHT-sensor-library
    #include <ESP8266WiFi.h>

    // replace with your channel’s thingspeak API key and your SSID and password
    String apiKey = "yourapiKey"; //https://thingspeak.com/channels/xxxxx/api_keys
    const char* ssid = "yourssid";
    const char* password = "yourpassword";
    const char* server = "api.thingspeak.com";

    #define DHTPIN D5
    #define DHTTYPE DHT22
    DHT dht(DHTPIN, DHTTYPE);

    #include "Adafruit_Sensor.h"
    #include "Adafruit_BME280.h"
    #include "SSD1306.h"
    const float SEA_LEVEL_PRESSURE_HPA = 1013.25;
    const int DELAY = 3000;
    const int STARTUP_DELAY = 500;
    Adafruit_BME280 bme;

    WiFiClient client;

    void setup()
    {
    Serial.begin(115200);
    dht.begin();
    delay(3000);
    if(!bme.begin()) {Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1) {yield();delay(3000);}}

    WiFi.begin(ssid, password);

    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED)
    {
    delay(500);
    Serial.print(".");
    }
    Serial.println("");
    Serial.println("WiFi connected");

    }

    void loop()
    {
    Serial.print("Reading DHT");
    float dhth = dht.readHumidity();
    float dhtt = dht.readTemperature();
    if (isnan(dhth) || isnan(dhtt)) {Serial.print(".");return;}Serial.println();

    //read the BME
    float bmet = bme.readTemperature(); //temp C
    float bmeh = bme.readHumidity();
    float bmep = bme.readPressure(); // pascals
    printToSerial(bmet, bmeh, bmep);
    //end read BME

    if (client.connect(server,80)) {
    String postStr = apiKey;
    postStr +="&field1=";
    postStr += String(dhtt);
    postStr +="&field2=";
    postStr += String(dhth);
    //field3 is dewpoint - calculated in thingspeak
    postStr +="&field4=";
    postStr += String(bmet);
    postStr +="&field5=";
    postStr += String(bmeh);
    postStr +="&field6=";
    postStr += String(bmep);

    postStr += "\r\n\r\n";

    client.print("POST /update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(postStr.length());
    client.print("\n\n");
    client.print(postStr);

    Serial.print("Temperature: ");
    Serial.print(dhtt);
    Serial.print(" degrees Celsius Humidity: ");
    Serial.println(dhth);
    Serial.println("Sending data to Thingspeak");
    }
    client.stop();

    Serial.println("Waiting 5 minutes for next upload...");
    // thingspeak needs at least a 15 sec delay between updates
    // 20 seconds to be safe
    //delay(20000);
    delay(5*60*1000-3); //make that 5 mins.
    } //end loop

    void printToSerial(float tempC, float humidity, float pressurePascals)
    {
    // Temperature
    float tempF = 9.0/5.0 * tempC + 32.0;

    Serial.println("Temperature:");
    printValueAndUnits(tempC, "*C");
    printValueAndUnits(tempF, "*F");
    //printValueAndUnits(tempC, "°C");
    //printValueAndUnits(tempF, "°F");
    Serial.println("");
    
    // Barometric pressure
    float pressureHectoPascals = pressurePascals / 100.0;
    float pressureInchesOfMercury = 0.000295299830714 * pressurePascals;
    
    Serial.println("Pressure:");
    printValueAndUnits(pressurePascals, "Pa");
    printValueAndUnits(pressureHectoPascals, "hPa");
    printValueAndUnits(pressureInchesOfMercury, "inHg");
    Serial.println("");
    
    // Humidity
    Serial.println("Humidity:");
    printValueAndUnits(humidity, "%");
    Serial.println("");
    
    // Approximate altitude
    float altitudeMeters = bme.readAltitude(SEA_LEVEL_PRESSURE_HPA);
    float altitudeFeet = 3.28 * altitudeMeters;
    
    Serial.println("Approx. Altitude:");
    printValueAndUnits(altitudeMeters, "m");
    printValueAndUnits(altitudeFeet, "ft");
    Serial.println();
    

    }
    void printValueAndUnits(float value, String units)
    {
    Serial.print(" ");
    Serial.print(value);
    Serial.print(" ");
    Serial.println(units);
    }

  • Roombot: Room Cleaning Robot over 2 years ago

    Is the UNO up for this? I've started using the ESP8266 for my projects. It is cheap, and can run UNO code, with better performance, more memory, and best of all, built in WIFI!

Add projectSign up / Login