3D mouse by ETgalim

הפרוייקט נולד מהרצון וקצת הצורך, לעבוד עם תלת מימד באופן יותר אינטואיטיבי

הפרוייקט משתמש בחיישן 3 צירים, חיישן אופטי, ARDUINO וקוד ב PROCESSING.

inside the mouse

בתוך העכבר, 2 חיישנים, חיישן 3 צירים, אקסלומטר (X Y) עם מצפן (Z) (מסומן באדום) וחיישן אופטי (מסומן בצהוב) לגילוי ההרמה של העכבר (כדי לעבור ממצב 2D ל- 3D)

on the back

בחלקו האחורי של העכבר – החיישן האופטי שמזהה את השולחן ואת ההרמה מהשולחן (בצהוב)

ועכשיו הסרטון!!

אז מה בעצם קורה שם?

החיישן התלת צירי שולח מידע לARDUINO על כל אחת מזויות הצירים (XYZ), המידע מתקבל כ 180 (מעלות) עד 180- (כפול 10), במילים אחרות 1800 עד 1800-.  בשלב הזה יש נוסחה שהופכת את הערכים ל 0-255, המידע נשלח לCOM, ביחס לכל ציר בנפרד.

getHeading();
Serial.write (’x');
x = (x+1800) / 14;
Serial.write(x);
Serial.write(’y');
y = (y+1800) / 14;
Serial.write(y);
Serial.write(’z');
z= (z+1800) / 14;
Serial.write(z);

הקוביה ב PROCESSING היא דיי בסיסית, גם האפורה וגם הצבעונית, על הקוד הזה הוספתי, קריאת נתונים מה COM, בגלל שהנתונים מגיעים מה ARDUINO במסה, היה צורך להבדיל בין הצירים, שחר עזר וכתב קצת קוד שמזהה את המידע מה COM לפי צירים (לדוגמא X130 Y23  Z45) מפיל את האות המובילה (XYZ) ומשאיר רק את הערכים (130 23 45). הערכים מוצבים ב INT לכל ציר ונקראים בקוד במקום המתאים כדי לבצע את תנועת הקוביה.

while(port.available() == 0){
}

char reading = 0;

while (reading != ‘x’) {
while(port.available() == 0){
}
reading = (char)port.read();
}
X = port.read();
while (reading != ‘y’) {
while(port.available() == 0){
}
reading = (char)port.read();
}
Y = port.read();
while (reading != ‘z’) {
while(port.available() == 0){
}
reading = (char)port.read();
}
Z = port.read();

משהו שהוסף ברגע האחרון זה הקוד שמפיל את כל הערכים שמגיעים שליליים

if ((X != -1) && (Y != -1) && (Z != -1))
{
rotateZ(-(float)Y/25.0);
rotateX((float)X/25.0);
rotateY((float)Z/25.0);
pX = X;
pY = Y;
pZ = Z;
} else {
rotateZ(-(float)pY/25.0);
rotateX((float)pX/25.0);
rotateY((float)pZ/25.0);
}

זה הקוד מקור של ה ARDUINO וה PROCESSING

Arduino code (in ZIP format)

Processing 3D RGB code (in ZIP format)

Processing 3D CUBE code (in ZIP format)

זהו…

היה כייף :)

תגובה אחת ל3D mouse by ETgalim

  • H

    ET
    טוב, אז ככה, את הטקסטים אני לא קוראת (כי אני לא מבינה כלום)
    וטכנופובית שכמותי בכלל לא תתקרב לזה… אבל….
    מותק זה נראה מדהים… אח אח הראש היהודי
    מי יתן וכולם יבינו את חשיבות המימד השלישי
    HS

השאר תגובה

 

 

 

אפשר להשתמש בקודים הבאים

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>