【arduino 程式教學】

相關知識問答

  • Arduino灌入程式的時候總會出現錯誤!?
    在程式欄下方黑色的欄位Binary sketch size: 1250 bytes (of a 30720 byte maximum)avrdude: stk500_getsync(): not in sync: resp=0x00avrdude: stk500_disable(): protocol error, expect=0×14, resp=0×51
    = =我擦,我也剛碰到這個問題~~找到一個葡萄牙語的網站···
    嘗試取代ATMega328/168誰在船上與其他引導程式來
    正常。
    我想我已經有這個錯誤,所以我退出為他按下復位
    USB電纜。
    ATMega328/168取代阿爾杜伊諾,重返工作崗位.. 至今沒有
    我停下來重寫引導程式。

    卡洛斯愛德華“吉祥物”加西亞德卡瓦略
    “承認他在所有的模式,他必指引你的路。”
    箴言06.03
    (21)8125-1737
    Skype的:carloseduardo.gc
    貌似我看Google翻譯的也看不懂~~
    又找了個~~
    Arduino燒寫時出現錯誤的解決辦法
    未選擇正確的開發板類型
    未設定正確的連線埠號
    avrdude: stk500_getsync(): not in sync: resp=0×00
    avrdude: stk500_disable(): protocol error, expect=0×14, resp=0×51
    在PC的設備管理器中檢視Arduino開發板的COM連線埠號,然後在Arduino軟體的【tools】【Serial Port】中設定為對應的COM連線埠。
    我也覺得隻可能是這個問題了~~
    我這可能是之前裝過虛擬串口的程式所有有點問題~http://groups.google.com/group/arduinrio/browse_thread/thread/611337356a863cd5?tvc=2
  • arduino 328與arduino uno有什麽區別?與arduino mega1280呢?
    UNO是328的升級版(2011年升級,2012年初出的R3版)主要升級就是USB 轉串口模組,採用了ATMEL 16U2 或者是8U2 的單片機來模擬轉換晶片,速度更快更穩定(16U2比8U2性能好,但是8U2也夠了) 如果不在乎20多塊錢的話,8U2的是很好的選擇。
    UNO升級了328的USB通訊模組,更快,當然成本高了自然價格高了
    mega1280性能和328相同,都是16M的8位單片機,區別在於引腳數量,可以接更多的外圍設備
    RAM和FLASH擴大了很多 其中的1280指的是128K的FLASH空間,328指的是32K, 可以包含更大的程式(上面說的FLASH空間不是所有都可用,一般會有幾K作為BOOTLOADER 就是引導程式 幾K,可以略過不計,多數程式都沒有那麽大,32K對於單片機來說已經很大了)。
    arduino產品序列性能更好的 還有2560。
    挑選的時候主要要看做工,價格,還有就是周邊元件,很多1280或者2560使用的還是FT32的USB晶片,那就是老款了,用16U2單片機或者8U2的都是很好的選擇,畢竟新,支持的功能更多(當然目前功能相同,以後可能會開發出來虛擬滑鼠或者鍵盤之類的通訊代碼,隻有單片機作為通訊的才支持,官網上說“當然,這一切有待於團隊的後續開發”)。
    目前本人玩的是2560 ,數位IO 模擬口都多很多.
  • 請問arduino程式語言中怎麽實現兩個程式同時運行?
    這個應該不需要同時運行也可以實現的,因為機器運行很快的,幾乎就是同時完成檢測與顯示。
    隻要在void loop裏邊先編程感測器檢測程式,再用數位或者模擬輸出口接LCD顯示器的輸出就行了。void loop無限迴圈,讀一次顯示一次。基本就是瞬時完成的。
  • arduino 程式裏面TIMSK0 &= !(1 << TOIE0); 是什麽意思?
    arduino程式用的是C語言,那一句相當於TIMSK0= TIMSK0&(!(1<<TOIE0))
    是不是裏面的!(是否為零)應該是~(取位反)?
    如果是~的話比較好理解,它最後得到的是TIMSK0的後TOIE0位(二進位)
    如果是!,1左移沒溢出的話鐵定是非零,但是我不確定!(1000)這種形式返回值是不是1,你可以自己試一下。。。http://arduino.cc/en/Reference/Boolean
  • 用arduino與PC通訊,為什麽藍牙的綠燈亮了,但是程式仍舊不能下載進arduino主機板?
    arduino的程式下載時,比特率會改變,用藍牙很難完成
  • Arduino控製舵機的程式
    int readPin = 0; //用來連線電位器
    int servopin = 7; //定義舵機接口數位接口7

    void servopulse(int angle)//定義一個脈沖函式
    {
    int pulsewidth=(angle*11)+500; //將角度轉化為500-2480的脈寬值
    digitalWrite(servopin,HIGH); //將舵機接口電平至高
    delayMicroseconds(pulsewidth); //延時脈寬值的微秒數
    digitalWrite(servopin,LOW); //將舵機接口電平至低
    delayMicroseconds(20000-pulsewidth);
    }

    voidsetup()
    {
    pinMode(servopin,OUTPUT);//設定舵機接口為輸出接口
    }

    voidloop()
    {
    //讀取電位器(感測器)的讀數,接到3.3V,值範圍從0到660左右
    int readValue = analogRead(readPin);
    //把值的範圍對應到0到165左右
    int angle = readValue / 4;
    //傳送50個脈沖
    for(int i=0;i<50;i++)
    {
    //引用脈沖函式
    servopulse(angle);
    }
    }
  • 給飛控板燒得arduino的bootloader 燒程式燒不進去?
    為什麽燒程式的時候提示avrdude: stk500_getsync(): not in sync: resp=0×00????
    avrdude: stk500_getsync(): not in sync: resp=0×00錯誤提示在arduino IDE中非常常見,這個錯誤代表著就是無法通過USB口與arduino控製板進行通信,下面總結一下這個問題常見的幾個原因。

    1,arduino控製板或者COM口沒有選對;
    2,下載的時候,arduino控製板上接了其他延伸板(使用D0,D1口的基本都會出問題,這兩個口是用來通信下載程式的。)如果接了其他延伸板不能用,可以先拔掉延伸板再次嘗試重新下載程式。

    3,bootloader損壞,這種情況下需要重新刷bootloader。

    4,驅動未安裝好。(目前遇到ghost版本,或者精簡版win7系統安裝uno驅動時,無法安裝的問題。這種情況,需要重灌系統。ghost版或者精簡版作業系統,請謹慎安裝,後患無窮。)
  • 我買了一個arduino uno,連到電腦上的驅動程式,裏面tools選單裏的serial port是灰色的怎麽辦啊,線上等。
    window 系統要安裝驅動的。
    1.在arduino軟體 檔案下的driver檔案下有個FIDI USB DRIVER。插上資料線後,系統進入硬體向導,勾選從清單或指定位置安裝,點下一步,點在搜尋中包括這個位置,流覽在arduino軟體 檔案下的driver檔案下有個FIDI USB DRIVER檔案夾,確定後,開始安裝,完成。
    2.要是插上資料線沒反應,用硬體管理器,搜尋一下新硬體,在重復1的步驟。
    3.板子沒問題嗎? arduino uno板子是那個版本的?R1?R2?R3? 軟體用arduino 1.0試試。
  • arduino程式可以下載AT89SXX裏面嗎?
    不能直接用,首先兩者的單片機不同,其次arduino對底層操作進行了封裝的,不能直接用上去。
  • 剛接觸Arduino,想在eeprom內寫入數位,但是總是1個BYTE寫入一個數位,怎麽才能把0-255之間的數位寫在一個
    1、為了將多個資料寫入EEPROM,就必須用多個掃描周期,而且保證每個掃描周期依次寫入一個資料,直到全部寫完。這樣,每個資料寫入的使能標識位在資料尚未寫入時必須處在使能狀態。而在寫入完成後必須退出使能狀態。
    2、由於寫入程式的觸發還有一個SM31.7作為判斷條件,按照程式的時序關系,前一個寫入程式被使能後,後面的寫入程式必然會被禁止,因此無需擔心寫入條件發生改變。
    3、在資料寫入被使能後及時退出本資料的寫入使能,避免下一個掃描周期被再次觸發。同時釋放寫入請求以使下一個資料的寫入請求能被回響。
    4、一般來說,寫EEPROM不是一件經常發生的事件,因此不必擔心兩個相鄰掃描周期內同一個寫入使能位被再次觸發。除非程式本身的編寫有誤。
    5、實常式序中用M0.0使能VD100的寫入,用M0.1使能VD104的寫入,M0.2同時使能上述兩個標識位(也可以在監控狀態下單獨使能某個位)。這裏我們討論兩個標識位同時被使能的情況。
    6、M0.0置位後,SM31.7=0,執行VD100的寫入程式;然後置位SM31.7,並立即復位M0.0。由於SM31.7被置位,即使M0.1也處於被使能狀態,在本次掃描周期內VD104的寫入請求被略過,而M0.1還保持使能狀態。
    7、在下一個掃描周期內,由於M0.0已經退出使能狀態,因此VD104的寫入請求將被回響。與M0.0一樣,寫入請求被回響後M0.1也立即退出使能狀態。
    8、這樣,在兩個掃描周期內兩個資料被寫入EEPROM。如果有更多的資料需要儲存,可以以此類推。
    9、檢驗本程式的方法:在系統塊中將V暫存器的掉電保持全部取消,可以看到重新上電後前一次寫入V暫存器的資料會丟失。此時用本程式儲存VD100和VD104,重新上電後可以看到這兩個暫存器內的資料依然存在。
    10、兩個被寫入的暫存器地址可以隨意改變,無所謂是否連續。
  • Tags:, , , , , , ,