Hacking, Engineering, and Tech at Liquidware
#include
#define RXPIN 3#define TXPIN 2
AFSoftSerial mySerial = AFSoftSerial(RXPIN, TXPIN);
unsigned char x=0;
void setup(){mySerial.begin(9600);/* Sync up by waiting for character */while(mySerial.read() != 'U');}
void loop(){/* The first analog pin sent */x=0;/* send 6 Analog Pin values */while (x <>{serial_sendAnalog(x);x++;}
delay(10);
x=0;while(x<>{serial_sendDigital(x);x++;}
delay(100);
}
void serial_sendDigital(unsigned char digitalPin){if ( (digitalPin <> 13) )return;mySerial.print((unsigned char)digitalRead(digitalPin));delay(2);}
void serial_sendAnalog(unsigned char analogPin){unsigned char lowByte, highByte;unsigned int val;/* Pin number range check */if (analogPin > 6)return;/* Get the value */val = analogRead(analogPin);/* Separate the value into 2 bytes */lowByte = (unsigned char)val;highByte = (unsigned char)(val >> 8);/* Send the high byte */mySerial.print(highByte);/* Write delay */delay(1);/* Send the low byte */mySerial.print(lowByte);/* Write delay */delay(1);}
COLOR green = { 0, 255, 0 };COLOR blue = {0,0,255};COLOR yellow = {255,255,0};COLOR black = {0,0,0};COLOR white = {255,255,255};COLOR grey = {0x77,0x77,0x77};COLOR red = {255,0,0};
POINT my_point;
unsigned int analogValues[6];unsigned char digitalValues[10];
LCD_RECT digitalRect = { 118, 15, 127, 115 };LCD_RECT analogRect = {0, 60, 32, 121 };
unsigned char x;
void setup(){
Serial.begin(9600);delay(3000);
/* The sync character */Serial.print('U');}
unsigned int oldx, oldy, newx, newy;int erasemode = 2;int pencolor = 1;
void loop(){//digitalValues[0] - digital pin 4, button A MODEA//digitalValues[1] - digital pin 5, button B MODEA//digitalValues[4] - digital pin 8, button A MODEB//digitalValues[5] - digital pin 9, button B MODEB//analogValues[5] - joystick y, MODEA//analogValues[4] - joystick x, MODEA//analogValues[3] - joystick y, MODEB//analogValues[2] - joystick x, MODEB//Read analog values
analogValues[0] = (Serial.read() <
<>analogValues[1] = (Serial.read() <
<>analogValues[2] = (Serial.read() <
<>analogValues[3] = (Serial.read() <
<>analogValues[4] = (Serial.read() <
<>analogValues[5] = (Serial.read() <
<>
//Read digital values:
//Read digital valuesdigitalValues[0] = Serial.read();digitalValues[1] = Serial.read();digitalValues[2] = Serial.read();digitalValues[3] = Serial.read();digitalValues[4] = Serial.read();digitalValues[5] = Serial.read();digitalValues[6] = Serial.read();digitalValues[7] = Serial.read();digitalValues[8] = Serial.read();digitalValues[9] = Serial.read();if (touch_get_cursor(&my_point)) {lcd_clearScreen( black);}newx=3+(1023-analogValues[5])*.12;newy=3+(1023-analogValues[4])*.12;if (erasemode && ((oldx != newx) (oldy != newy))) {lcd_circle(oldx,oldy,5, black, black);}if (pencolor == 1) {lcd_circle(newx,newy,5, blue, blue);} else if (pencolor == 2) {lcd_circle(newx,newy,5, green, green);} else if (pencolor == 3) {lcd_circle(newx,newy,5, red, red);} else {lcd_circle(newx,newy,5, white, white);}if (!digitalValues[0]) {erasemode = !erasemode;}if (!digitalValues[1]) {pencolor++;if (pencolor == 5) {pencolor = 1;}}oldx=newx;oldy=newy;}
Looks pretty cool. :)I've wanted to do something similar for a long time, especially when I found that the PSP-style screens (with touch screen overlays) are available.For anyone slightly more interested in writing games and slightly less interested in designing hardware, I'd recommend the XGameStation plaform - you can still solder stuff (and learn as you go) but the system is already designed for you. (They're also available from Make.)
Wow, that is just totally and unbelievably cool! Wow.Jiffwww.anonymity.cz.tc
you should maybe try a diffuser if you're not happy with the lighting. a diffuser would give you a softer light that isn't as harsh
great tutorial.Dugg!
Wow, what a great website you have here. It is nice to see actual fresh content for a change. From one webmaster to another, I congratulate you for the effort you must have put in. I will definitely recommend your website to my readers which is highly related to your theme. Keep up the great work on your website!Check mine if you likehttp://www.trifter.com/Practical-Travel/Heaven-on-the-Earth-Five-Fantastic-Beaches.272423
wow cool.www.ReadySingleGo.com
I've been trying to get people to switch to FREE and open software for a while and it's articles like this that just might persuade some of them. Thanks !
hi jazzy jeph! thanks a lot :) actually, i definitely could not have done it without lots of help too...
Great Idea. Just wondering, about how much did this cost?
Post a Comment
10 comments:
Looks pretty cool. :)
I've wanted to do something similar for a long time, especially when I found that the PSP-style screens (with touch screen overlays) are available.
For anyone slightly more interested in writing games and slightly less interested in designing hardware, I'd recommend the XGameStation plaform - you can still solder stuff (and learn as you go) but the system is already designed for you. (They're also available from Make.)
Wow, that is just totally and unbelievably cool! Wow.
Jiff
www.anonymity.cz.tc
you should maybe try a diffuser if you're not happy with the lighting. a diffuser would give you a softer light that isn't as harsh
great tutorial.
Dugg!
Wow, what a great website you have here. It is nice to see actual fresh content for a change. From one webmaster to another, I congratulate you for the effort you must have put in. I will definitely recommend your website to my readers which is highly related to your theme. Keep up the great work on your website!
Check mine if you like
http://www.trifter.com/Practical-Travel/Heaven-on-the-Earth-Five-Fantastic-Beaches.272423
wow cool.
www.ReadySingleGo.com
I've been trying to get people to switch to FREE and open software for a while and it's articles like this that just might persuade some of them. Thanks !
hi jazzy jeph! thanks a lot :) actually, i definitely could not have done it without lots of help too...
Great Idea. Just wondering, about how much did this cost?
Post a Comment