**概述:**本设计采用STC15系列单片机作为主控,用4个光敏模块作为光线采集,同时用单片机自带的AD转换功能采集4个方向的电池板电压,来判断那个方向的光照强度比较高,从而使用单片机来控制两路舵机来调整角度。
系统介绍
原理图使用立创EDA(专业版)进行绘制,原理图包括 主控电路,显示接口电路,电源电路,LED显示电路,电压采集电路,舵机接口电路,独立按键电路,光敏模块采集电路。


**程序概述:**AD数据的采集 以及 定时器控制舵机
uint Get_ADC10bitResult(uchar channel) //channel = 0~7
{
ADC_RES = 0;
ADC_RESL = 0;
ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel;
nop();
nop();
nop();
nop();
while((ADC_CONTR & ADC_FLAG) == 0);
ADC_CONTR &= ~ADC_FLAG;
//返回10位AD值
return (((uint)ADC_RES << 2) | (ADC_RESL & 3));
}
//AD通道配置程序

uchar i;
for(i=0;i<10;i++)
{
x0+=Get_ADC10bitResult(0);
x1+=Get_ADC10bitResult(1);
y0+=Get_ADC10bitResult(2);
y1+=Get_ADC10bitResult(3);
}
x0=x0/30;
x1=x1/30;
y0=y0/30;
y1=y1/30;
//AD采集 采集30次 取个平均值
void Timer0_Init(void)
{
TMOD |=0x01;
TH0=-high_ms>>8;
TL0=-high_ms;
TR0 = 1; //定时器0开始计时
EA = 1;
ET0 = 1;
}
//定时器初始程序

void timer() interrupt 1
{
switch(Pwm_Flag)
{
case 1: PWM=1; TH0=-pwm[0]>>8; TL0=-pwm[0]; break; // 高电平持续时间pwm[0]
case 2: PWM=0; TH0=-(high_ms-pwm[0])>>8; TL0=-(high_ms-pwm[0]); break; //低电平时间10-pwm[0] ms
case 3: PWM2=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break; // 高电平持续时间pwm[1]
case 4: PWM2=0; TH0=-(high_ms-pwm[1])>>8; TL0=-(high_ms-pwm[1]); break; //低电平时间10-pwm[1] ms
default: TH0=0xff; TL0=0x80; Pwm_Flag=0;
}
Pwm_Flag++;
}
//定时器中断子程序,用来产生脉冲驱动 舵机。

详细逐日系统

立创开源|太阳能逐日系统相关推荐

  1. 【立创开源】基于N32/STM32物联网终端设备

    1.项目功能介绍 STM32终端控制器,设计的初衷是做一款拥有蓝牙BLE与LORA传输功能的室内外传感控检测控制的产品. 该项目基于目前DIY爱好者经常使用的STM32F103C8T6型号,通过LOR ...

  2. 立创开源|手把手教你做个WiFi/蓝牙网关

    我知道你也想要一个属于自己的WiFi/蓝牙网关 开源地址:ESP32 WiFi/蓝牙网关 ESP32 GetWay 工程说明 官方说明:安信可 Wi-Fi 家庭智能网关(ESP32-G)由安信可科技设 ...

  3. 立创开源zigbee2mqtt网关 简称:z2m

    简介:工程主要有8266最小系统与zigbee最小系统进行串口通信,zigbee承担协调器功能采集到的子设备数据通过串口发送至8266,8266通过本地wifi上报HA 项目地址:z2m&&a ...

  4. 【立创开源】两节锂电池8.4V充电电路(USB-5V充电)

    CS5090E是一款5V输入,最大1.5A充电电流,支持双节锂电池串联应用,锂离子电池的升压充电管理lC,CS5090E集成功率Mos ,采用异步开关架构,使其在应用时仅需极少的外围器件,可有效减少整 ...

  5. 基于单片机的太阳能杀虫系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85881842 资源下载地址:https://download.csdn.net/downl ...

  6. 开源分布式Job系统,调度与业务分离-如何创建一个计划HttpJob任务

    项目介绍: Hangfire:是一个开源的job调度系统,支持分布式JOB!! Hangfire.HttpJob 是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的.可以独立 ...

  7. 多人开源博客系统再搜集

    Posted on October 22, 2006 by kunstao 现在很多人在找多用户blog,我列出的大部分都说自己支持多用户,但实际上多用户有两种,一种是多人共同维护一个blog,另一种 ...

  8. GGTalk ——C#开源即时通讯系统

    http://www.cnblogs.com/justnow/ GGTalk --C#开源即时通讯系统 下载中心 GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V ...

  9. php手机建站,PHP免费开源建站系统含手机站V1.7.6

    PHP免费开源建站系统含手机站V1.7.6,喜欢就下载吧. 正文: 苹果CMS视频分享程序是一套采用PHP+MYSQL环境下运行的完善而强大的快速建站系统. 经过近多年的开发经验和技术积累,苹果CMS ...

  10. java开源的cms系统jsp cms系统

    java开源的cms系统jsp cms系统 http://www.open-open.com/39.htm 转载于:https://www.cnblogs.com/guoyiqi/archive/20 ...

最新文章

  1. 恐惧、野心和迷茫,机器人公民背后的未来世界
  2. 工作总结 -- 插件篇 目录
  3. Java中通过JDBC操作MySQL数据库
  4. oracle系统包—-dbms_output用法
  5. 【转载】我为啥不想用Python
  6. python全排列_全排列算法python实现
  7. 取数函数设置向导返回值说明
  8. 论文浅尝 | 基于知识图谱的子图匹配回答自然语言问题
  9. 2014/09/30 Learning Note
  10. 实现机器学习的循序渐进指南VI——AdaBoost
  11. 如果Mac无法连接到其他电脑共享怎么办?
  12. 补天漏洞厂商资产数据爬虫以及总漏洞量可视化分析
  13. 携职教育:中级职称《系统集成项目管理师》巨大作用!
  14. oracle找出两张表中不同的数据
  15. Tesseract-OCR 4.0LSTM训练流程 (Windows环境下)
  16. python序号,python排序、得出序号各类方法大全 numpy pandas
  17. Unity Android Unable to load resource的问题
  18. 项目管理高手常用的10种图表!
  19. 微头条自媒体常见领域,好创作,快速实现自媒体变现
  20. 分页第一页用0还是1_计算机用0 和1刻画文字、图片和声音

热门文章

  1. USB-PD 协议解析 - 简单易懂协议详解
  2. 开源交通仿真平台SimMobility的安装教程
  3. bzoj4448(LCT)
  4. 如何使用条形码字体在Crystal Report中创建代码39?
  5. rs232 485 ttl区别
  6. 测试的阿萨德萨达阿萨德
  7. 徘徊过多少橱窗 住过多少旅馆 才会觉得分离也并不冤枉
  8. 计算机算log的原理,一位业余爱好者的研究,原本是第一台机械计算器,就这么胎死腹中...
  9. oracle vm 强制关机,[已解决]Virtualbox安装archlinux过程中客户机和宿主机全部卡死...
  10. Xperf 使用方法