Miliar poin: 3 dolar melawan 8 juta rubel

Inilah yang terlihat seperti mata semua dalam kehidupan nyata,


Omong-omong, pemindai lebih mahal daripada mobil. Tesla S. Dengan pengiriman udara ke pintu masuk di Moskow,

pos ini akan menjelaskan yang paling mahal (mungkin) di dunia dan pemindai-3d termurah di dunia.


Saya tidak diberikan untuk membongkar (melihat) perangkat dengan harga teslamobile, jadi saya melihat instruksi. Beberapa gambar bagian dalam dari sana.
Ketika ditanya apakah pemindai 3d dapat mengambil selfie (jika Anda meletakkan cermin di depannya), mereka menjawab saya bahwa perangkat ini memiliki masalah dengan permukaan reflektif. Jadi saya mengambil tengkorak itu dari rak terdekat dan mencoba memindai.



Hal-hal indah seperti itu dibuat menggunakan pemindai.


Pemindai 3D Surphaser 25HSX


Pemindai 3D Surphaser 25HSX adalah pemindai laser tiga dimensi dengan sistem defleksi berkas bola, yang dirancang untuk membentuk model 3 dimensi objek nyata untuk penggunaan selanjutnya di berbagai bidang:

- membuat gambar bagian yang dirancang sesuai dengan prototipe;
- membuat salinan cadangan dari pameran museum dan interior;
- pengembangan game komputer dan animasi iklan;

Pemindai didasarkan pada penggunaan "Kepala Pemindaian" (pemindai perangkat keras) dan komputer kontrol tempat "perangkat lunak" pemindai dipasang, yang dengannya komputer memulai proses pemindaian, menerima aliran data pengukuran dari kepala pemindaian, dan memprosesnya setelah pemindaian data ini, menerjemahkannya ke dalam bentuk titik awan objek.



TTX
3d , , , .

3d Surphaser 25HSX :

  • – 1.5 – 60 ;
  • — 240180 ;
  • – 200 000 -1 000 000 ;
  • -17-100
  • ~ 2 ( 17 200 000 );
  • – 1 ; 20-60 .
  • 18-22 , 3,3 .


-. 200 /.

: USB-2.



Bagian dari Kepala Pemindaian untuk Pemindai 3D Bulat
dekripsi
1- ( )
1.1- ( )
1.1.1-
1.1.2- ѐ
1.1.3- .
1.1.4-
1.1.5-
1.1.6-
1.2. –
1.2.1-
1.2.1.1-
1.2.2-
1.3-
2.- «»
2.1-
2.2-
3-
4-

, ( ) . (0,05-0,2 /), — (4-40 /). 200 ( 1 ) ( ). , –
.




Modul pemindaian optik untuk pemindai 3d bola dengan sistem defleksi dengan rotasi hanya di sekitar sumbu horizontal, disiapkan untuk transportasi.


Desain Optik dari Modul Pemindaian Optik
Deskripsi barang


:

3 – 47464
4 – 690.0 IF 40 U
7 – 46377
8 – 18.105
11 – 18.106
14 – 18.101.
15 – 18.102.
16 – 47911 48692
17 – 38 02 27 032

1 –
2 –
5 –
6 –
9 –
10 –
12 –
13 –



Paket rangkaian Modul Laser BL dirancang untuk mengontrol Dioda Laser Semikonduktor HL6750MG. Dalam mode operasi, Dewan memberikan pembentukan radiasi optik kontinu dengan daya optik rata-rata konstan dan modulasi amplitudo.


Papan BP modul fotodetektor dirancang untuk menerima radiasi laser termodulasi intensitas menggunakan fotodioda longsor. Dalam mode pengoperasian, Board menyediakan pemilihan sinyal modulasi cahaya dan amplifikasi-nya.


Papan BR Modul Teknik Radio, yang merupakan bagian dari modul pemindai optik pemindai 3D, dirancang untuk menghasilkan sinyal gabungan yang memodulasi intensitas berkas cahaya, mengubah (menerjemahkan ke frekuensi rendah 1 MHz dan menguatkan) sinyal RF yang diterima dan referensi sinyal RF, mengisolasi dan memperkuat frekuensi rendah yang dipantulkan sinyal


