|
sketch_jqr_uno.ino是網靈機器人的Arduino主程序,rf_send.ino是RF發送的源代碼。
dht文件夾是DHT11溫濕度模塊的庫,請先把它拷貝到Arduino IDE環境的libraries目錄下。
推薦用arduino-1.0.1編譯環境,打開sketch_jqr_uno.ino時,會自動把同一個目錄下的rf_send.ino包含進來編譯。
2個ino文件經過編譯最終生成一個固件,上傳到Arduino板子中。
- void pt2262_foura(void)
- {//針對于16MHz頻率的單片機
- int i;
- for (i = 0; i < pt2262_count; i++)
- {delayMicroseconds(10);}
- }
- void ev1527_bit0(void)
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- }
- void ev1527_bit1(void)
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_dama0(void)//BIT"0"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- }
- void pt2262_dama1(void)//BIT"1"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
-
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_damaf(void)//BIT"f"
- {
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- pt2262_foura();
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- pt2262_foura();
- }
- void pt2262_syn(void)
- {
- int i=31;
- digitalWrite(pt2262_pin, HIGH);
- pt2262_foura();
- digitalWrite(pt2262_pin, LOW);
- while(i--)
- {
- pt2262_foura();
- }
- }
- void pt2262_send(uint16_t addr, uint8_t data)
- {
- uint16_t addr_bak = addr;
- uint8_t data_bak = data;
- uint8_t i;
- uint8_t j;
- uint8_t tmp;
- for (i = 0; i < 5; i++)
- {
- addr = addr_bak;
- data = data_bak;
- pt2262_syn();
- for (j = 0; j < 8; j++)
- {//A0 -> A7
- tmp = addr % 3;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- else pt2262_damaf();
- addr = addr / 3;
- }
- for (j = 0; j < 4; j++)
- {//D0 -> D3
- tmp = data % 2;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- data = data / 2;
- }
- }
- }
- void ev1527_send(uint16_t addr, uint8_t data)
- {
- uint16_t addr_bak = addr;
- uint8_t data_bak = data;
- uint8_t i;
- uint8_t j;
- uint8_t tmp;
- for (i = 0; i < 5; i++)
- {
- addr = addr_bak;
- data = data_bak;
- pt2262_syn();
- for (j = 0; j < 8; j++)
- {//A0 -> A7 (16bit)
- tmp = addr % 3;
- if (0 == tmp) pt2262_dama0();
- else if (1 == tmp) pt2262_dama1();
- else pt2262_damaf();
- addr = addr / 3;
- }
- for (j = 0; j < 8; j++)
- {//D0 -> D7 (8bit)
- tmp = data % 2;
- if (0 == tmp) ev1527_bit0();
- else if (1 == tmp) ev1527_bit1();
- data = data / 2;
- }
- }
- }
復制代碼
|
-
-
Arduino源程序.zip
2019-12-15 21:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
6.57 KB, 下載次數: 2, 下載積分: 黑幣 -5
|