2014年12月26日 星期五

ARDUINO 番外A-程式語言函式概略一

量:
  • HIGH | LOW 表示數字IO口的電平,HIGH 表示高電平(1),LOW 表示低電平(0)。
  • INPUT | OUTPUT 表示數字IO口的方向,INPUT 表示輸入(高阻態),OUTPUT 表示輸出(AVR能提供5V電壓 40mA電流)。
  • true | false true 表示真(1),false表示假(0)。
結構
  • void setup() 初始化變數,管腳模式,調用庫函數等
  • void loop() 連續執行函數內的語句
數字 I/O
  • pinMode(pin, mode) 數位IO口輸入輸出模式定義函數,pin表示為013 mode表示為INPUTOUTPUT
  • digitalWrite(pin, value) 數字IO口輸出電平定義函數,pin表示為013value表示為HIGHLOW。比如定義HIGH可以驅動LED
  • int digitalRead(pin) 數位IO口讀輸入電平函數,pin表示為013value表示為HIGHLOW。比如可以讀數字感測器。
模擬 I/O
  • int analogRead(pin) 類比IO口讀函數,pin表示為05Arduino Diecimila05Arduino nano07)。比如可以讀模擬感測器(10AD05V表示為01023)。
  • analogWrite(pin, value) - PWM 數位IOPWM輸出函數,Arduino數位IO口標注了PWMIO口可使用該函數,pin表示3, 5, 6, 9, 10, 11value表示為0255。比如可用於電機PWM調速或音樂播放。
擴展 I/O
  • shiftOut(dataPin, clockPin, bitOrder, value) SPI外部IO擴展函數,通常使用帶SPI介面的74HC5958IO擴展,dataPin為資料口,clockPin為時鐘口,bitOrder為資料傳輸方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要傳送的資料(0255),另外還需要一個IO口做74HC595的使能控制。
  • unsigned long pulseIn(pin, value) 脈衝長度記錄函數,返回時間參數(us),pin表示為013valueHIGHLOW。比如valueHIGH,那麼當pin輸入為高電平時,開始計時,當pin輸入為低電平時,停止計時,然後返回該時間。

時間函數
  • unsigned long millis() 返回時間函數(單位ms),該函數是指,當程式運行就開始計時並返回記錄的參數,該參數溢出大概需要50天時間。
  • delay(ms) 延時函數(單位ms)。
  • delayMicroseconds(us) 延時函數(單位us)。
數學函數
  • min(x, y) 求最小值
  • max(x, y) 求最大值
  • abs(x) 計算絕對值
  • constrain(x, a, b) 約束函數,下限a,上限bx必須在ab之間才能返回。
  • map(value, fromLow, fromHigh, toLow, toHigh) 約束函數,value必須在fromLowtoLow之間和fromHightoHigh之間。
  • pow(base, exponent) 開方函數,baseexponent次方。
  • sq(x) 平方
  • sqrt(x) 開根號
三角函數
亂數函數
  • randomSeed(seed) 亂數埠定義函數,seed表示讀類比口analogRead(pin)函數
  • long random(max) 亂數函數,返回資料大於等於0,小於max
  • long random(min, max) 亂數函數,返回資料大於等於min,小於max
外部中斷函數
  • attachInterrupt(interrupt, , mode) 外部中斷只能用到數字IO23interrupt表示中斷口初始01,表示一個功能函數,modeLOW低電平中斷,CHANGE有變化就中斷,RISING上升沿中斷,FALLING 下降沿中斷。
  • detachInterrupt(interrupt) 中斷開關,interrupt=1 開,interrupt=0 關。
中斷使能函數
串口收發函數


/************Arduino語言庫檔*************/
官方庫文件
非官方庫文件
  • DateTime - a library for keeping track of the current date and time in software.日期與時間
  • Debounce - for reading noisy digital inputs (e.g. from buttons)
  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  • LCD - control LCDs (using 8 data lines)
  • LCD 4 Bit - control LCDs (using 4 data lines)
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • Messenger - for processing text-based messages from the computer
  • Metro - help you time actions at regular intervals
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.
  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Servo - provides software support for Servo motors on any pins.
  • Servotimer1 - provides hardware support for Servo motors on pins 9 and 10
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • TextString - handle strings
  • TLC5940 - 16 channel 12 bit PWM controller.
  • X10 - Sending X10 signals over AC power lines
/****************************************/

沒有留言:

張貼留言