顯示具有 Arduino 標籤的文章。 顯示所有文章
顯示具有 Arduino 標籤的文章。 顯示所有文章

2017/03/27

WeMos D1 R2 接 ArduCAM OV5642 Mini 5MP+




Pin10接CS
CS接D0
MOSI接D7
MISO接D6
SCK接D5
GNC接GND
VCC接3.3V
SDA接D2
SCL接D1

CS =16

ArduCAM.h內加入#define ESP8266
將memorysaver.h內的#define OV5642_MINI_5MP_PLUS註解移除

2017/03/18

WeMos D1 WiFi uno based ESP8266 接 ArduCAM OV5642 Mini 5MP+





Pin10接CS
CS接D2
MOSI接D7
MISO接D6
SCK接D4
GNC接GND
VCC接3.3V
SDA接D4
SCL接D3

CS =16

ArduCAM.h內加入#define ESP8266
將memorysaver.h內的#define OV5642_MINI_5MP_PLUS註解移除

ArduCam OV5642 mini 5MP+ 接至Arduino UNO R3



MISO = Master In, Slave Out
MOSI = Master Out, Slave In
SCK = SCLK


Pin10接CS
SCL接A5
SDA接A4
MISO接MISO
MOSI接MOSI
SCK接SCK

CS = 10

將memorysaver.h內的#define OV5642_MINI_5MP_PLUS註解移除

2017/03/15

WeMos D1 WiFi uno based ESP8266 connect to WiFi


執行結果:


WeMos D1 WiFi uno based ESP8266 AP Mode

local=AP的IP位置
gateway=AP閘道
sunet=網路遮罩


/*
Name:  AP.ino
Created: 2017/2/22 上午 02:56:01
Author: C.Y.Fang
*/

#include "ESP8266WiFi.h"

//AP SSID
const char *ssid = "ssid";
//AP password
const char *password = "password";
//LED pin
const int LED = SCK;

//HTTP Server
WiFiServer server(80);

//local IP
IPAddress local(192,168,10,254);
//gateway
IPAddress gateway(192,168,10,254);
//subnet
IPAddress subnet(255,255,255,0);


void setup() {
 pinMode(LED,OUTPUT);
 Serial.begin(115200);
 WiFi.begin();
 WiFi.mode(WIFI_AP);
 WiFi.softAP(ssid, password);
 WiFi.softAPConfig(local, gateway, subnet);
 server.begin();
}


