微信小程序【星空指南】正式发布

虽然在2018年8月就上传了第一个版本,到2019年3月已经迭代了50多次。从功能到性能都做了不少优化。

打开微信扫一扫,立即使用

再次简单介绍一下这个简易实用的天文小程序。首页最顶部是每日一图(作者比较懒,也不是每天都勤快地更新)和来自高德开放平台的当地天气信息。

日出日落、月出月落以及月龄

往下翻还有今日推荐的5个观测目标以及木星和伽利略卫星的信息。

星图

星图是这个小程序有非常特色的功能,由于性能限制,无法提供更多恒星数据。这对大部分的天文爱好者来说应该足够了。

在更多栏目里,还有几个实用天文小工具,就不一一介绍。读者们赶紧掏出手机,马上去体验一下吧。

基于Web的电路设计工具

1、Multisim.com
Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。
工程师们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。

2、Easyeda.com / Lceda.cn
 EasyEDA是一个完全免费的、无需安装的、基于浏览器和云的设计工具,和诸多云应用一样,无论是windows、mac还是linux都可以通过浏览器直接使用。提供了丰富且自增长的设计素材库和资料库,只要你愿意,可以在享受各种资源的同时,与大家分享你的作品,系统同时适用于团队的协同设计开发。立创商城正式宣布并购在线电子设计软件EasyEDA,在国内推出立创EDA。

Arduino驱动ULN2003(28BYJ48步进电机)

int p1 = 11;
int p2 = 12;
int p3 = 18;
int p4 = 31;
void setup() {
  pinMode(p1,OUTPUT);
  pinMode(p2,OUTPUT);
  pinMode(p3,OUTPUT);
  pinMode(p4,OUTPUT);
}
int steps=0;
void loop() {
  step(steps);
  steps++;
  if(steps>7){
    steps=0;
  }
  delayMicroseconds(1200);
}
void step(int t){
  switch(t){
    case 0:{
      digitalWrite(p1,HIGH);
      digitalWrite(p2,LOW);
      digitalWrite(p3,LOW);
      digitalWrite(p4,LOW);
    }
    break;
    case 1:{
      digitalWrite(p1,HIGH);
      digitalWrite(p2,HIGH);
      digitalWrite(p3,LOW);
      digitalWrite(p4,LOW);
    }
    break;
    case 2:{
      digitalWrite(p1,LOW);
      digitalWrite(p2,HIGH);
      digitalWrite(p3,LOW);
      digitalWrite(p4,LOW);
    }
    break;
    case 3:{
      digitalWrite(p1,LOW);
      digitalWrite(p2,HIGH);
      digitalWrite(p3,HIGH);
      digitalWrite(p4,LOW);
    }
    break;
    case 4:{
      digitalWrite(p1,LOW);
      digitalWrite(p2,LOW);
      digitalWrite(p3,HIGH);
      digitalWrite(p4,LOW);
    }
    break;
    case 5:{
      digitalWrite(p1,LOW);
      digitalWrite(p2,LOW);
      digitalWrite(p3,HIGH);
      digitalWrite(p4,HIGH);
    }
    break;
    case 6:{
      digitalWrite(p1,LOW);
      digitalWrite(p2,LOW);
      digitalWrite(p3,LOW);
      digitalWrite(p4,HIGH);
    }
    break;
    case 7:{
      digitalWrite(p1,HIGH);
      digitalWrite(p2,LOW);
      digitalWrite(p3,LOW);
      digitalWrite(p4,HIGH);
    }
    break;
  }
}

platform-io常用Arduino板型设置

在VSCode里使用platform-io开发arduino程序

[env:uno]
platform = atmelavr
board = uno
framework = arduino
upload_port = COM7

[env:pro16MHzatmega328]
platform = atmelavr
board = pro16MHzatmega328
framework = arduino

[env:megaatmega2560]
platform = atmelavr
board = megaatmega2560
framework = arduino

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino

[env:leonardo]
platform = atmelavr
board = leonardo
framework = arduino

[env:esp01_1m]
platform = espressif8266_stage
board = esp01_1m
framework = arduino