Jump to content

TheOcularMan

Member
  • Posts

    24
  • Joined

  • Last visited

Everything posted by TheOcularMan

  1. And reasons to use c++, mostly the bits about the bottom-up approach.
  2. TheOcularMan

    Edit: #WhenSmartPeopleDoStupidThings This Cowbo…

    Worked! Nice!
  3. TheOcularMan

    Edit: #WhenSmartPeopleDoStupidThings This Cowbo…

    lol can I really talk to myself?
  4. Edit: #WhenSmartPeopleDoStupidThings

    This Cowboy went off half cocked, whoops. Didn't realize my shenanigans was being monitored by, that one show with "Ted Danson".

     

    Profile retired 11/7/2019

    remains burned: 11/13/2019 (for the best)

    1. TheOcularMan

      TheOcularMan

      lol can I really talk to myself?

    2. TheOcularMan
  5. I just got a "Redragon K551" for work, its pretty nice for 30 bucks Link. They have an RGB model. The keyboard is low end, but it doesn't suck.
  6. Well originally I was going to tell you to connect it to an 'Arduino' type board. However upon further investigation, I think the motion is controlled by 'wire', like a Muppet. So... I'm at a loss for a simple solution. To confirm, dose it take batteries?
  7. "ultra portable desktop with integrated keyboard"
  8. The closed cup flashpoint of isopropyl alcohol is 12*C, a hair dryer can get up to 50*C... are you sure you saw a spark?
  9. WinFLP, lol "off a legitimate install disk".
  10. I would stay below 1Mhz. Your right, there isn't, I have found that anything over 100Hz is good (browse my status updates, I posted something about it). Some led driver chips clock in at 10kHz. If you want my honest opinion, I would just use the built in pwm 'function' that arduino offers. analogWrite(pin, duty_cycle); //500Hz, duty 0-255 = 0%-100% It makes things simple and portable, 8bit resolution. Driving it faster than 500Hz doesn't really 'do' anything (somebody can chime in if I'm wrong). From what I was able to find, it looks like each timer(0-2) can be set with its own prescale value, and each timer has two 'channels' that can be assigned a specific 'duty' value. I think one of the timers is used by the uart though. Resources
  11. Is 4kHz realistic, yes.... if the rise time of your BJT is within spec, fall time too... stay under 4Mhz for a 2N2222. I believe the default PWM frequency for Arduino is 500Hz, which is fine, you should be more worried about the duty cycle than the frequency (unless you need a high frequency for some reason). Which arduino? Each chip is different, and are you using the arduino ide?
  12. Are they any good is the question, Your probably fine with that strip controller given 2 things. Thing 1, you don't add to many LEDs, ie. strip length. Thing 2, your power supply should be beefy enough to drive the Nth number of leds connected. The strip of leds, is literally just a strip of leds and resistors... If everything is 'bundled' it probably works together, be aware the ad has 2 different types of strip controllers, make sure you get the right one for your length (current rating). Ebay sells exactly the same thing BTW, its worth a look if you want to save a few bucks. Most if not all led controllers operate pretty much the same way for that type of strip lighting. So finding a 'better one' is really going to be dependent on the mosfets used (current rating and switch speed). also, those are not, individually addressable, so your going to be limited to changing the whole strip, so like no chase effect, no half and half or anything like that. As far your the bulbs, I haven't the slightest idea about the quality. Explanation if your still curious as to what the hell I'm talking about
  13. yeah it is.... I don't know how I missed that. Your welcome, glad it helped.
  14. 50khz PWM concept check, still on the fence. Values are not final (WIP). Open to suggestions.

    Spoiler

    schem.png.d16d00d179f1a464385f4195c4c9eeee.png

     

    50% duty cycle simulation.

     

    duty-50-big.png.c14269f6bf0bbf1675affc48296f5542.pngduty-50.png.6d8c9f74809f36294a4856ad590b0d6c.png

     

  15. I know nothing about magnetic core memory. In fact, you will be really hard pressed to find anybody who dose. Here's the good news, I found some information you may be interested in. core memory shield for arduino shield documentation creators website his contact information another core mem project (with resources) Edit: more info contact info more contact information What I would do, is just buy the kit. If you enjoy pain and suffering, shoot those folks an email and make friends. The hardest part of this endeavor is going to be tracking down useful information about the topic. Most of the brilliant people who first pioneered this concept are dead. Best of luck on your project, I have to admit, it is very cool. EMP proof memory since the 50's! wake up people! wikipedia link
  16. lol, https://www.deezer.com/us/track/113826738?autoplay=true
  17. Running tests on a 'TC4426EPA' paired with a 'PHP23NQ11T'.

    PWM Results

    Spoiler

    Frequency sweep from 1hz - 100khz, output was stable, after 10khz you could start to see some delay in rise time but, everything still functioned.

    There was a 50ma load on the mosfet during this test. Not sure if a larger load will affect things (test latter).

     

    Pwm Current Table For a 5cm Segment of RGB Led's (edit) VCC:12vdc, PWM signal: 5vdc

     

    image.png.e6d5467627261fd5994696db0b3a7c53.png

     

    so.... around 100hz+ the current is effectively halved?, yay! science!

     

    photos

    Spoiler

    Test setup

    Spoiler

    signal-attachment-2019-09-12-074237_003.thumb.jpeg.c286627c8616ca8d532eee66ca06fe33.jpeg

    At 10khz, 500ma load

    Spoiler

    signal-attachment-2019-09-12-074237_001.thumb.jpeg.959b9e36a1802bc14c93212c065f3335.jpeg

    At 100khz, 50ma load

    Spoiler

    signal-attachment-2019-09-12-074237_002.thumb.jpeg.0ac8a1087d07bbf344e722af001ff73d.jpeg

     

     

     

  18. Oh, thought you were looking or intercepts, not intersects. Try this? /* The Ocular Man */ //Math bits jacked from: http://www.ambrsoft.com/MathCalc/Line/TwoLinesIntersection/TwoLinesIntersection.htm #include <iostream> #include <math.h> #include <stdlib.h> double findM(double x1, double y1, double x2, double y2); double findB(double y, double x, double m); double findXintercept(double m, double b); double findYintercept(double m, double b); double findXintersection(double a, double b, double m1, double m2); double findYintersection(double a, double b, double m1, double m2); double findTheta(double m1, double m2); void printLineEqu(double m, double b); int main() { std::cout << "Goodbye world!" << std::endl; const double PI = atan(1) * 4; //calculates pi, 3.14159 std::cout << "PI: " << PI << std::endl; //data set 1 int x1 = 3; int y1 = -12; int x2 = 16; int y2 = -10; //data set 2 int x3 = 8; int y3 = -15; int x4 = 12; int y4 = -1; /* y = M1x + a y = M2x + b */ double m1 = findM(x1, y1, x2, y2); double m2 = findM(x3, y3, x4, y4); double a = findB(y1, x1, m1); double b = findB(y3, x3, m2); /* view work so far */ std::cout << "EQUATION 1: "; printLineEqu(m1, a); std::cout << "EQUATION 2: "; printLineEqu(m2, b); /* done */ //parallel line check if((m2 - m1) == 0) { std::cout << "both lines are parallel." << std::endl; return 0; //exit if out of range } //calculate theta double theta = findTheta(m1, m2); if((theta < 0) || (theta > (PI/2))) { std::cout << "theta: " << theta << std::endl; std::cout << "angle out of range." << std::endl; return 0; //exit if out of range } //find intersections, if all is well double Xintersection = findXintersection(a, b, m1, m2); std::cout << "X intersection: " << Xintersection << std::endl; double Yintersection = findYintersection(a, b, m1, m2); std::cout << "Y intersection: " << Yintersection << std::endl; /* //not used double m = findM(x1, y1, x2, y2); std::cout << "m: " << m << std::endl; double b = findB(y1, x1, m); std::cout << "b: " << b << std::endl; //x-intercept, cross x axis (n,0) //y-intercept, cross y axis (0,n) double Xi = findXintercept(m, b); std::cout << "X intercept: " << Xi << std::endl; double Yi = findYintercept(m, b); std::cout << "Y intercept: " << Yi << std::endl; */ return 0; } //used for plotting on ti-89 as check, plug and chug void printLineEqu(double m, double b) { if(b < 0) { std::cout << "Y = " << m << "*x" << b << std::endl; } else { std::cout << "Y = " << m << "*x+" << b << std::endl; } return; } //find theta double findTheta(double m1, double m2) { double _theta = (m1 - m2) / (1 + (m1 * m2)); _theta = abs(_theta); //absolute value _theta = atan(_theta); //inverse tan return _theta; } //find the y intersection double findYintersection(double a, double b, double m1, double m2) { return ((a * m2) - (b * m1)) / (m2 - m1); } //Fine the x intersection double findXintersection(double a, double b, double m1, double m2) { return (a - b) / (m2 - m1); } //find slope double findM(double x1, double y1, double x2, double y2) { return (y2 - y1) / (x2 - x1); } //find b double findB(double y, double x, double m) { return y / (m * x); } //find X intercept double findXintercept(double m, double b) { return (0 - b) / m; } //find Y intercept double findYintercept(double m, double b) { return (m * 0) + b; } Output
  19. I'm a bit advocate for 'doing it yourself', but there is a bit of a learning curve. Paying someone might the a better option, find a starving hardware hacker at a local university and offer him a 50.00 lol. Best of luck.
  20. Something like this might make a good starting point, a range test would definitely be in order (I assume you will be in the woods). hardware link setup guide Ive never personally purchased anything from this company, but they have nice documentation for their hardware, and good prices.
  21. #include <iostream> #include <stdlib.h> #include <string.h> using namespace std; int main() { cout << "Goodbye world!" << endl; const int _size = 10; double _array[_size]; char _string[] = "1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 666.666"; char *_sz; for(int i = 0; i < _size; i++) { _array[i] = strtod(_string, &_sz); strcpy(_string, _sz); cout << i << ": " << _array[i] << endl; } return 0; }
  22. http://www.cplusplus.com/reference/cstdlib/strtod/
×