Papan BS, yang merupakan bagian dari modul pemindai optik pemindai 3D, dirancang untuk menghasilkan sinyal tentang keberadaan balok pada output modul laser. Hanya radiasi yang tersebar yang digunakan untuk menghasilkan sinyal. Dalam mode operasi, tegangan output melebihi 0,1 V dengan daya pancaran lebih dari 3 mW.

Memindai



Beginilah cara pemindai 3D melihat ruangan dalam mode pendahuluan (Anda dapat memilih area yang diinginkan yang akan diselidiki pemindai)


Dunia melalui mata pemindai 3D. Siapa yang bisa mengenal seseorang?


Ruangan yang sama di editor 3D


Ini adalah bagaimana orang biasa melihat tengkorak


Seluruh ruangan tidak diperlukan saat ini, jadi kami hanya memilih area itu dengan tengkorak dalam mode prescan. Kemudian, selama sekitar 5-10 menit, pemindai berputar dengan matanya, mencari hobbit . Hal utama adalah tidak menghalangi jalannya, jika tidak maka akan membakar cacat. Pemindai tidak hanya menangkap tengkorak itu sendiri, tetapi juga area yang jauh di belakangnya. Ini mudah diedit di editor.


Seorang pria lewat, jatuh ke area sinar laser. Lihat strip? Jangan menghalangi cahaya yang koheren. Semuanya sesuai dengan orang itu, tetapi pada pemindaian itu tercermin sebagai "pixel rusak"

