Arduino的入门操作(不定期更新)

打开蜂鸣器:

void setup() {
  	// put your setup code here, to run once;
    pinMode(D5,OUTPUT);//设置引脚为输出引脚    
}

void loop() {
  	// put your main code here, to run repeatedly;
    digitalWrite(D5,LOW);
    delay(1000);
    digitalWrite(D5,HIGH);
    delay(1000);
}

  

串口的输入输出:

void setup() {
 	 // put your setup code here, to run once:
    Serial.begin(115200);
}

void loop() {
 	 // put your main code here, to run repeatedly:
    int cmd;
    
    if(Serial.available() > 0){
        cmd = Serial.read();
        if(cmd == 5){
            Serial.println("Mr.Wang is so handsome");
        }else{
            Serial.println("Mrs.wang is so beautiful");  
        } 
    }  
}

  

输入输出控制蜂鸣器:

void setup() {
	// put your setup code here, to run once:
	Serial.begin(115200);
	pinMode(D5, OUTPUT);
	digitalWrite(D5, HIGH);
}

void loop() {
	// put your main code here, to run repeatedly:
	int cmd;

	if (Serial.available() > 0) {
		cmd = Serial.read();
		if (cmd == 1) {
			Serial.println("ON!");
      		digitalWrite(D5, LOW);
    	} else {
      		Serial.println("OFF!");
      		digitalWrite(D5, HIGH);
    	}
  	}
}

  

连接WiFi:

#include <ESP8266WiFi.h>

char* ssid = "Redmi_1088";
char* password = "**********";
//不会给你们看的[doge]

void InitWifiSta(){
    WiFi.mode(WIFI_STA);                     
    //设置STA模式
    WiFi.begin(ssid,password);               
    //连接网络
    while(WiFi.status() != WL_CONNECTED){    
    //没连接上wifi就打印  . 信息
        Serial.println(".");
        delay(500);        
    }
}

void setup() {
    // put your setup code here, to run once:
    Serial.begin(115200);
    //Start WIFI
    //Connect WIFI
    InitWifiSta();
}

void loop() {
    // put your main code here, to run repeatedly:
    Serial.println(WiFi.localIP());         
    //通过串口打印WEOMOS D1的IP地址
    delay(500);
}

C/S模式:

说明白点其实就是一个服务器连着多个客户端

服务器的两大要素:
1.地址:
IP地址、域名等
2.端口号:
一台电脑或者设备有多个服务,每个服务都用端口号来区别

  

在WEMOS上搭建ftp服务器:

#include <ESP8266WiFi.h>

char* ssid = "Redmi_1088";
char* password = "13190491088";
int port = 8888;
//端口号
WiFiServer server(port);
//设置服务器端口号

void InitWifiSta(){
    WiFi.mode(WIFI_STA);                     //设置STA模式
    WiFi.begin(ssid,password);               //连接网络
    while(WiFi.status() != WL_CONNECTED){    //没连接上wifi就打印  . 信息
        Serial.println(".");
        delay(500);        
    }
    Serial.println(WiFi.localIP());         //通过串口打印wemos的IP地址
}

void setup() {
    Serial.begin(115200);
    //Start WIFI
    //Connect WIFI
    InitWifiSta();
    server.begin();
    //启动服务器
}

void loop() {
    char cmd;
    WiFiClient client = server.available();
    //服务器初始化
    
    while(client.connected()){
    //没连接服务器时,函数返回值为 0,连接上服务器返回值为 1
        while(client.available() > 0){
            cmd = client.read();
            if(cmd == '1'){
                Serial.println("I'm trying hard to be better to be worth of you!\n"); 
            }else{
                Serial.println("I'm missing you!\n");
            }
        } 
    }
}

用手机控制蜂鸣器:

#include <ESP8266WiFi.h>
#define BEEP D5

char* ssid = "Redmi_1088";
char* password = "13190491088";
int port = 8888;
WiFiServer server(port);

void InitWifiSta(){
    WiFi.mode(WIFI_STA);                     //设置STA模式
    WiFi.begin(ssid,password);               //连接网络
    while(WiFi.status() != WL_CONNECTED){    //没连接上wifi就打印  . 信息
        Serial.println(".");
        delay(500);        
    }
    Serial.println(WiFi.localIP());         //通过串口打印wemos的IP地址
}

void InitBEEP(){
	pinmode(BEEP,OUTPUT);
	digitalWrite(BEEP,HIGH);
}

void setup() {
    InitBEEP()
    Serial.begin(115200);
    //Start WIFI
    //Connect WIFI
    InitWifiSta();
    server.begin();
    //启动服务器
}

void loop() {
    char cmd;
    WiFiClient client = server.available();
    //服务器初始化
    
    while(client.connected()){
    //没连接服务器时,函数返回值为 0,连接上服务器返回值为 1
        while(client.available() > 0){
            cmd = client.read();
            if(cmd == '1'){
                digitalWrite(BEEP,LOW);
            }else{
                digitalWrite(BEEP,HIGH);
            }
        } 
    }
}

超声波测距:

#define Echo D2
#define Trig D8

void Init(){
    pinMode(Echo,INPUT);
    pinMode(Trig,OUTPUT);
}

long getTime(){
    //发送一个10us脉冲
    digitalWrite(Trig,HIGH);
    delayMicroseconds(10);
    digitalWrite(Trig,LOW);
    //波传播过程echo高电平,计算高电平时间就获取波传输的时间
    return pulseIn(Echo,HIGH);
}

void setup(){
    Init();
    Serial.begin(115200);
}

void loop(){
    long dis;
    dis = getTime() / 58;
    Serial.print(dis);
    Serial.println("cm");
    delay(1000);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值