Arduino教程汇总贴(2020.2.2更新)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: 奈何col

Arduino教程汇总贴(2020.2.2更新)

    [复制链接]
发表于 2015-6-11 12:33 | 显示全部楼层
真的很谢谢你们
发表于 2015-6-16 09:38 | 显示全部楼层
{:soso_e154:}求一个arduino+RFID的教程
发表于 2015-6-22 15:45 | 显示全部楼层
{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}{:soso_e130:}
发表于 2015-6-24 09:56 | 显示全部楼层
直接收藏,感谢分享;
发表于 2015-6-24 17:31 | 显示全部楼层
真不错,以后有学的地方了,谢谢
发表于 2015-6-26 08:32 | 显示全部楼层
楼主能帮忙看看我这个程序吗?我写的老是不显示超声波的数字,用电脑可以看得到,用LCD 1602 I2C就显示不出来。[b
#include <Wire.h>
#include <LiquidCrystal_I2C.h>//申明1602液晶的函数库

#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

LiquidCrystal_I2C lcd(0x27,16,2); //数据口模式连线声明

int Echo = A1;  // Echo回声脚(P2.0)
int Trig =A0;  //  Trig 触发脚(P2.1)

int Distance = 0;

void setup()
{
  Serial.begin(9600);     // 初始化串口
  //初始化电机驱动IO为输出方式
  //初始化超声波引脚
  pinMode(Echo, INPUT);    // 定义超声波输入脚
  pinMode(Trig, OUTPUT);   // 定义超声波输出脚
  lcd.begin(0x27,16,2);    //初始化1602液晶工作  
  //lcd.init();                      // initialize the lcd
  //lcd.backlight();
  //lcd.home();
  //lcd.print("Hello liuliujunfeng");
  //lcd.setCursor(0, 1);
  //lcd.print("QQ:175536240");
}


void Distance_test()   // 量出前方距离
{
  digitalWrite(Trig, LOW);   // 给触发脚低电平2μs
  delayMicroseconds(2);
  digitalWrite(Trig, HIGH);  // 给触发脚高电平10μs,这里至少是10μs
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);    // 持续给触发脚低电
  float Fdistance = pulseIn(Echo, HIGH);  // 读取高电平时间(单位:微秒)
  Fdistance= Fdistance/58;       //为什么除以58等于厘米,  Y米=(X秒*344)/2
  // X秒=( 2*Y米)/344 ==》X秒=0.0058*Y米 ==》厘米=微秒/58
  Serial.print("Distance:");      //输出距离(单位:厘米)
  Serial.println(Fdistance);         //显示距离
  Distance = Fdistance;
}  

void loop()
{
  Distance_test();
  if((2<Distance)&(Distance<400))//超声波测距范围2cm到400cm
  {
    lcd.home();        //把光标移回左上角,即从头开始输出   
    lcd.print("Distance:");       //显示
    lcd.setCursor(6,2);   //把光标定位在第2行,第6列
    delay(1000);
    lcd.print(Distance);          //显示距离
    lcd.print("cm");        //显示
    delay(5000);
  }
  else
  {
    lcd.home();        //把光标移回左上角,即从头开始输出  
    lcd.print("!!! Out of range");       //显示超出距离
  }
  delay(5000);
  lcd.clear();
}
发表于 2015-6-30 10:18 | 显示全部楼层
都是好东西,,,
发表于 2015-7-4 11:22 | 显示全部楼层
感谢奈何col大牛无私奉献,
发表于 2015-7-11 14:49 | 显示全部楼层
教程写的很好,看不到底层代码有点小失望。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:38 , Processed in 0.274855 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表