teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]


スレッド一覧

  1. 足あと帳(0)
スレッド一覧(全1)  他のスレッドを探す 

*掲示板をお持ちでない方へ、まずは掲示板を作成しましょう。無料掲示板作成

新着順:16/836 記事一覧表示 | 《前のページ | 次のページ》

sinの振幅によってLED点灯

 投稿者:こーたろー  投稿日:2020年 7月10日(金)00時00分0秒 softbank126243089021.bbtec.net
  通報 返信・引用
  [問題点]SINの振幅値によってLEDを点灯させたいです。0.8<sinωt<1.0ならLED3を点灯、0.6<sinωt<0.8ならLED4を点灯、以後刻みを0.6~0.4、0.4~-0.4、-0.4~-0.6,-0.6~-0.8、-0.8~-1.0,とする。
また計算に時間がかかり本来の処理が遅れることが問題なので計算速度はできるだけはやくしたいです。

以下のプログラムを組んでみましたがうまくビルドされませんでした。加筆修正願います。特にint main (void)以下をお願いします。ちなみにMCCを用いておりますので#より上は自動でプログラムされております。水晶発振器は3MHzに設定しております。
よろしくお願いします。

PIC24FJ1024GB610を用いております。








[code]
#include "mcc_generated_files/system.h"
#include "mcc_generated_files/led_d3.h"
#include "mcc_generated_files/led_d4.h"
#include "mcc_generated_files/led_d5.h"
#include "mcc_generated_files/led_d6.h"
#include "mcc_generated_files/led_d7.h"
#include "mcc_generated_files/led_d8.h"
#include "mcc_generated_files/led_d9.h"
#include "mcc_generated_files/charlcd.h"

#include<math.h>
#define N (99)
/*
Main application
*/
int main(void)
{ uint8_t i=0;
double a[N+1],b[N+1],c[N+1],pi,t;
pi=4*atan(1.0);
for(i=0;i<=N;i++){
t=0.01666666*i/((double N)+1);
a[i]=t;
b[i]=120*pi*t;
c[i]=sin(b[i]);
}

while (1)
{
for(i=0;i<=N;i++){
if(0.8<=c[i]&&c[i]<1.0) LED_D3_On();
else LED_D3_Off();
if(0.6<=c[i]&&c[i]<0.8) LED_D4_On();
else LED_D4_Off();
if(0.4<=c[i]&&c[i]<0.8) LED_D5_On();
else LED_D5_Off();
if(-0.4<=c[i]&&c[i]<0.4) LED_D6_On();
else LED_D6_Off();
if(-0.6<=c[i]&&c[i]<-0.4) LED_D7_On();
else LED_D7_Off();
if(-0.8<=c[i]&&c[i]<-0.6) LED_D8_On();
else LED_D8_Off();
if(-1.0<=c[i]&&c[i]<-0.8) LED_D9_On();
else LED_D9_Off();
}

// Add your application code

}

return 1;
}
/**
End of File
*/


[/code]







[code]
#include "mcc_generated_files/system.h"
#include "mcc_generated_files/led_d3.h"
#include "mcc_generated_files/led_d4.h"
#include "mcc_generated_files/led_d5.h"
#include "mcc_generated_files/led_d6.h"
#include "mcc_generated_files/led_d7.h"
#include "mcc_generated_files/led_d8.h"
#include "mcc_generated_files/led_d9.h"
#include "mcc_generated_files/charlcd.h"

#include<math.h>
#define N (99)
/*
Main application
*/
int main(void)
{ uint8_t i=0;
double a[N+1],b[N+1],c[N+1],pi,t;
pi=4*atan(1.0);
for(i=0;i<=N;i++){
t=0.01666666*i/((double N)+1);
a[i]=t;
b[i]=120*pi*t;
c[i]=sin(b[i]);
}

while (1)
{
for(i=0;i<=N;i++){
if(0.8<=c[i]&&c[i]<1.0) LED_D3_On();
else LED_D3_Off();
if(0.6<=c[i]&&c[i]<0.8) LED_D4_On();
else LED_D4_Off();
if(0.4<=c[i]&&c[i]<0.8) LED_D5_On();
else LED_D5_Off();
if(-0.4<=c[i]&&c[i]<0.4) LED_D6_On();
else LED_D6_Off();
if(-0.6<=c[i]&&c[i]<-0.4) LED_D7_On();
else LED_D7_Off();
if(-0.8<=c[i]&&c[i]<-0.6) LED_D8_On();
else LED_D8_Off();
if(-1.0<=c[i]&&c[i]<-0.8) LED_D9_On();
else LED_D9_Off();
}

// Add your application code

}

return 1;
}
/**
End of File
*/


[/code]
 
 
》記事一覧表示

新着順:16/836 《前のページ | 次のページ》
/836