Sunday, April 26, 2015
Saturday, April 25, 2015
Thursday, April 23, 2015
Camera trick(using panorama)
Taken using the panorama option on a mobile phone so that the !moving of the bus cropped the passing vehicle and blended its disappearance quite nicely.
Monday, April 6, 2015
Sunday, April 5, 2015
VD Editor Update/GUI Overhaul for LaTex and LiveConv coding
GUI Overhaul and an additional package for editing Latex files. HTML, JS, and CSS editing is available in the online version, and I created a converter so that coding for the online version automatically creates an offline version(as above) and vice versa. One can use JQuery of Regex for such a converter. The problem with JQuery is it requires refreshing manually or with a timer.
Antarctic Oil Rig Inspection/Repair/Construction Robot
Two monitors with Full HD cameras(two video channels for each monitor), 1000gph clearing pump(for oil pipes) and tilt enabled single stick control, as well as a second controller for claw control and a cyclic laser metrology machine. The electrodes from the neurohat are used for testing the corrosion rates, of pipelines which input into a microcontroller on the surface after being amplified in the electronics bay(orange) in the rear. Each corner has independent ballast, especially necessary since the pump(1000gph) is rather hefty. Claw is parametric style.
Wednesday, April 1, 2015
Warm and Fuzzy Electroencephalography Setup Hat
Yes, those are the audio-video cables which were so popular in the 90's, and they are wired directly into the hat. I will be posting more of the details on finished product later, I need to pick up some op amps for the final wires, the signal fidelity is obviously always a problem, especially at such low power. Anyway, if you choose to just go ahead with it, then ground thyself to prevent uncomfortable metal-skin contact if you wire your intake up with a ground(microchip side).
int sensorPin = A0; float sensorValue = 0; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(sensorPin); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); if(sensorValue!=0.00){ delay(22); if((sensorValue/22)>300){ Serial.println(("10")); }else{ sensorValue = analogRead(sensorPin); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); sensorValue=(sensorValue+analogRead(sensorPin)); if(sensorValue/22>300){ Serial.println("70"); } } sensorValue=0; } }
Okay, this is the Computer(display) side:
int a=1; import processing.serial.*; Serial myPort; // The serial port int xPos = 1; // horizontal position of the graph void setup () { // set the window size: size(600, 600); // List all the available serial ports println(Serial.list()); // I know that the first port in the serial list on my mac // is always my Arduino, so I open Serial.list()[0]. // Open whatever port is the one you're using. myPort = new Serial(this, Serial.list()[0], 9600); // don't generate a serialEvent() unless you get a newline character: myPort.bufferUntil('\n'); // set inital background: background(0); } void draw () { // everything happens in the serialEvent() } void serialEvent (Serial myPort) { // get the ASCII string: String inString = myPort.readStringUntil('\n'); if (inString != null) { // trim off any whitespace: inString = trim(inString); // convert to an int and map to the screen height: float inByte = float(inString); inByte = map(inByte, 0, 1023, 0, height); // draw the line: stroke(127,34,255); line(xPos, height, xPos, height - inByte); // at the edge of the screen, go back to the beginning: if (xPos &rt;= width) { //save(a+".png"); a=a+1; xPos = 0; background(0); } else { // increment the horizontal position: xPos=xPos+2; } } }
Subscribe to:
Posts (Atom)