Jump to content

H00GiE

Member
  • Posts

    7
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Recent Profile Visitors

521 profile views

H00GiE's Achievements

  1. UPDATE : "This Isn't Even My Final Form" well... actually it might be! This is the latest iteration of the Nerdy X-Mas lights: A ESP-8266EX enabled Wemos D1 mini pro board running at a nice 80MHz. Enough SRAM and Sketch storage for all features of the project on a single board. And WIFI... Yep you read that right, WIFI !, the tree lights are now IoT enabled. (working on a decent web interface) In the picture on the right, you see the new Wemos D1 mini pro, with a prototype shield hosting the 74HCT125N and common ground, 5v and 3.3v rails. I'm actually testing the system as we speak. There's a web interface that's virtually realtime. The rotary encoder works it can select mode brightness and effect speed. The display works and updates even if the web interface is used. On the left: A inside peek of the case, hot glue in this case works amazing to keep parts in their place. !! As a finishing touch end of the week i'll breakdown costs, shipping and items + tools needed (i'll supply EU / US / CA / UK links to objects if i can.) And obviously video(s) of the finished project actually setup in the tree definitely incoming!! Here are the sketch and web interface files: (folder called WS2811_xmas_esp8266_board) WS2811_xmas_esp8266_board.ino index.html.cpp main.js.cpp Webinterface is not finished yet. (not my code)
  2. As i said before: I want to make the tree a IoT device. So I purchased a Wemos D1 mini pro, it has the right amount of pins usable, it has decent (enough)arduino support. (yes i know the 16MB spiffs isn't working nicely with arduino so only 3MB usable... but, better have and not need... besides 3MB is well enough for a arduino project) main reason i specifically like the pro version is the ceramic antenna. The board will be under a tree with all kinds of (RF) noise around it because of hundreds of chips firing off at random intervals etc. So a stronger wifi would be appreciated. The major drawback is really that this board only speaks 3.3v logic level. Normally a logic level converter would be the end of that story. The are reports tho the WS2811 led driver chips expects strict timing, the fall and rise time is too sloppy on a logic level converter. So after half a day searching ye old interwebs, i found a solution, wel rather someone else did, and i'm totally stealing his good idea. The 74AHCT125N, a tristate Quad buffer/line driver. It only has a delay of about 6ns, so miles better than a logic level converter. the Wemos D1 also has a prototype shield to accommodate this kind of circuitry. So now only have to rewrite the code for the leds (80MHz vs 16MHz so need to make some wait states etc.) And write the web interface/api.
  3. The funny thing is, that might be the easy-est part.
  4. I actually managed to combine the two Arduino Leonardo codes into one Arduino Mega 2560 Which reduced the total costs of building this whole design to a (still somewhat hefty) $125 ish (USD) The 2560 is total over over kill, I actually only need one I2C, and 4 digital pins. but i need the SRAM. (3k of variables) May look into the variables some more see if i can consolidate some more, and clean the code. The fun thing about this google and forum lurking is the amount of new ideas and methods. Quite literally I found out arduino has EEPROM storage after looking into the SRAM size differences in atmega chips. when using U8G2 you only have to un remark a setting to define your screen, and that is decided which chip your oled screen has, (99% sure it will be a 1306 or 1106 if it's like my screen.) i'm using: #include <Arduino.h> #include <U8g2lib.h> #include <Wire.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); void setup(void) { u8g2.begin(); } *insert rest of code here* to define the screen in the pictures.
  5. I have approached all arduino things as i would do with PCs: Every addon hardware needs to talk to the main processor, so it needs some way to know what and where this peripheral is. Libraries for peripherals are like "drivers", they act like it anyway. You can easily add the library for that specific oled to the sketch and wire it like instructed (most of the time it's only one of 2 standard wire options) Most of the times libraries come with examples, and there's no shame in borrowing code from examples to make your project work.
  6. So with too much time on my hands i taught myself some arduino coding and bought too many little arduino boards. And after a few weeks of tinkering I built this: Inside are two arduino leonardo, one for the menu system, oled output, storage of settings and the rotary encoder input. The other with programs for controlling 200 WS2811 Individual Addressable RGB LEDs, Started off with small 8 led adafruit bar and 2 chinese knockoff arduino boards. The code for the led controls I found, is from a polish coder. more info and original project I built the menu system, with a 2 color oled screen on i2c and a rotary encoder input. I'm happy to share both sketches, certainly because my coding is shoddy at best and there's a lot of room for improvement. WS2811_xmas_controlboard.ino WS2811_xmas_ledboard.ino I used: 2x Arduino Leonardo (any ATmega32U4 or better will do) 1x 0.96" Oled screen I2C (4 wire) 1x KY040 rotary encoder 1x RC model UBEC (other 12v to stable 5v convertor works fine) bunch of male to male dupont wires 4x string (50 RGB LED each) of WS2811 addressable lights (ordered at aliexpress) search term: "WS2811 c7 c9" 1x Universal enclosure 135 x 95 x 45 Polystyrene 1x Cliff CL178883 rotary D shaft knob (yes start laughing) 1x Cliff CL1730 knob cap And a Dell DA-2 Power Adapter 12v (also ripped the proprietary 8 pin connector off a dell optiplex pc mainboard.) 2 sticks of hot glue + hot glue gun Hakko 936 soldering station And a LOT of Patience. Next iteration will be replacing one arduino for a Wemos D1 Mini Pro - ESP8266 based arduino board. making the whole project IoT / connected!!
×