void loop() {
 WiFiClient client = server.available();
 if (!client)
  return;

 while (!client.available())
  delay(100);

 String request = client.readStringUntil('\r');
 Serial.println(request);
 client.flush();

 int value = request.indexOf("/LED=ON") != -1 ? HIGH : LOW;
 client.println("HTTP/1.1 200 OK");
 client.println("Content-Type: text/html; charset=utf-8");
 client.println("");
 client.println("<!DOCTYPE HTML>");
 client.println("<html>");
 client.print("Led status is: ");

 if (value == HIGH)
  client.print("On");
 else
  client.print("Off");

 client.println("

");
 client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on<br>");
 client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED off<br>");
 client.println("</html>");

 digitalWrite(LED, value);
 delay(2000);
}

2017/03/04

Arduino microSD Card模組

支援FAT
不支援NTFS


腳位接法:
CS Pin10
SCK Pin13
MOSI Pin11
MISO Pin12
VCC 5V
GBD GND
執行結果:








Arduino LM35DZ 取得溫度

以圓點為正面從左開始定義為Pin1
1 GND
2 A0
3 5V



執行結果:








2017/03/02

Arduino 修改I2C速度

Arduino的I2C預設速度為100Mhz
如果我要調整為400Mhz則至下方資料夾內去修改twi.h
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility

修改行數為28行



//原先為
#define TWI_FREQ 100000L
//修改為
#define TWI_FREQ 400000L

2017/02/28

Android使用Usb Serial For Android Library取得Arduino傳送資訊

Usb Serial For Android Library是一個已經整合好的Serial Driver Library
所以就不用從頭自己寫一個了
使用時Android project底下的res新增xml資料夾並在該資料夾底下新增device_filter.xml

執行結果:


Arduino程式碼:
/*
 Name:  Test.ino
 Created: 2017/2/28 上午 12:06:46
 Author: C.Y.Fang
*/

// the setup function runs once when you press reset or power the board
void setup() {
 Serial.begin(115200);

}

// the loop function runs over and over again until power down or reset
void loop() {
 Serial.println("Hi");
 delay(1000);
}

2017/02/22

WeMos D1 WiFi uno based ESP8266 Scan Wi-Fi

訂的板子終於到了,雖然跟我想要的板子差多了
不過加減用吧..XD


在開發前如果你是Windows7則需要先下載驅動,比Windows7更新的系統則不用
接著下載PythonGit Bash,記得加入Path
等待PythonGit Bash安裝完成後用管理員開啟終端機輸入
cd C:\Program Files (x86)\Arduino\hardware
mkdir esp8266com
cd esp8266com
git clone https://github.com/esp8266/Arduino.git esp8266

等待Git clone完成後輸入
cd esp8266\tools\
python.exe get.py
等待下載完成重開IDE即可

Compiler時選擇WebMos D1(Retired)
baud rate選擇115200

執行結果:

ArduCAM OV5642 擷取影像至SD Card

板子為Arduino UNO R3
鏡頭為OV5642
擴充版為ArduCAM Shield V2
函式庫是由ArduCAM所提供
使用前記得修改函式庫

執行結果:

2017/02/21

ArduCAM Shield V2 無法使用記憶卡

最近入手ArduCAM Shield V2,搭配的板子則是Arduino UNO R3
要儲存照片時實在無法儲存
根據參考資料我們要來手動Arduino的libraries
因為執行速度不同所以要手動調整函示庫

要修改的部分為Sd2Card.h以及SD.cpp

Sd2Card.h部分在34行新增
uint8_t const SPI_ARDUCAM_SPEED = 3;



2016/09/01

Arduino DHT22取得空氣中濕度及溫度

DHT11與DHT22差異在於DHT22準確度比較高且可取的範圍較廣
另外DHT22別名則是AM2302,不過內部晶片似乎有其不一樣之處,這可能還需各位前輩指教了
我所使用的DHT22Library則是DHT-sensor-library

下圖是我所購買的DHT22


腳位接法如下:

Arduino DHT11取得空氣中濕度及溫度

DHT11的Library是參考A DHT11 Class for Arduino

我買的DHT11是如下圖

腳位接法如下:

2016/08/06

Arduino RTC時間模組 DS1302

請先將「DS1302 RTC library」解壓縮至Arduino的Library內
目前在做一個小玩具,需要用到RTC(Real Time Clock)
該模組需先設定初始時間,時間設定好後將其註解
該範例為奇數秒則熄滅Led,偶數則亮起LED

GND接GND
VCC接5V
CLK接Pin12
DAT接Pin11
RST接Pin10
LED正極接13Pin

2016/08/05

C#.Net 透過藍芽操控Arduino上的LED

我的接角為
RXD接11Pin
TXD接10Pin
GND接GND
VCC接5V
LED正極接13
LED負極接GND

Arduino程式碼:

/*
 Name:  Test.ino
 Created: 2016/8/5 下午 08:42:12
 Author: C.Y.Fang
*/

#include  <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
char status = NULL;


void setup()
{
 pinMode(13, OUTPUT);
 BTSerial.begin(38400);
}

void loop()
{ 
 if (BTSerial.available())
  //從藍芽接收Client傳送的字元
  status = (char)BTSerial.read();
 //H為開F為關
 if (status == 'H')
  digitalWrite(13, HIGH);
 else if (status == 'F')
  digitalWrite(13, LOW);
}


Arduino 設定HC-05藍芽模組

先將以下程式碼貼入Arduino Studio編譯:
#include  <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);
}

void loop()
{
  if (BTSerial.available())
    Serial.write(BTSerial.read());
  if (Serial.available())
    BTSerial.write(Serial.read());
}

我的板子上面則是有EN的
所以我的接法如下
RXD接11Pin
TXD接10Pin
GND接GND
VCC接5V
其餘不接

2013/05/24

Arduino My Arduino

Arduino是一個蠻有趣的板子,可以用Arduino來做一些應用,大多源碼容易取得
這當然不是我選擇碰Arduino的原因,不過算是一個好學習的嵌入式的一個起點

當我拿到這塊板子的時候,我深深吸了一口氣
這板子好小喔,要330元…