• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Светодиодное сердце на STM32. Шкатулка

  • Автор темы Автор темы Storm
  • Дата начала Дата начала

Storm

Engineer
Регистрация
5 Июл 2012
Сообщения
579
Реакции
19
Баллы
0
Светодиодное сердце на STM32. Шкатулка

Приветствую :)

Потихоньку осваиваю кортексы, вот и решил слепить в качестве пилотного проекта светодиодное сердце на STM32, вдохновившись аналогичным на AtMega соответственно, думаю все его видели...

В данном случае использован контроллер STM32L100RBT6TR, как самый дешевый на момент покупки на космодроме, но в принципе, подойдет любой другой в корпусе LQFP64. Можно взять поменьше, но тогда и светодиодов будет меньше. Или вообще как вариант, взять тот же F030 самый дешевый с около 20 ногами и рулить диодами через сдвиговый регистр, ибо математики там нету кроме шима, но тогда придется поупражняться в плотной трассировке :)

Питается оно все от литий полимерного акб в пакете (серые такие). Гнездо зарядки выведено на заднюю стенку шкатулки.

Включение платы происходит при открытии верхней крышки. Все просто, в одной боковой стенке профрезерован паз, в который поставлен переключающий геркон, после чего шпаклюется и красится. А в крышке соответственно находится нео магнит, геркон просто рвет питание от акб при закрытой крышке.

Сама плата как и тонирующий пластик крепится в пазах, которые предварительно фрезеруются по внутреннему периметру нижней части шкатулки.

По программной части - ничего сверхъестественного, CubeMX+HAL, писалось в Keil. Благодаря этому, можно за 10 минут перекинуть прошивку на МК другого семейства.

Если будет интересно, спрашивайте, буду дополнять :)


 
 

Вложения

  • IMG_20201220_205155.jpg
    IMG_20201220_205155.jpg
    190.8 KB · Просмотры: 57
  • IMG_20210114_215517.jpg
    IMG_20210114_215517.jpg
    208.1 KB · Просмотры: 68
  • IMG_20201211_201511.jpg
    IMG_20201211_201511.jpg
    209.7 KB · Просмотры: 65
  • IMG_20210120_174000.jpg
    IMG_20210120_174000.jpg
    140 KB · Просмотры: 78
  • IMG_20210212_203056.jpg
    IMG_20210212_203056.jpg
    271 KB · Просмотры: 64
  • IMG_20210212_203129.jpg
    IMG_20210212_203129.jpg
    167.9 KB · Просмотры: 52
  • 1.JPG
    1.JPG
    41.7 KB · Просмотры: 57
  • 9.JPG
    9.JPG
    36.5 KB · Просмотры: 55
Последнее редактирование:
Всё хочу научиться писать под STM, только грустно что дальше желания дело не движется у меня... :( На Atmel'ы раньше что-то писал на Си, иногда даже получалось. :(
 
Всё хочу научиться писать под STM, только грустно что дальше желания дело не движется у меня... :( На Atmel'ы раньше что-то писал на Си, иногда даже получалось. :(

Оно сходу всегда большое и страшное.
Да и если просто абстрактно хотеть, то да, далеко не уедешь на этом. Нужно поставить конкретную задачу, и потихоньку ее решать. А там уже и понимание приходит что к чему.
 
Прикольная идея) можно попробовать жене сделать) а источник питания батарейка крона подойдёт?
 
Прикольная идея) можно попробовать жене сделать) а источник питания батарейка крона подойдёт?

Да, вполне. На час работы хватит если использовать линейный стабилизатор, если использовать понижающий модуль то может и больше. Да и крона грубая сильно, лучше АКБ от сотового использовать.
 
Если кому то интересно, тело прошивки.

Код:
#include "main.h"

