魔法車左右閃避記憶功能~~
老師請問一下~車子可以撰寫成記憶功能的程式麻?就像是走迷宮一樣,但不用很複雜,能走出簡單的迷宮。 那就要看你的迷宮簡單的程度囉,簡單的迷宮用數位邏輯閘IC組合就能解出,不簡單的就需要微處理機用程式規劃比較適用。當然,使用足夠的感測器也能讓機器人加速解出迷宮喔。 老師您好~
是這樣子的,因為我們希望做出有記憶功能的魔法車子,那目前車子功能我們是用聲控去控制繼電器開關,也能左右閃避,
只是記憶功能這部份我們不知道如何下手,我們是希望透過IC來寫程式去規劃,麻煩老師多給我們指教^^
(目前設備有4條紅外線) student 發表於 2011-10-26 01:18 static/image/common/back.gif
老師您好~
是這樣子的,因為我們希望做出有記憶功能的魔法車子,那目前車子功能我們是用聲控去控制繼電器開關 ...
可以參考這個看看 請教周老師:
謝謝老師提供的資料,可以請教老師有關於程式的部分該如何下手麻?
本帖最後由 student 於 2011-12-10 13:24 編輯
老師請問一下~
該如何宣告一個變數?因為我想要藉變數的值經由push 呼叫副程式 把值帶進去到陣列裡。
student 發表於 2011-12-10 13:22 static/image/common/back.gif
老師請問一下~
該如何宣告一個變數?因為我想要藉變數的值經由push 呼叫副 ...
最簡單的方法是宣告兩個全域變數,一個當堆疊指標,另一個宣告成陣列來存資料,不過你用是那一種晶片及語言呢? 老師是這樣子的~
目前我要宣告一個變數sum 來當坐陣列存放資料
{
if (P1_3==1); //紅外線右側感測到東西
sum=1;
push(sum);
}else{
if (P1_4==1);//紅外線左側感測到東西
sum=2;
push(sum);
}
功能是 左轉存入資料 1右轉存入資料2
但sum 我打成void int( unsigned sum ); 這部分我知道錯誤 但不知怎宣告
我是用AT89c4051使用keil_c語言
麻煩老師指點~謝謝 student 發表於 2011-12-12 15:50 static/image/common/back.gif
老師是這樣子的~
目前我要宣告一個變數sum 來當坐陣列存放資料
...
C語言我用得不多,但找到一篇文章,你可以參考看看:
PUSH and POP in Keil C
謝老師的分享~
但組合語言比較沒什麼接觸,不懂其中涵義,那老師您之前提到的"宣告兩個全域變數",該如何去宣告呢??
student 發表於 2011-12-14 14:10 static/image/common/back.gif
謝老師的分享~
但組合語言比較沒什麼接觸,不懂其中涵義,那老師您之前提到的"宣告兩個 ...
因為C語言我用得不多,建議你從C語言基本概念中的變數的宣告及變數的生命週期再複習一次吧! 周老師您好
在使用自走車上有遇到一個問題想詢問老師幫忙解決,以下是我們的程式碼,程式run是對的都沒有出現錯誤,但是有時候在自走車偵測到障礙物時候,relay會因為偵測到障礙物而發出連續好幾聲的聲響,然後就斷電了,必須要再次聽到聲音,車子才會啟動,可是正常應該是不會這樣子,是紅外線偵測太敏感麻?還是其他因素,尋求黃教授的幫忙~謝謝您。
#include <AT89x051.h>
void delay(unsigned char tmp); //宣告延時函數
void main(void) //主程式開始
{
P3_0=1; //啟始輸入功能
P1_2=0; //關閉繼電器
while(1) //無限循環
{
if ((P1_3==0) && (P1_1==1))//右前方無障礙物 或 右下有障礙
{
P1_4=0; //左輪前進
} else {
P1_4=1; //左輪反轉
}
if ((P1_5==0) && (P3_7==1))//左前方無障礙物或 左下有障礙
{
P1_6=0; //右輪前進
}else {
P1_6=1; //右輪反轉
}
P1_7=~P1_2;//LED顯示繼電器狀態
if(P3_0==0) //當有聲音時
{
P1_2=~P1_2; //繼電器 on-off 切換
delay(10); //等待一段時間
}
}
}
void delay(unsigned char tmp) //延時函數
{ //改變參數大小,可調整時間
unsigned char i,j; //宣告使用到的變數
i=tmp; //把呼叫程式式中的參數指定給變數i
while(i) //只要i不為0,
{ //就執行{...}中的指令
i--; //把i值減1
j=255; // <-+
while(j) // |
{ // 用j值讓程式執行256次的迴圈,到延時效果
j--; // |
} // <-+
}
}
頁:
[1]