Surphaser`a


































3d- 3





  • Arduino Arduino IDE
  • Processing IDE
  • LEGO
  • ( )
  • -
  • Meshlab


image
OKI . 48 (7,5 ),
3,7V, 200-250mA

image
,



image



image
CD, , , LEGO

image
— Creative Webcam Vista. (640x480), (plastic lenses). . .

image
(~1$) , . ( ). 30

image
code
#include <Stepper.h>
Stepper oki(48,8,9); //see stepper tutorial in arduino.cc for info about that
const int ledPin = 13; // the pin that the LED is attached to
int incomingByte; // a variable to read incoming serial data into

void setup() {
// initialize serial communication:
Serial.begin(9600);
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
oki.setSpeed(60);
}

void loop() {
// see if there's incoming serial data:
if (Serial.available() > 0) {
// read the oldest byte in the serial buffer:
incomingByte = Serial.read();
// if it's a capital H (ASCII 72), turn on the LED:
if (incomingByte == 'S') {
digitalWrite(ledPin, HIGH);
oki.step(4);
}
// if it's an L (ASCII 76) turn off the LED:
if (incomingByte == 'K') {
digitalWrite(ledPin, LOW);
}
}
}


image

Processing
code:
import codeanticode.gsvideo.*;
import processing.serial.*;

//objects
PFont f;
GSCapture cam;
Serial myPort;
PrintWriter output;

//colors
color black=color(0);
color white=color(255);

//variables
int itr; //iteration
float pixBright;
float maxBright=0;
int maxBrightPos=0;
int prevMaxBrightPos;
int cntr=1;
int row;
int col;

//scanner parameters
float odl = 210; //distance between webcam and turning axle, [milimeter], not used yet
float etap = 120; //number of phases profiling per revolution
float katLaser = 25*PI/180; //angle between laser and camera [radian]
float katOperacji=2*PI/etap; //angle between 2 profiles [radian]

//coordinates
float x, y, z; //cartesian cords., [milimeter]
float ro; //first of polar coordinate, [milimeter]
float fi; //second of polar coordinate, [radian]
float b; //distance between brightest pixel and middle of photo [pixel]
float pxmmpoz = 5; //pixels per milimeter horizontally 1px=0.2mm
float pxmmpion = 5; //pixels per milimeter vertically 1px=0.2mm

//================= CONFIG ===================

void setup() {
size(800, 600);
strokeWeight(1);
smooth();
background(0);

//fonts
f=createFont(«Arial»,16,true);

//camera conf.
String[] avcams=GSCapture.list();
if (avcams.length==0){
println(«There are no cameras available for capture.»);
textFont(f,12);
fill(255,0,0);
text(«Camera not ready»,680,32);
}
else{
println(«Available cameras:»);
for (int i = 0; i < avcams.length; i++) {
println(avcams[i]);
}
textFont(f,12);
fill(0,255,0);
text(«Camera ready»,680,32);
cam=new GSCapture(this, 640, 480,avcams[0]);
cam.start();
}

//Serial (COM) conf.
println(Serial.list());
myPort=new Serial(this, Serial.list()[0], 9600);

//output file
output=createWriter(«skan.asc»); //plik wynikowy *.asc


}

//============== MAIN PROGRAM =================

void draw() {

PImage zdjecie=createImage(cam.width,cam.height,RGB);
cam.read();
delay(2000);
for (itr=0;itr<etap;itr++) {
cam.read();
zdjecie.loadPixels();
cam.loadPixels();
for (int n=0;n<zdjecie.width*zdjecie.height;n++){
zdjecie.pixels[n]=cam.pixels[n];
}
zdjecie.updatePixels();
set(20,20,cam);
String nazwaPliku=«zdjecie-»+nf(itr+1, 3)+".png";
zdjecie.save(nazwaPliku);
obroc();
delay(500);
}
obroc();
licz();
noLoop();

}

void licz(){
for (itr=0; itr<etap; itr++){

String nazwaPliku=«zdjecie-»+nf(itr+1, 3)+".png";
PImage skan=loadImage(nazwaPliku);
String nazwaPliku2=«odzw-»+nf(itr+1, 3)+".png";
PImage odwz=createImage(skan.width, skan.height, RGB);
skan.loadPixels();
odwz.loadPixels();
int currentPos;
fi=itr*katOperacji;
println(fi);

for(row=0; row<skan.height; row++){ //starting row analysis
maxBrightPos=0;
maxBright=0;
for(col=0; col<skan.width; col++){
currentPos = row * skan.width + col;
pixBright=brightness(skan.pixels[currentPos]);
if(pixBright>maxBright){
maxBright=pixBright;
maxBrightPos=currentPos;
}
odwz.pixels[currentPos]=black; //setting all pixels black
}

odwz.pixels[maxBrightPos]=white; //setting brightest pixel white

b=((maxBrightPos+1-row*skan.width)-skan.width/2)/pxmmpoz;
ro=b/sin(katLaser);
//output.println(b + ", " + prevMaxBrightPos + ", " + maxBrightPos); //I used this for debugging

x=ro * cos(fi); //changing polar coords to kartesian
y=ro * sin(fi);
z=row/pxmmpion;

if( (ro>=-30) && (ro<=60) ){ //printing coordinates
output.println(x + "," + y + "," + z);
}

}//end of row analysis

odwz.updatePixels();
odwz.save(nazwaPliku2);

}
output.flush();
output.close();
}

void obroc() { //sending command to turn
myPort.write('S');
delay(50);
myPort.write('K');
}


image


image


image


image


image
MeshLab



proyek lain
gambar

gambar
hackaday.io/project/2021-3dollar-scanner

Namun saya punya pertanyaan untuk para ahli: apa yang membuat sebagian besar biaya perangkat untuk 8 juta rubel? Ide

PS
.
Ada ide untuk membuat proyek pelatihan (untuk anak sekolah dan siswa) dengan akses ke crowdsourcing. Anda dapat menarik pemindai 3d di VDNH dan memindai "Pekerja dan Gadis Pertanian Kolektif", dan kemudian mencetak banyak gantungan kunci dan patung-patung kepada mereka yang memberikan kontribusi. Dan juga untuk merekam video pelatihan dan menaruhnya di youtube.
Siswa - pengetahuan, perusahaan - PR, komunitas 3d - gerakan yang bermanfaat.
Jika ada yang punya teman dari administrasi VDNH atau siapa pun yang memiliki platform angkat, tulis.

PPS
Penggunaan scanner 3d dalam game



Source: https://habr.com/ru/post/id382939/


All Articles