void LED(uint8_t a, uint8_t b)
{
	switch(a) {
		case 0:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_RESET);
		break;
			
		case 1:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);
		break;
		
			case 2:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
		break;
		
		case 3:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_11, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_11, GPIO_PIN_RESET);
		break;
		
		
		case 4:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_RESET);
		break;
		
		
		case 5:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET);
		break;
		
		
		case 6:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);
		break;
		
		
		case 7:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
		break;
		
		
		case 8:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_8, GPIO_PIN_RESET);
		break;
		
		case 9:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_RESET);
		break;
		
		case 10:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_6, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_6, GPIO_PIN_RESET);
		break;
		
		case 11:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET);
		break;
		
		case 12:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
		break;
		
		case 13:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET);
		break;
		
		case 14:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
		break;
		
		case 15:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_RESET);
		break;
		
		case 16:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET);
		break;
		
		case 17:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);
		break;
		
		case 18:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
		break;
		
		case 19:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5, GPIO_PIN_RESET);
		break;
		
		case 20:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4, GPIO_PIN_RESET);
		break;
		
		case 21:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
		break;
		
		case 22:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
		break;
		
		case 23:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
		break;
		
		case 24:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
		break;
		
		case 25:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
		break;
		
		case 26:
			if (b) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET);
		break;
		
		case 27:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_3, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_3, GPIO_PIN_RESET);
		break;
		
		case 28:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, GPIO_PIN_RESET);
		break;
		
		case 29:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET);
		break;
		
		case 30:
			if (b) HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, GPIO_PIN_RESET);
		break;
		
		case 31:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);
		break;
		
		case 32:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET);
		break;
		
		case 33:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET);
		break;
	
		case 34:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);
		break;
		
		case 35:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
		break;
		
		case 36:
			if (b) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);
		break;

		case 37:
			if (b) HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
		break;
		
		case 38:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_12, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_12, GPIO_PIN_RESET);
		break;
		
		case 39:
			if (b) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_SET);
			else HAL_GPIO_WritePin(GPIOC, GPIO_PIN_11, GPIO_PIN_RESET);
		break;
		
		case 40:
		
		break;
				
	}
}
	

void LED_INV(uint8_t a)
{
	switch(a) {
		case 0:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
		break;
			
		case 1:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_15);
		break;
		
			case 2:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_12);
		break;
		
		case 3:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_11);
		break;
		
		
		case 4:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_10);
		break;
		
		
		case 5:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_9);
		break;
		
		
		case 6:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_8);
		break;
		
		
		case 7:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
		break;
		
		
		case 8:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8);
		break;
		
		case 9:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_7);
		break;
		
		case 10:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_6);
		break;
		
		case 11:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_15);
		break;
		
		case 12:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
		break;
		
		case 13:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_13);
		break;
		
		case 14:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
		break;
		
		case 15:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_11);
		break;
		
		case 16:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_10);
		break;
		
		case 17:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);
		break;
		
		case 18:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0);
		break;
		
		case 19:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_5);
		break;
		
		case 20:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_4);
		break;
		
		case 21:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_7);
		break;
		
		case 22:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_6);
		break;
		
		case 23:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
		break;
		
		case 24:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_4);
		break;
		
		case 25:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);
		break;
		
		case 26:
		HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);
		break;
		
		case 27:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_3);
		break;
		
		case 28:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_2);
		break;
		
		case 29:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_0);
		break;
		
		case 30:
		HAL_GPIO_TogglePin(GPIOH, GPIO_PIN_1);
		break;
		
		case 31:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_9);
		break;
		
		case 32:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);
		break;
		
		case 33:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7);
		break;
	
		case 34:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_6);
		break;
		
		case 35:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
		break;
		
		case 36:
		HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
		break;

		case 37:
		HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_2);
		break;
		
		case 38:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);
		break;
		
		case 39:
		HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);
		break;
		
		case 40:
		
		break;
	}
}

void LED_ON()
{
	for(int i=0; i<40; i++)
		{
			LED(i,1);
		}
		
}

void LED_OFF()
{
	for(int i=0; i<40; i++)
		{
			LED(i,0);
		}
		
}

void FADE_IN()
{
	LED_OFF();
		
	for(int i=0; i<100; i++)
	{
	for	(int ii=0; ii<100; ii++)
		{
		  if(ii<=i) 	LED_ON();
			else 				LED_OFF();
					
		}
	}
}

void FADE_OUT()
{
	LED_OFF();
		
	for(int i=0; i<100; i++)
	{
	for	(int ii=0; ii<100; ii++)
		{
		  if(ii>i) 	LED_ON();
			else 				LED_OFF();
					
		}
	}
	HAL_Delay(200);
}




void KRUG(int a)
{
	
	for(int c=0; c<a; c++)
	{
	
	for(int i=0; i<40; i++)
					{
						LED(i,1);
						HAL_Delay(20);
					}
		
		for(int i=1; i<40; i++)
					{
						LED(i,0);
						HAL_Delay(20);
					}
}
	
}


void polovina_po_chas()
{
	LED(0,1);
	
	for(int i=1; i<=20; i++)
	{
		LED(i,1);
		LED(19+i,1);
		HAL_Delay(20);
	}
	LED(20,1);
}


