@serg812 Это вы не поняли. В обоих случаях я привёл скриншоты.
Но первый скриншот - это изображение УГО по непонятным америкосовским стандартам.
Второй - это изображение УГО по ГОСТ страны в которой я живу.
И для меня второе отображение УГО ближе, понятно и приятно, чем их головой об асфальт ударенный стандарт.
Вот об этом я речь веду.
А с библиотеками у меня проблем нет. Я могу создать сам, любой элемент.
И пользуюсь я Altium Designer. Так как люблю профессиональные продукты для разработки.
@eduard - Да не ужели?! ))))))))))))))))))))))))))))))))))))))
- А я должен был понять ?!
- Про стандарты, любовь к ним, к графическим редакторам схем, и другим личным предпочтениям?!
Но, тем не менее, за вопрос я признателен, т.к. импортировал в проект библиотеку. - А было лень вечером заниматься.
- Кстати,читателям и писателям:
А мне интересно - стало интересно - попробовать работать с частотой 867,84 Мгц., стандарт IEEE 802.15.4, для передачи данных и масштабированных сетей. При антенне 10 дб и режиме LBT, мощностью передатчика 100 мвт, можно добиться дальности приема - первые десятки километров. При избирательности каналов в 10кГц можно разместить сеть и в ней до несколько тысяч устройств. По стандартам MiWi, ZegBee b другим. Можно - по FPV - аналоговой камере - передавать скриншоты (знакомое слово, Эдуард?!))) - snap-shots - правильнее)). И обрабатывать их уже на DT (CV).
-О нем очень мало говорят, но он любимчик и виновник торжества. - Кто это? СС1120, с рекордной избирательностью каналов. Но, увы Техас Инструмент заблокировал доступ к своим ресурсам гражданам РФ, и запрограммировать этот чип можно, но - не так радостно - уже.
- Да не проблема. В любом случае, важно считать контрольную сумму пакета данных, что при ИК связи, что при радиосвязи.
- На всякий случай, у модераторов есть мой сайт, если кому-то захочется поделиться своими предпочтениями, грустными или веселыми историями - обращайтесь.
- Хорошего настроения, друзья!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
В нашей жизни очень много правил.
Эти правила пишутся для того, что бы не возник хаос.
Раньше люди читали журнал Радио. В нём все схемы изображались по ГОСТ. И радиолюбители следовали этим правилам.
Сейчас на рынок ворвались полуграмотные студенты из Италии. Которым пофиг на правила.
Наложение этого пофигизма на наши и импортные правила создало хаос в головах людей.
Раз занялся радиолюбительством, будь добр следовать правилам, которые существуют в твоей стране. Не стоит плодить хаос ещё больше.
Эдуард, привет! Доброго времени суток!
Компания SnapEda - не итальянская b находится в стране разработчика Cortex-M ARM - Это разработки США. Если у Вас какие -то конкретные претензии по несоблюдению правил в изображении схемы чипа, с которым я работаю, вышлите пожалуйста ссылку на Cad- ресурсы. Раньше был ресурс на Mouser, STm. И, кстати, схему чипа с ночжками = я не публиковал. Я опубликовал ВЭБ ссылку - на сообщество разработчиков. Сравните их Lib CAd STM32F051R8 для Altium.
Про правила - это замечательно. И никто их не отрицает - пока-что - здесь?! - Этот дискусс отвлекает немного, но все равно он полезен. Нам обоим. И вот в чем.
Например мы разработали сейчас гаджет, щелевой энкодер на три канал, с оптическим каналом связи управления 3-Д столом.
И Вас, Эдуард, cпросят, как одного из вдохновителей этой разработки, перед решением запуска в серию сообщить людям - будущим приобретателям этого (конструктора) - на что им следует обратить внимание в первую очередь?!
-Вот чтобы Вы сказали людям?! - И скажите - (несовершенное время - континиус), пожалуйста.....
- А вот чтобы я сказал, что это одна из самых интересных и перспективных разработок Талант и мастерство создателей Cortex-M в силу нелепых случайностей рынка заставило пылиться на полке целое направление технической отрасли связи IRDA. Здесь мы создаем простейший - энкодерный датчик, по принципу датчика разрыва цепи. Но так или иначе мы сталкиваемся с необходимостью модуляции сигнала. А это открывает перед нами горизонты.
Что еще необычного, что не найдете в перечне библиотек примеров в репозитории HAL library?! - Пример кода для IR-TIM snippets code - модуляция инфракрасного сигнала, как вшитая функция, т.е. без затраты времени процессора PB8 (AF0). А это интересно в плане применения USART, у которого есть встроенная опция под IRDА. То есть этот продукт, помимо ценовой доступности, открытых ресурсов кода и поддержки пользователей - является экологическим. Не создает избыточных электромагнитных полей сверх высокой частоты, которые могут негативно влиять на здоровье человека.
- Поэтому, Ваша речь... Эдуард, я был бы признателен. И очень Вас прошу - мотивируйте свои претензии к KiCad и SnapEDA - за разработку некондиционных библиотек Есть кстати международные правила составления радиосхем и расположения радиокомпонентов. Хотелось понять бы Вас -как профи - в чем именно несоответствие? - Какой был первоначально схематический вид контроллера на схемах у СТм?- Ответ на этот вопрос Вы можете найти в UM1525 STmicro на странице 37 - она полностью соответствует схеме чипа из библиотеки для KiCad, которую я привел в качестве примера. ( И тут мне становится плохо, от осознания того факта, что говоря о правилах, Вы их сами создаете, - в конкретной ситуации для конкретных людей. - Это не утверждение, а мое переживание) Но разници в схемах нет. Так в чем же разница?
- Вам пригодится в жизни, Эдуард, добиваться этого результата - ПОНИМАНИЯ - ЛЮДЕЙ. Это самый важный результат - чтобы тебя понимали люди (я обращаюсь сейчас к себе).
- Представьте себе, что Вам, лично Вам, придется обращаться к присяжным и к суду, а это особо тяжкие дела, - было бы хорошо, чтобы в качестве свидетеля... Очень важно - жизненно важно, чтобы Вас поняли с первого раза. И это правило проецируется на все остальные отношения, которые возникают дома, на работе, в семье - Важно, чтобы Вас понимали.
Вернусь обратно к IRDA. Что еще актуально?! - Digital Signal Processing библиотека CMSIS. Она , в принципе важна для обработки векторной графики, если мы говорим о цифровом столе.
-На этом, сердце успокоится... И карта ляжет хорошая, а завтрашний день будет удачным.
@eduard Ответ номер 2.
В этом предложении всего 15 слов - точнее и не выразишь. Это все, что мне хотел на смом деле сказать Эдуард. Точка, внимание занавес:
ГОСТ 2.702 -2011 ЕСКД. Раздел 5.3. Правила выполнения принципиальных схем. Пункт 5.3.10:
Порядковые номера следует присваивать в соответствии последовательностью расположения элементов или устройств на схеме сверху вниз в направлении слева направо.
Так в чем противоречие указанному ГОСТУ - подвергнутой критике схемы STM32F051R8 ?????????????????!
- Оказывается была указана последовательность выводов согласно номерам пинов порта, картинка - выше на два поста.
Часть вторая пункта 5.3.10 (читаем дальше):
При необходимости допускается изменять последовательность присвоения порядковых номеров номеров в зависимости от размещения элементов в изделии, направлении прохождения сигналов или функциональной последовательности процесса.
Еще 18 слов. Не так много, чтобы уважаемому модератору ресурса - соблюдать свое же утверждение - см.цитату ниже.
Это ГОСТ2.702 -2011 ЕСКД - Эдуард... Таковы его требования. А кстати есть еще один ГОСТ 2.103-68 ЕСКД, который предусматривает содержание этапов проектирования - пункт 5 перечень работ - Разработка Принципиальной схемы, а пункты 6 и 7 Составление полной принципиальной схемы и расчет номиналов элементов схемы, составление перечня элементов.
В проекте "Прикормочный Кораблик" разработка от Эдуарда, к сожалению не обнаружил, может я был не внимателен, - ни принципиальной схемы, ни полной электрической схемы, ни перечня элементов. - Так как быть Эдуард?! ( Ну ладно, я не злой, накладываю Епитимью - дорисовать схемы и привести расчеты номиналов. И рассказать немного о своем опыте в радиолюбительстве и чтению журнала Радио. В контексте построения спиральных антенн для прикормочного дебаркатера на 433 Мгц - с пакетной передачей данных, - и не с витой "бигудюшкой", а антенной на 1/4 длину волны - по памяти - около 1, 67м в собранном состоянии усиление 10dB , с диаграммой направленности 30 градусов - основной лепесток - это антенна базы. А J- штырь - на приеме - на "лодочке" - коэффициент усиления 2 dB. Справочно - ARM - GB, Keil - ФРГ, KiCad - Франция. Так что, про Хаос и студентов из Италии, кстати код KiCad - рабочий код Python, - это была просто точка зрения в пылу дискуссии - уважаемого Эдуарда.
- Кстати, вопрос на засыпку - чем отличается юриспруденция от правоведения?!)))))))))))))))))))))))))
- Первое - это область знаний, а второе - это профессия, специальность. Находить ответы на жизненные вопросы и взаимопонимание между людьми на основе правовых норм. Присяжные уже легли спасть. И я не смог продублировать схему STM32F051R8 от KiСad. Кстати, нашел отличие со схемой разработчика UM1525 порт "B" пины - кикад пустил сразу в последовательности за портом "А", а разработчик их перекинул направо. Интересно, как это отразиться при переводе электрических связей из принципиальной схемы в PCB layout (на плате) ?! 03:27 - спокойной ночи, друзья, все будет хорошо!)))))))))))))))
Раз занялся радиолюбительством, будь добр следовать правилам, которые существуют в твоей стране. Не стоит плодить хаос ещё больше.
Код проекта IR_TIm (snippet code) - обратите внимание на комментарии разработчика - они очень коротки, распиновка в большинстве случаев совпадает. Подправить не сложно. Как составить проект в CMSIS - подскажу, но это есть тоже в раскладах - скопировать файлы CMSIS . По запросу. Друзья, по запросу. Спасибо, удачи!!!
/**
******************************************************************************
* @file 01_Configuration/main.c
* @author MCD Application Team
* @version V1.2.0
* @date 19-June-2015
* @brief This code example shows how to configure the timers 16 and 17
* and PB9 to drive a high sink LED.
*
===============================================================================
##### MCU Resources #####
===============================================================================
- RCC
- TIM16/TIM17
- IRTIM
- GPIO PB9 for IR_OUT
===============================================================================
##### How to use this example #####
===============================================================================
- this file must be inserted in a project containing the following files :
o system_stm32f0xx.c, startup_stm32f072xb.s
o stm32f0xx.h to get the register definitions
o CMSIS files
===============================================================================
##### How to test this example #####
===============================================================================
- This example configures the TIM16 and TIM17 in order to generate
a PWM edge aligned on OC1 (channel 1)of each timer.
The GPIO PB9, corresponding to IR_OUT, is configured as alternate function
and the AF0 is selected.
- To test this example, the user must monitor the signal on PB9.
*
******************************************************************************
* @attention
*
* <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.st.com/software_license_agreement_liberty_v2
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f0xx.h"
/** @addtogroup STM32F0_Snippets
* @{
*/
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Define the Timer to be configured */
#define TIM_ENV TIM16
#define TIM_ENV_BASE TIM16_BASE
#define TIM_ENV_IRQn TIM16_IRQn
#define TIM_ENV_IRQHandler TIM16_IRQHandler
#define TIM_CAR TIM17
#define TIM_CAR_BASE TIM17_BASE
#define RC5HIGHSTATE ((uint32_t )0x02) /* RC5 high level definition*/
#define RC5LOWSTATE ((uint32_t )0x01) /* RC5 low level definition*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
uint8_t RC5_RealFrameLength = 14;
uint8_t RC5_GlobalFrameLength = 64;
uint16_t RC5_addr = 23;
uint16_t RC5_innstruction = 1;
uint32_t ManchesterCodedMsg;
uint8_t SendOperationReady = 0;
volatile uint8_t SendOperationCompleted = 0;
uint8_t BitsSentCounter = 0;
uint16_t frame;
/* Private function prototypes -----------------------------------------------*/
void ConfigureTIM16_17ForIRTIM(void);
uint32_t RC5_ManchesterConvert(uint16_t RC5_BinaryFrameFormat);
/* Private functions ---------------------------------------------------------*/
/**
* @brief Main program.
* @param None
* @retval None
*/
int main(void)
{
/*!< At this stage the microcontroller clock setting is already configured,
this is done through SystemInit() function which is called from startup
file (startup_stm32f072xb.s) before to branch to application main.
To reconfigure the default setting of SystemInit() function, refer to
system_stm32f0xx.c file
*/
ConfigureTIM16_17ForIRTIM();
while (1)
{
frame = 0x3000 | (RC5_addr << 6) | RC5_innstruction; /* Prepare the frame to send */
ManchesterCodedMsg = RC5_ManchesterConvert(frame); /* Code the message with Manchester code */
SendOperationReady = 1; /* set the ready bit */
/* Enable and reset TIM_ENV */
/* (1) Force update generation (UG = 1) */
/* (2) Enable counter (CEN = 1) */
TIM_ENV->EGR |= TIM_EGR_UG; /* (1) */
TIM_ENV->CR1 |= TIM_CR1_CEN; /* (2) */
while (!SendOperationCompleted) /* wait for the sending completion */
{
__WFI();
}
TIM_ENV->CR1 &= (uint16_t)(~TIM_CR1_CEN); /* Disable IRQ on TIM_ENV */
}
}
/**
* @brief This function configures the TIM16 and 17 as PWM mode 1
* and enables the peripheral clock on both timers and on GPIOB.
* It configures GPIO PB9 as Alternate function for IR_OUT
* @param None
* @retval None
*/
__INLINE void ConfigureTIM16_17ForIRTIM(void)
{
/* (1) Enable the peripheral clocks of Timer 16 and 17 and SYSCFG */
/* (2) Enable the peripheral clock of GPIOB */
/* (3) Select alternate function mode on GPIOB pin 9 */
/* (4) Select AF0 on PB9 in AFRH for IR_OUT (reset value) */
/* (5) Enable the high sink driver capability by setting I2C_PB9_FM+ bit
in SYSCFG_CFGR1 */
RCC->APB2ENR |= RCC_APB2ENR_TIM16EN | RCC_APB2ENR_TIM17EN
| RCC_APB2ENR_SYSCFGCOMPEN; /* (1) */
RCC->AHBENR |= RCC_AHBENR_GPIOBEN; /* (2) */
GPIOB->MODER = (GPIOB->MODER & ~GPIO_MODER_MODER9)
| GPIO_MODER_MODER9_1; /* (3) */
//GPIOB->AFR[1] &= ~(0x0F << ((9 - 8) * 4)); /* (4) */
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C_FMP_PB9; /* (5) */
/* Configure TIM_CAR as carrier signal */
/* (1) Set prescaler to 1, so APBCLK i.e 48MHz */
/* (2) Set ARR = 1333, as timer clock is 48MHz the frequency is 36kHz */
/* (3) Set CCRx = 1333/4, , the signal will bhave a 25% duty cycle */
/* (4) Select PWM mode 1 on OC1 (OC1M = 110),
enable preload register on OC1 (OC1PE = 1) */
/* (5) Select active high polarity on OC1 (CC1P = 0, reset value),
enable the output on OC1 (CC1E = 1)*/
/* (6) Enable output (MOE = 1)*/
TIM_CAR->PSC =0; /* (1) */
TIM_CAR->ARR = 1333; /* (2) */
TIM_CAR->CCR1 = (uint16_t)(1333/4); /* (3) */
TIM_CAR->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE; /* (4) */
TIM_CAR->CCER |= TIM_CCER_CC1E; /* (5) */
TIM_CAR->BDTR |= TIM_BDTR_MOE; /* (6) */
/* Configure TIM_ENV is the modulation enveloppe */
/* (1) Set prescaler to 1, so APBCLK i.e 48MHz */
/* (2) Set ARR = 42627, as timer clock is 48MHz the period is 888 us */
/* (3) Select Forced inactive on OC1 (OC1M = 100) */
/* (4) Select active high polarity on OC1 (CC1P = 0, reset value),
enable the output on OC1 (CC1E = 1)*/
/* (5) Enable output (MOE = 1)*/
TIM_ENV->PSC = 0; /* (1) */
TIM_ENV->ARR = 42627; /* (2) */
TIM_ENV->CCMR1 |= TIM_CCMR1_OC1M_2; /* (3) */
TIM_ENV->CCER |= TIM_CCER_CC1E; /* (4) */
TIM_ENV->BDTR |= TIM_BDTR_MOE; /* (5) */
TIM_ENV->DIER |= TIM_DIER_UIE;
/* Enable and reset TIM_CAR only */
/* (1) Enable counter (CEN = 1)
select edge aligned mode (CMS = 00, reset value)
select direction as upcounter (DIR = 0, reset value) */
/* (2) Force update generation (UG = 1) */
TIM_CAR->CR1 |= TIM_CR1_CEN; /* (1) */
TIM_CAR->EGR |= TIM_EGR_UG; /* (2) */
/* Configure TIM_ENV interrupt */
/* (1) Enable Interrupt on TIM_ENV */
/* (2) Set priority for TIM_ENV */
NVIC_EnableIRQ(TIM_ENV_IRQn); /* (1) */
NVIC_SetPriority(TIM_ENV_IRQn,0); /* (2) */
}
/**
* @brief Convert the RC5 frame from binary to Manchester Format.
* @param RC5_BinaryFrameFormat : the RC5 frame in binary format.
* @retval The RC5 frame in Manchester format.
*/
uint32_t RC5_ManchesterConvert(uint16_t RC5_BinaryFrameFormat)
{
uint32_t i=0;
uint16_t Mask = 1;
uint16_t bit_format = 0;
uint32_t ConvertedMsg =0;
for (i=0; i < RC5_RealFrameLength; i++)
{
bit_format =((((uint16_t)(RC5_BinaryFrameFormat))>>i)& Mask)<<i;
ConvertedMsg = ConvertedMsg << 2;
if(bit_format != 0 ) /* Manchester 1 -|_ */
{
ConvertedMsg |= RC5HIGHSTATE;
}
else /* Manchester 0 _|- */
{
ConvertedMsg |= RC5LOWSTATE;
}
}
return (ConvertedMsg);
}
/******************************************************************************/
/* Cortex-M0 Processor Exceptions Handlers */
/******************************************************************************/
/**
* @brief This function handles NMI exception.
* @param None
* @retval None
*/
void NMI_Handler(void)
{
}
/**
* @brief This function handles Hard Fault exception.
* @param None
* @retval None
*/
void HardFault_Handler(void)
{
/* Go to infinite loop when Hard Fault exception occurs */
while (1)
{
}
}
/**
* @brief This function handles SVCall exception.
* @param None
* @retval None
*/
void SVC_Handler(void)
{
}
/**
* @brief This function handles PendSVC exception.
* @param None
* @retval None
*/
void PendSV_Handler(void)
{
}
/**
* @brief This function handles SysTick Handler.
* @param None
* @retval None
*/
void SysTick_Handler(void)
{
}
/******************************************************************************/
/* STM32F0xx Peripherals Interrupt Handlers */
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
/* available peripheral interrupt handler's name please refer to the startup */
/* file (startup_stm32f072xb.s). */
/******************************************************************************/
/**
* @brief This function handles TIM_ENV interrupt request.
* This interrupt subroutine computes the laps between 2 rising edges
* on T1IC. This laps is stored in the "Counter" variable.
* @param None
* @retval None
*/
void TIM_ENV_IRQHandler(void)
{
uint8_t bit_msg = 0;
if((SendOperationReady == 1) && (BitsSentCounter < (RC5_GlobalFrameLength * 2)))
{
if (BitsSentCounter < 32)
{
SendOperationCompleted = 0x00;
bit_msg = (uint8_t)((ManchesterCodedMsg >> BitsSentCounter)& 1);
if (bit_msg== 1)
{
TIM_ENV->CCMR1 |= TIM_CCMR1_OC1M_0; /* Force active level - OC1REF is forced high */
}
else
{
TIM_ENV->CCMR1 &= (uint16_t)(~TIM_CCMR1_OC1M_0); /* Force inactive level - OC1REF is forced low */
}
}
BitsSentCounter++;
}
else
{
SendOperationCompleted = 0x01;
SendOperationReady = 0;
BitsSentCounter = 0;
}
/* Clear TIM_ENV update interrupt */
TIM_ENV->SR &= (uint16_t)(~TIM_SR_UIF);
}
/**
* @}
*/
/********************* (C) COPYRIGHT STMicroelectronics **END OF FILE****/
Вот очень неплохая схема согласно вашим представлениям.
- Не могу с Вами согласиться - согласно моим представлениям это отвратительная схема.
Катод Led3 висит в воздухе. Правило - "земля - это общий провод" нарушено протянуты проводники к точке физического вхождения к заземлению платы.
Вы много времени тратили составляя этот бред, и решили отнять мое время. И откуда Вам известно о моих представлениях в отношении схемы моего проекта - Вы что ясновидящий, или Мессинг, или курите "волшебные дымы"?!
-Вы модератор и обязаны в силу своей публичной функции помогать новичкам, а не ставить - не пытаться ставить их в неловкое положение. - А Вы разобрали код программы TIM_IRDA? Вы смогли составить проект чисто в CMSIS? - Вот вопросы, которые интересуют возможных секундантов этой нелепой и глупой дуэли.
Я не устраиваюсь к Вам на работу. А собеседование смогли бы Вы пройти, например по таким расхожим вопросам - как метод Монте-Карло для определения числа Пи. Программист обязан знать и создавать алгоритмы - этим он отличается от разработчика встроенных систем.
"Согласно Вашим представлениям" Эдуард, Вы, наверное, полагаете, что цифры после запятой являются набором случайных величин. Докажите или опровергните это утверждение.
-Вы спросите, а зачем мне это?!
-И будете с треском уволены. Число Пи задействовано в процессах криптографической защиты, и генерации случайных величин. Распределение Гаусса в своей основе содержит число Пи для проверки нормальности выборки случайных величин, например для генерация пароля.
- Создайте свою рекуррентную формулу числа Пи для точности n--го знака после запятой... Она не должна быть громоздкой и вполне приемлtмой чтобы дополнить DSP библиотеку разработчиков ARM. -Как сохранять числа во флоэт формате, Вы можете поучиться у Microchip, и у Мазиди. Это сьэкономит память, если понадобиться чило до 63 знака - два word. Ну хотябы просто создайте формулу, алгоритм подсчета числа Пи....
-А у меня есть чем ответить - рабочий алгоритм.
Так что жду. С нетерпением.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Привет друзья!
Исправим ошибки трассировки принципиальной схемы. На рисунке все понятно. Раздача этой схемы в последнем сообщении от Эдуарда.
Моя формула расчета числа Пи = 6*2(^n)* tg(30/(2(^n));
где n - число сторон у многоугольника - число хорд многоугольника с внутренней стороны окружности,
2(^n) - два в степени n.
---------------------------------------
Теперь к самому интересному - проекту Tim_IRda.
Рабочий пин - PB9; Именно к нему нам необходимо подключить ЛогАнализатор, для аналица модуляции Tim16 (env - данные) и Tim17(car - несущая).
Запланируем остановочку Tim_ENV_IRQHandler - (Tim16). А там интересные события - побитовый ввод числа, функция конвертации к бинарному виду. Размер пачки ( envelope) -32 бита.
Конечно необходимо подготовить принципиальную схему питания IR диода - излучателя, у него 120 ма и, соответственно, самостоятельная линия питания.
Кстати, проводники с заземлением всегда направлены вниз платы. Это еще одна ошибка в схеме от Эдуарда. Его дальнейшие сообщения - будут без рассмотрения, в силу их бесполезности.
Удачи на дорогах - берегите себя, друзья!!!!!!!!!!!!!!!!!!!!!!!!!!!
Привет друзья!
Небольшая интрига. Математитка - это наука, полная интриг. - А вы и не знали?! - Помните второй замечательный предел (Число е - натуральных логарифмов)?
- Нет Вы конечно помните,
- Как я стоял приблизившись к стене,
- Взволнованно ходили Вы по комнате,
- И что-то резкое в лицо бросали мне...
-Теорему Вейерштрассе?! - Не помните?!
А она нам очень нужна, друзья, чтобы прекратить безумную попытку человечества считать число Пи до триллионных знаков после запятой . - Красиво, а?!
Всякая монотонно ограниченная последовательность имеет предел. После несложных преобразований формулу расчета числа Пи приведем к этому виду. Разделим единицу на формулу (1):
1/(Пи) = 1/(6*2(^n)* tg(30/(2(^n))); Теперь у нас каждый последующий член меньше предыдущего. Числовая последовательность задается формулой общего члена. Последовательность Хn называется ограниченной , если существует число M>0, что для любого n, выполняется неравенство Xn<=M
У нас идеальный случай, Sin(a) - для внутреннего периметра квадратуры - по хордам (уточняем формулу выше в плане тангенса), - для внешнего периметра - по касательным к окружности единичного радиуса - Tan(a). У нас число Пи в этих пределах Мин и Макс, как похоже для натуральных логарифмов.
В знаменатель добавим произведение на N! (факториал), чтобы сэкономить вычислительные мощности - примерно 30! для тридцатого шага.
Посчитать на инженерном калькуляторе мы не сможем результат, поэтому воспользуемся подходящими инструментами, которые нам предоставляет Дэлфи.
Продолжение следует, Друзья!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Друзья, а мы отметились!!!)))14.03 - международный день числа Пи. 3,14 - однако)))
- И у меня хорошее настроение.
-Потому что мы вернемся к классике - последовательность по тангенсу - это внешний периметр, последовательность сходящаяся, каждое последующее значение меньше предыдущего. Не надо делить в знаменателе на единицу, не надо там же добавлять n! - факториал (в знаменателе).
- Последовательность - по внутреннему периметру - расходящаяся - каждое новое значение больше предыдущего ( последовательность по синусу). Когда они сойдется- пересекутся - получим искомый результат. А в теории пределов мы опять ( именно опять - ничего нового) мы придем к выводу tg(a) = Sin(a), если а -> 0... Да все просто Sin (0) = 0, tg (0) = 0, потому что tg(a) = sin/cos;
[sin(0)=0] = [sin(0)=0]/[cos(0)=1],
т.е. Sin(0) - это "0", равен Sin(0) - тоже ноль/ Cos(0) - это 1.
На практике - мы посчитаем, зададим невязку в расчете числа Пи по внешнему и внутреннему периметру. И создадим цикл while. Начиная с расчетного шага n= 100 (сторон многоугольника). Интересно, каким будет число n - конечное для нашей задачи.
Еще из хороших новостей, - довольно быстро пришли компоненты для ИК связи, LM393, TSOP1738, для радиосвязи и пр. Спасибо друзьям из Великого Китая!))) Хорошего дня, друзья!!!!