{"id":147,"date":"2024-10-28T09:04:52","date_gmt":"2024-10-28T00:04:52","guid":{"rendered":"https:\/\/mazegohan.blog\/?p=147"},"modified":"2024-10-28T09:04:52","modified_gmt":"2024-10-28T00:04:52","slug":"%e3%83%80%e3%82%a4%e3%82%bd%e3%83%bc%e3%81%ae%e3%80%8c%e3%83%aa%e3%83%a2%e3%82%b3%e3%83%b3%e4%bb%98%e3%81%8d%e3%83%86%e3%83%bc%e3%83%97%e3%83%a9%e3%82%a4%e3%83%88%e3%80%8d%e3%81%a8stm32%e3%81%aeirtim","status":"publish","type":"post","link":"https:\/\/mazegohan.blog\/?p=147","title":{"rendered":"\u30c0\u30a4\u30bd\u30fc\u306e\u300c\u30ea\u30e2\u30b3\u30f3\u4ed8\u304d\u30c6\u30fc\u30d7\u30e9\u30a4\u30c8\u300d\u3068STM32\u306eIRTIM\u3068DMA burst"},"content":{"rendered":"\n<p>\u53cb\u4eba\u304b\u3089\u3001\u3053\u3093\u306a\u9762\u767d\u3044\u3082\u306e\u304c\u3042\u308b\u3088\u3068\u30cd\u30bf\u3092\u632f\u3089\u308c\u305f\u306e\u3067\u904a\u3093\u3067\u307f\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-28.jpg\" alt=\"\u30c0\u30a4\u30bd\u30fc\u306eLED\u30c6\u30fc\u30d7\u30e9\u30a4\u30c8\u306e\u5916\u7bb1\u3068\u4e2d\u8eab\" class=\"wp-image-174\" style=\"width:620px;height:auto\" srcset=\"https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-28.jpg 640w, https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-28-300x225.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">\u3055\u3089\u3063\u30685V\/817mA\u3068\u66f8\u304b\u308c\u3066\u308b\u3042\u305f\u308a\u3069\u3046\u304b\u3068\u601d\u3046\u3002<\/figcaption><\/figure>\n\n\n\n<p>\u7269\u3068\u3057\u3066\u306f2023\u5e74\u9803\u304b\u3089\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u30023\u8272LED\u00d730\u500b\u3068\u30ea\u30e2\u30b3\u30f3\u4ed8\u304d\u3067\u7a0e\u629c500\u5186\u3063\u3066\u3059\u3054\u304f\u306a\u3044\u3067\u3059\u304b? \u3053\u308c\u3067\u3069\u3046\u3084\u3063\u3066\u5229\u76ca\u3092\u51fa\u3059\u306e\u304b\u3002\u3059\u3054\u3044\u3067\u3059\u3002\u305f\u306030\u500b\u306eLED\u3092\u500b\u5225\u306b\u5236\u5fa1\u3059\u308b\u3001\u3044\u308f\u3086\u308b addressable \u306a\u4ed5\u69d8\u306b\u306f\u306a\u3063\u3066\u304a\u3089\u305a\u3001\u540c\u6642\u306b\u6307\u5b9a\u3057\u305f\u8272\u306b\u3059\u308b\u3053\u3068\u3057\u304b\u3067\u304d\u307e\u305b\u3093\u3002\u3055\u3059\u304c\u306b NeoPixel \u00d730\u500b\u3067\u306f500\u5186\u3067\u53ce\u307e\u3089\u306a\u3044\u3068\u601d\u3046\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u8d64\u5916\u7dda\u4fe1\u53f7\u306e\u89e3\u6790<\/h2>\n\n\n\n<p>\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3068\u8a00\u308f\u308c\u305f\u3089\u307e\u305a\u4fe1\u53f7\u3092\u89e3\u6790\u3057\u305f\u304f\u306a\u308a\u307e\u305b\u3093\u304b? \u3068\u3044\u3046\u3053\u3068\u3067\u4f55\u3092\u3059\u308b\u306b\u3082\u307e\u305a\u306f\u89e3\u6790\u304b\u3089\u3084\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u8d85\u3056\u3063\u304f\u308a\u307e\u3068\u3081\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4ed5\u69d8\u306f\u666e\u901a\u306e NEC format<\/li>\n\n\n\n<li>Custom code \u306f 0x00ef<\/li>\n\n\n\n<li>\u5de6\u4e0a\u306e button \u304b\u3089\u6a2a\u306b 00, 01, 02, &#8230;&#8230; \u3068\u9023\u756a\u3092\u632f\u3063\u3066\u3044\u308b\u5206\u304b\u308a\u3084\u3059\u3044\u4e26\u3073<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>UP<\/td><td>DOWN<\/td><td>OFF<\/td><td>ON<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">00<\/span><\/strong>ff<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">01<\/span><\/strong>fe<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">02<\/span><\/strong>fd<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">03<\/span><\/strong>fc<\/td><\/tr><tr><td>R<\/td><td>G<\/td><td>B<\/td><td>W<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">04<\/span><\/strong>fb<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">05<\/span><\/strong>fa<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">06<\/span><\/strong>f9<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">07<\/span><\/strong>f8<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td>FLASH<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">08<\/span><\/strong>f7<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">09<\/span><\/strong>f6<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">0a<\/span><\/strong>f5<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">0b<\/span><\/strong>f4<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td>STROBE<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">0c<\/span><\/strong>f3<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">0d<\/span><\/strong>f2<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">0e<\/span><\/strong>f1<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">0f<\/span><\/strong>f0<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td>FADE<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">10<\/span><\/strong>ef<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">11<\/span><\/strong>ee<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">12<\/span><\/strong>ed<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">13<\/span><\/strong>ec<\/td><\/tr><tr><td><\/td><td><\/td><td><\/td><td>SMOOTH<\/td><\/tr><tr><td>0x00ef<strong><span style=\"text-decoration: underline;\">14<\/span><\/strong>eb<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">15<\/span><\/strong>ea<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">16<\/span><\/strong>e9<\/td><td>0x00ef<strong><span style=\"text-decoration: underline;\">17<\/span><\/strong>e8<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Controller \u306e button \u3068\u5bfe\u5fdc\u3059\u308b command \u306e\u4e00\u89a7\u3002NEC format \u306f\u5927\u304d\u3044 byte \u304b\u3089 LSB first \u3067\u9001\u4fe1\u3059\u308b\u306e\u3067\u6ce8\u610f<\/figcaption><\/figure>\n\n\n\n<p>\u306a\u3093\u3068\u306a\u304f\u306e\u60f3\u50cf\u3067\u3059\u304c\u3001\u304d\u3063\u3068\u3053\u3046\u3044\u3046\u6c4e\u7528\u7684\u306b\u4f7f\u3048\u308bIC\u304c\u51fa\u56de\u3063\u3066\u308b\u3093\u3067\u3057\u3087\u3046\u306d\u3002\u3067\u3001\u5b9f\u88c5\u5074\u3067\u305d\u308c\u305e\u308c\u306e\u4fe1\u53f7\u304c\u3069\u306e\u6a5f\u80fd\u306b\u5bfe\u5fdc\u3059\u308b\u306e\u304b\u6c7a\u3081\u3066\u308b\u3093\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">STM32 \u306e IRTIM<\/h2>\n\n\n\n<p>STM32 \u304c\u597d\u304d (\u3068\u3044\u3046\u304b STM32 HAL \u3068 STM32CubeMX \u306b\u98fc\u3044\u99b4\u3089\u3055\u308c\u305f\u30c0\u30e1\u4eba\u9593) \u3068\u3044\u3046\u7406\u7531\u304b\u3089 STM32 \u3067\u5236\u5fa1\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u304c\u3001IRTIM \u3092\u4f7f\u3046\u306e\u306f\u521d\u3081\u3066\u3067\u3059\u3002<\/p>\n\n\n\n<p>IRTIM \u306f TIM16 \u3068 TIM17 \u306e\u8ad6\u7406\u7a4d\u3068\u3057\u3066\u52d5\u4f5c\u3057\u307e\u3059\u3002STMicroElectronics \u306e\u8aac\u660e\u306b\u3088\u308b\u3068\u3001TIM16 \u306f\u9001\u4fe1\u3059\u308b0\/1\u306e PWM \u306e\u6ce2\u5f62\u3092\u4f5c\u308b\u305f\u3081\u306b\u3001TIM17\u306f\u526f\u642c\u9001\u6ce2(\u4eca\u56de\u306f 38kHz)\u3092\u4f5c\u308b\u305f\u3081\u306b\u4f7f\u3046\u3088\u3046\u3067\u3059\u3002\u4eca\u56de\u306f NUCLEO-G031K8 \u309264MHz\u3067\u52d5\u304b\u3059\u3053\u3068\u306b\u3057\u305f\u306e\u3067\u3001\u8a2d\u5b9a\u5024\u306f\u305d\u308c\u305e\u308c\u4ee5\u4e0b\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TIM16\u2026\u2026Prescaler: 35967, Counter Period: 24 (\u4eee)<\/li>\n\n\n\n<li>TIM17\u2026\u2026Prescaler: 40, Counter Period: 40 (64MHz\/((40+1)*(40+1)) \u2252 38kHz)<\/li>\n\n\n\n<li>TIM16\u3068TIM17\u3092\u6709\u52b9\u306b\u3057\u305f\u3089IRTIM\u3092\u6709\u52b9\u306b\u3067\u304d\u308b\n<ul class=\"wp-block-list\">\n<li>output polarity: Polarity inverted (STM32G0\u56fa\u6709\u6a5f\u80fd\u3001\u51fa\u529b\u306b\u62b5\u6297\u3068LED\u3092\u76f4\u7d50\u3059\u308b\u3068\u304d\u306b\u4fbf\u5229)<\/li>\n\n\n\n<li>IR Modulation Envelope signal (STM32G0\u56fa\u6709\u6a5f\u80fd\u3001UART \u3067\u3082\u9001\u51fa\u3067\u304d\u308b\u3089\u3057\u3044)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>IRTIM \u3092\u6709\u52b9\u306b\u3057\u306a\u304c\u3089\u3001TIM16\u3068TIM17\u3092\u305d\u308c\u305e\u308cPA6\u3068PA7\u306b\u51fa\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002Logic analyzer \u306b\u3088\u308b\u52d5\u4f5c\u78ba\u8a8d\u306b\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">STM32 \u306e DMA burst \u8ee2\u9001<\/h2>\n\n\n\n<p>TIM16 \u306e ARR (Auto Reload Register) \u3068 CCR1 (Capture\/Compare Register 1) \u3092\u540c\u6642\u306b\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001\u9593\u306b RCR (Repetition Counter Register) \u304c\u631f\u307e\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u5358\u7d14\u306a DMA \u3067\u306f\u306a\u304f DMA burst \u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u304c\u3001\u3042\u307e\u308a\u8a2d\u5b9a\u3059\u308b\u7b87\u6240\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DMA Request timing: TIM16_UP<\/li>\n\n\n\n<li>Direction: Memory To Peripheral<\/li>\n\n\n\n<li>Data Width: Word<\/li>\n\n\n\n<li>Increment Address: Memory\u306e\u307f\u6709\u52b9<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Code<\/h2>\n\n\n\n<p>\u4ee5\u4e0a\u306e\u8a2d\u5b9a\u304b\u3089\u3001\u66f8\u304f\u3079\u304d code \u306f\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f RGB \u3092\u5faa\u74b0\u3055\u305b\u3066\u307f\u307e\u3057\u305f\u3002Comment \u306b\u3082\u66f8\u3044\u3066\u307e\u3059\u304c\u3001\u660e\u793a\u7684\u306b HAL_TIM_PeriodElapsedCallback() \u306e\u4e2d\u3067 HAL_TIM_PWM_Stop() \u3068 HAL_TIM_DMABurst_WriteStop() \u3092\u547c\u3093\u3067\u3084\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>\/\/ DMA burst \u8ee2\u9001\u306f\u7d42\u4e86\u5f8c\u306b\u505c\u6b62\u3057\u306a\u3044\u3068\u6b21\u306e\u8ee2\u9001\u304c\u3067\u304d\u306a\u3044\nvoid HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)\n{\n\tHAL_TIM_PWM_Stop(&amp;htim16, TIM_CHANNEL_1);\n\tHAL_TIM_DMABurst_WriteStop(&amp;htim16, TIM_DMA_UPDATE);\n}\n\n\n\/\/ size of txbuffer must be 102 or more.\nvoid txdata(uint32_t command, uint32_t* txbuffer)\n{\n\t  *txbuffer       = 24; \/\/ ARR = t_on + t_off\n\t  *(txbuffer + 1) =  0; \/\/ RCR\n\t  *(txbuffer + 2) = 16; \/\/ CCR1 = t_on\n\t  for(int byteCount = 0; byteCount &lt; 4; byteCount++)\n\t  {\n\t\t  for(int bitCount = 0; bitCount &lt; 8; bitCount++)\n\t\t  {\n\t\t\t  *(txbuffer + 3 + (byteCount * 8 + bitCount) * 3    ) = ((((command >> ((3 - byteCount) * 8)) &amp; 0xff) >> bitCount) &amp; 1) == 0 ? 1 : 3;\n\t\t\t  *(txbuffer + 3 + (byteCount * 8 + bitCount) * 3 + 1) = 0;\n\t\t\t  *(txbuffer + 3 + (byteCount * 8 + bitCount) * 3 + 2) = 1;\n\t\t  }\n\t  }\n\t  *(txbuffer +  99) = 100;\n\t  *(txbuffer + 100) = 0;\n\t  *(txbuffer + 101) = 1;\n}\n\nint main(void)\n{\n  \/\/ \u4e2d\u7565\n  \/* USER CODE BEGIN 2 *\/\n\n  \/\/ \u526f\u642c\u9001\u6ce2\n  __HAL_TIM_SET_COMPARE(&amp;htim17, TIM_CHANNEL_1, 13);\n  HAL_TIM_PWM_Start(&amp;htim17, TIM_CHANNEL_1);\n\n  uint32_t txbuffer&#91;(1 + 16 + 8 + 8 + 1) * 3] = {0}; \/\/ leader + customer code + data + ^data + tail = 102\n  uint32_t commands&#91;] = {0x00EF04FB, 0x00EF05FA, 0x00EF06F9}; \/\/ Red, Green, Blue\n\n  \/* USER CODE END 2 *\/\n\n  \/* Infinite loop *\/\n  \/* USER CODE BEGIN WHILE *\/\n  while (1)\n  {\n\t  for(int index = 0; index &lt; 3; index++)\n\t  {\n\t\t  txdata(commands&#91;index], txbuffer);\n\t\t  while(HAL_TIM_DMABurstState(&amp;htim16) != HAL_DMA_BURST_STATE_READY) {}\n\t\t  if(HAL_TIM_DMABurst_MultiWriteStart(\n\t\t\t\t  &amp;htim16,\n\t\t\t\t  TIM_DMABASE_ARR,\n\t\t\t\t  TIM_DMA_UPDATE,\n\t\t\t\t  (uint32_t *)txbuffer,\n\t\t\t\t  TIM_DMABURSTLENGTH_3TRANSFERS,\n\t\t\t\t  sizeof(txbuffer) \/ sizeof(uint32_t)) != HAL_OK)\n\t\t  {\n\t\t\t  Error_Handler();\n\t\t  }\n\t\t  if(HAL_TIM_PWM_Start(&amp;htim16, TIM_CHANNEL_1) != HAL_OK)\n\t\t  {\n\t\t\t  Error_Handler();\n\t\t  }\n\t\t  while(HAL_TIM_DMABurstState(&amp;htim16) == HAL_DMA_BURST_STATE_BUSY) {}\n\t  }\n    \/* USER CODE END WHILE *\/\n\n    \/* USER CODE BEGIN 3 *\/\n  }\n  \/* USER CODE END 3 *\/\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u3067\u304d\u3042\u304c\u308a<\/h2>\n\n\n\n<p>TIM17\u3001TIM16\u3001IRTIM \u305d\u308c\u305e\u308c\u306e\u51fa\u529b\u3068 protocol decoder \u306e\u7d50\u679c\u3092 PulseView \u3067\u89b3\u5bdf\u3057\u305f\u3068\u3053\u308d\u3001\u4e0a\u3005\u306e\u51fa\u6765\u3067\u3059\u3002\u305f\u3060\u3057RGB\u3092\u5faa\u74b0\u3055\u305b\u308b\u3068\u3082\u306e\u3059\u3054\u3044\u30ae\u30e9\u30ae\u30e9\u3057\u305f\u611f\u3058\u306b\u306a\u308b\u306e\u3067\u3042\u307e\u308a\u304a\u3059\u3059\u3081\u3057\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"606\" src=\"https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView-1024x606.png\" alt=\"\" class=\"wp-image-175\" srcset=\"https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView-1024x606.png 1024w, https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView-300x178.png 300w, https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView-768x454.png 768w, https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView-1536x909.png 1536w, https:\/\/mazegohan.blog\/wp-content\/uploads\/2024\/10\/2024-10-24-Daiso-IR-remote-controller-with-STM32G031K8-and-PulseView.png 1680w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u53c2\u8003\u8cc7\u6599<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.st.com\/resource\/en\/application_note\/an4776-generalpurpose-timer-cookbook-for-stm32-microcontrollers-stmicroelectronics.pdf\">AN4776: General-purpose timer cookbook for STM32 microcontrollers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.st.com\/resource\/en\/reference_manual\/rm0444-stm32g0x1-advanced-armbased-32bit-mcus-stmicroelectronics.pdf\">RM0444: STM32G0x1 advanced Arm\u00ae-based 32-bit MCUs<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.st.com\/content\/ccc\/resource\/training\/technical\/product_training\/group0\/c1\/b7\/1a\/48\/58\/d9\/43\/ba\/STM32G4-WDG_TIMERS-Infra_Red_Interface_IRTIM\/files\/STM32G4-WDG_TIMERS-Infra_Red_Interface_IRTIM.pdf\/_jcr_content\/translations\/en.STM32G4-WDG_TIMERS-Infra_Red_Interface_IRTIM.pdf\">STM32G4 IRTIM<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.st.com\/resource\/en\/product_training\/STM32G0-WDG_TIMERS-Infra-Red-Interface-IRTIM.pdf\">STM32G0 IRTIM<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u53cb\u4eba\u304b\u3089\u3001\u3053\u3093\u306a\u9762\u767d\u3044\u3082\u306e\u304c\u3042\u308b\u3088\u3068\u30cd\u30bf\u3092\u632f\u3089\u308c\u305f\u306e\u3067\u904a\u3093\u3067\u307f\u307e\u3057\u305f\u3002 \u7269\u3068\u3057\u3066\u306f2023\u5e74\u9803\u304b\u3089\u8ca9\u58f2\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u30023\u8272LED\u00d730\u500b\u3068\u30ea\u30e2\u30b3\u30f3\u4ed8\u304d\u3067\u7a0e\u629c500\u5186\u3063\u3066\u3059\u3054\u304f\u306a\u3044\u3067\u3059\u304b? \u3053\u308c\u3067\u3069\u3046\u3084\u3063\u3066\u5229\u76ca\u3092\u51fa\u3059\u306e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-147","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":26,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":177,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/177"}],"wp:attachment":[{"href":"https:\/\/mazegohan.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mazegohan.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}