void polov_po_chas_inv()
{
	
	for(int i=0; i<=19; i++)
	{
		LED_INV(i);
		LED_INV(20+i);
		HAL_Delay(20);
	}
		
}

void polov_pr_chas_inv()
{
	
	for(int i=19; i>=0; i--)
	{
		LED_INV(i);
		LED_INV(20+i);
		HAL_Delay(20);
	}
		
}

void polov_S0()
{
	LED_INV(0);
	for(int i=1; i<=19; i++)
	{
		LED_INV(i);
		LED_INV(40-i);
		HAL_Delay(20);
	}
	LED_INV(20);
		
}


void nasip_posl()
{
	
	uint32_t delay=15;
	
	LED_OFF();
	
	for(int i=20; i>=0; i--)
	{
		
		for(int ii=0; ii<=i; ii++)
		{
			LED_INV(ii);
			HAL_Delay(delay);
			if (ii==i) break;
			LED_INV(ii);
		}
		
		LED_INV(0);
		HAL_Delay(delay);
		LED_INV(0);
		
		for(int iii=39; iii>=39-i+2; iii--)
		{
			LED_INV(iii);
			HAL_Delay(delay);
			if (iii==39-i+2) break;
			LED_INV(iii);
		}
	}
}


void nasip_parr()
{
	
	uint32_t delay=20;
	
	LED_OFF();
	
	for(int i=20; i>=0; i--)
	{
		
	
		LED_INV(0);
		HAL_Delay(delay);
		LED_INV(0);
		
		for(int ii=1; ii<=i; ii++)
		{
				LED_INV(ii);
				if (ii!=20)	LED_INV(40-ii);
				HAL_Delay(delay);
				if (ii==i) break;
				LED_INV(ii);
				LED_INV(40-ii);
		}
		
		
	}
}


void tochka_kolco()
{
	
	uint32_t delay=11;
	
	LED_OFF();
			
		for(int ii=0; ii<40; ii++)
		{
			LED_INV(ii);
			HAL_Delay(delay);
			LED_INV(ii);
		}
		
		LED_INV(0);
		HAL_Delay(delay);
		LED_INV(0);
		
		for(int iii=39; iii>=0; iii--)
		{
			LED_INV(iii);
			HAL_Delay(delay);
			LED_INV(iii);
		}
}



void polovinki(int a)
{
LED_OFF();

	uint32_t delay=700;
	
	for(int ii=1; ii<=a; ii++)
	{
	
	for(int i=0; i<=20; i++)
	{
		LED(i,1);
	}
	
	HAL_Delay(delay);
	LED_OFF();
		
	
	for(int i=20; i<=39; i++)
	{
		LED(i,1);
	}
	LED(0,1);
	
	HAL_Delay(delay);
	LED_OFF();
	
}
}

int main(void)
{

  while (1)
  {
   		FADE_IN();
		FADE_OUT();
		polov_pr_chas_inv();
		polov_po_chas_inv();	
		polov_po_chas_inv();	
		FADE_OUT();	
		FADE_IN();
		polovinki(2);		
		FADE_OUT();	
		KRUG(1);
		polovina_po_chas();
		polov_S0();
		polov_S0();
		polov_S0();
		nasip_posl();
		FADE_OUT();
		polov_po_chas_inv();
		polov_po_chas_inv();
		polov_pr_chas_inv();
		polov_pr_chas_inv();
		polov_pr_chas_inv();
		FADE_OUT();
		nasip_parr();
		FADE_OUT();
		polov_pr_chas_inv();   
		FADE_OUT();
		tochka_kolco();   
  }
 }
 
*рындындын*
 

Вложения

  • vebox stm32 smd led master.JPG
    vebox stm32 smd led master.JPG
    111 KB · Просмотры: 70
  • pcb smd led.zip
    pcb smd led.zip
    132.9 KB · Просмотры: 20
Макет раскроя для лазера. Толщина материала 6-6,2 мм.

Программы для ЧПУ станка для фрезеровки пазов и карманов для магнитов с датчиком я думаю нету смысла выкладывать :)
 

Вложения

  • raskroy_VB2.2.DXF.zip
    raskroy_VB2.2.DXF.zip
    19.3 KB · Просмотры: 16
  • dxf.PNG.jpg
    dxf.PNG.jpg
    45.4 KB · Просмотры: 33
Назад
Сверху