Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3002|回復: 7
打印 上一主題 下一主題

使用電晶體控制電源開關

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-10-6 19:33:47 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
各位前輩好

請問一下

最近剛接觸程式語言以及arduino開發版

想做一個簡易的電源開關控制

以下是我的程式碼

但當我輸入進去後

卻發現無法使電晶體作用

請問這板子的腳位都有特殊用途嗎?

還是小弟的程式碼出錯?

請各路大大求救

include <math.h>

int i, j, k;
int kmax=20; // 用kmax來調整頻率,值越大頻率越低
int iout=5;  // 指定輸出腳位
int isin100, isin(100);

void setup()
{
  float theta=0.0;

  for( i=0 ; i<100 ; i++ )
  {
    isin(i) = int( 50. * ( sinf(3.1415926535898*theta/180.) + 1.0 ) ) ; // 依sine函數變化,產生0到100的結果
    theta = theta + 3.6;
  }
}

void loop()
{
  for( i=0 ; i<100 ; i++ )
  {
    digitalWrite( iout , HIGH ); // 開
    for( k=0 ; k<kmax ; k++ )    // 兩層空迴圈,延遲時間用
      for( j=0 ; j<isin(i) ; j++ );

    isin100 = 100 - isin(i);     // 取100的補數
    digitalWrite( iout ,  LOW ); // 關
    for( k=0 ; k<kmax ; k++ )    // 兩層空迴圈,延遲時間用
      for( j=0 ; j<isin100 ; j++ );
  }
}
2#
 樓主| 發表於 2016-10-9 13:39:34 | 顯示全部樓層
回復 3# 超新手
感謝大大的回覆
以下是我們更改後的程式碼

我們會再租借視波器回來測波型

十分感謝各路大大!!!!

#include <math.h>

int i, j, k;
int kmax = 20; // 用kmax來調整頻率,值越大頻率越低
int iout = 5; // 指定輸出腳位
int isin100, isin[100];

void setup()
{
  float theta = 0.0;

  for ( i = 0 ; i < 100 ; i++ )
  {
    isin = int( 50 * ( sinf(3.1415926535898 * theta / 180.) + 1.0 ) ) ; // 依sine函數變化,產生0到100的結果
    theta = theta + 3.6;
  }
}

void loop()
{
  for ( i = 0 ; i < 100 ; i++ )
  {
    digitalWrite( iout , HIGH ); // 開
    for ( k = 0 ; k < kmax ; k++ ) // 兩層空迴圈,延遲時間用
      for ( j = 0 ; j < isin ; j++ );

    isin100 = 100 - isin;     // 取100的補數
    digitalWrite( iout ,  LOW ); // 關
    for ( k = 0 ; k < kmax ; k++ ) // 兩層空迴圈,延遲時間用
      for ( j = 0 ; j < isin100 ; j++ );
  }
}
3#
 樓主| 發表於 2016-10-9 13:40:53 | 顯示全部樓層
回復 4# croma

我們是以C為基礎下去打的^^"

但也不確定對或不對
希望有大大能幫忙解惑
4#
 樓主| 發表於 2016-10-9 13:43:11 | 顯示全部樓層
回復 2# croma

感謝大大的幫忙
想請問一下

迴圈不到兩千次的意思是?

先前因為連程式都無法燒入,所以就停工了^^"
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-4 15:43 , Processed in 0.233501 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表