You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							134 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
	
	
							134 lines
						
					
					
						
							3.0 KiB
						
					
					
				| fragments=20;
 | |
| module halfPad() {
 | |
|     color("Gold", a=1) {
 | |
|         difference() {
 | |
|             cube(size=[1,1,1], center=true);
 | |
|             cylinder(h=2,d=0.6,center = true, $fn=fragments);
 | |
|         };
 | |
|     };
 | |
| };
 | |
| 
 | |
| module padHoles(x, y, zRot = 0) {
 | |
|     rotate([0, 0, zRot]) {
 | |
|         translate([x, y, 0]) {
 | |
|             cylinder(h=2,d=0.6,center=true,$fn=fragments);
 | |
|             translate([1,0,0]) {
 | |
|                 cylinder(h=2,d=0.6,center=true,$fn=fragments);
 | |
|             };
 | |
|         };
 | |
|     };
 | |
| };
 | |
| 
 | |
| module pad(x, y, zRot = 0) {
 | |
|     rotate([0, 0, zRot]) {
 | |
|         translate([x, y, 0]) {
 | |
|             halfPad();
 | |
|             difference() {
 | |
|                 translate([1,0,0]) {
 | |
|                     halfPad();
 | |
|                     };
 | |
|                 translate([1.25,0,0]) {
 | |
|                     cube(size=[0.5,1.1,1.1], center=true);
 | |
|                     };
 | |
|             };
 | |
|         };
 | |
|     };
 | |
| };
 | |
| module pads() {
 | |
|     pad(0,0);
 | |
|     pad(0,2);
 | |
|     pad(0,4);
 | |
|     pad(0,6);
 | |
|     pad(0,8);
 | |
|     pad(0,10);
 | |
|     pad(0,12);
 | |
|     pad(0,14);
 | |
|     pad(14,0,180);
 | |
|     pad(14,-2,180);
 | |
|     pad(14,-4,180);
 | |
|     pad(14,-6,180);
 | |
|     pad(14,-8,180);
 | |
|     pad(14,-10,180);
 | |
|     pad(14,-12,180);
 | |
|     pad(14,-14,180);
 | |
| };
 | |
| 
 | |
| module holes() {
 | |
|     padHoles(0,0);
 | |
|     padHoles(0,2);
 | |
|     padHoles(0,4);
 | |
|     padHoles(0,6);
 | |
|     padHoles(0,8);
 | |
|     padHoles(0,10);
 | |
|     padHoles(0,12);
 | |
|     padHoles(0,14);
 | |
|     padHoles(14,0,180);
 | |
|     padHoles(14,-2,180);
 | |
|     padHoles(14,-4,180);
 | |
|     padHoles(14,-6,180);
 | |
|     padHoles(14,-8,180);
 | |
|     padHoles(14,-10,180);
 | |
|     padHoles(14,-12,180);
 | |
|     padHoles(14,-14,180);
 | |
| };
 | |
| 
 | |
| // Translate so that pin 1 and the bottom of the board
 | |
| // is the reference point (0,0,0)
 | |
| translate([14,-14,0.50]) {
 | |
|     // pcb
 | |
|     difference() {
 | |
|         union() {
 | |
|             color("Blue", a=1) {
 | |
|                 translate([-15, -1.6, -0.49]) {
 | |
|                     cube(size=[16, 22, 0.98], center = false);
 | |
|                 };
 | |
|             };
 | |
|             pads();
 | |
|         };
 | |
|         holes();
 | |
|     };
 | |
| 
 | |
|     //shield
 | |
|     translate([-15 + 1.98, 0, 0.5]) {
 | |
|         color("Silver", a=1) {
 | |
|             cube(size=[12.1, 15.2, 2.3], center = false);
 | |
|         };
 | |
|     };
 | |
| 
 | |
|     //antenna
 | |
|     translate([-9.63, 17, 0.5]) {
 | |
|         color("AntiqueWhite", a=1) {
 | |
|             cube(size=[9.63, 1.98, 1], center = false);
 | |
|         };
 | |
|     };
 | |
| 
 | |
|     //antenna connector
 | |
|     translate([-14,16,0.5]) {
 | |
|         color("White", a=1) {
 | |
|             cube(size=[2.58, 2.58, 0.4], center = false);
 | |
|         };
 | |
|         translate([2.58/2, 2.58/2, 0.5]) {
 | |
|         color("Gold", a=1) {
 | |
|             difference() {
 | |
|                 cylinder(h=1.3, d=1.98, center=true, $fn=fragments);
 | |
|                 cylinder(h=1.5, d=1.70, center=true, $fn=fragments);
 | |
|                 };
 | |
| 
 | |
|             cylinder(h=0.5, d=0.5, $fn=fragments);
 | |
|         };
 | |
|         };
 | |
|     };
 | |
| 
 | |
|     //leds
 | |
|     translate([-2.5,15.5,0.5]){
 | |
|         color("White", a=1) {
 | |
|         cube(size=[2,1,0.4], center=false);
 | |
|         };
 | |
|     };
 | |
|     translate([-8.5,15.5,0.5]){
 | |
|         color("White", a=1) {
 | |
|         cube(size=[2,1,0.4], center=false);
 | |
|         };
 | |
|     };
 | |
| };
 |