Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Наши самоделки


Ответ
 
Опции темы Опции просмотра
Старый 10.03.2021, 17:17   #1 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию Светодиодное сердце на STM32. Шкатулка

Приветствую

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

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

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

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

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

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

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


 
Миниатюры
img_20201220_205155.jpg   img_20210114_215517.jpg   img_20201211_201511.jpg   img_20210120_174000.jpg   img_20210212_203056.jpg  

img_20210212_203129.jpg   1.jpg   9.jpg  

Последний раз редактировалось Storm; 10.03.2021 в 17:25
Storm вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
gluxon (10.03.2021), Gopnik987 (10.03.2021), ИЛЬЯ.С (10.03.2021), кочевник (19.03.2021)

Старый 10.03.2021, 17:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Информация которая содержится в схожих по содержанию темах будет вам полезна

Электронное светодиодное сердце на микроконтроллере
Шкатулка

Старый 10.03.2021, 17:39   #2 (permalink)
gluxon
Member
 
Регистрация: 27.11.2017
Сообщений: 3,424
Сказал(а) спасибо: 35
Поблагодарили 31 раз(а) в 6 сообщениях
Репутация: 31069
По умолчанию

Всё хочу научиться писать под STM, только грустно что дальше желания дело не движется у меня... На Atmel'ы раньше что-то писал на Си, иногда даже получалось.
gluxon вне форума   Ответить с цитированием
Старый 10.03.2021, 17:47   #3 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию

Цитата:
Сообщение от gluxon Посмотреть сообщение
Всё хочу научиться писать под STM, только грустно что дальше желания дело не движется у меня... На Atmel'ы раньше что-то писал на Си, иногда даже получалось.
Оно сходу всегда большое и страшное.
Да и если просто абстрактно хотеть, то да, далеко не уедешь на этом. Нужно поставить конкретную задачу, и потихоньку ее решать. А там уже и понимание приходит что к чему.
Storm вне форума   Ответить с цитированием
Старый 19.03.2021, 16:58   #4 (permalink)
alex98WWE
Member
 
Регистрация: 10.01.2021
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: -229
По умолчанию

Прикольная идея) можно попробовать жене сделать) а источник питания батарейка крона подойдёт?
alex98WWE вне форума   Ответить с цитированием
Старый 19.03.2021, 20:23   #5 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию

Цитата:
Сообщение от alex98WWE Посмотреть сообщение
Прикольная идея) можно попробовать жене сделать) а источник питания батарейка крона подойдёт?
Да, вполне. На час работы хватит если использовать линейный стабилизатор, если использовать понижающий модуль то может и больше. Да и крона грубая сильно, лучше АКБ от сотового использовать.
Storm вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 19.03.2021, 20:45   #6 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию

Если кому то интересно, тело прошивки.

Код:
#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();   
  }
 }
Storm вне форума   Ответить с цитированием
Старый 19.03.2021, 20:56   #7 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию

*рындындын*
Миниатюры
vebox-stm32-smd-led-master.jpg  
Вложения
Тип файла: zip pcb smd led.zip (132.9 Кб, 20 просмотров)
Storm вне форума   Ответить с цитированием
Старый 19.03.2021, 21:09   #8 (permalink)
Storm
Engineer
 
Аватар для Storm
 
Регистрация: 05.07.2012
Адрес: Винница
Сообщений: 579
Сказал(а) спасибо: 5
Поблагодарили 6 раз(а) в 3 сообщениях
Репутация: 3008
По умолчанию

Макет раскроя для лазера. Толщина материала 6-6,2 мм.

Программы для ЧПУ станка для фрезеровки пазов и карманов для магнитов с датчиком я думаю нету смысла выкладывать
Миниатюры
dxf.png  
Вложения
Тип файла: zip raskroy_VB2.2.DXF.zip (19.3 Кб, 16 просмотров)
Storm вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
arm, cortex, stm32, подарок, шкатулка


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 23:30.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.