ผู้อ่านรู้ว่าแมวมอง - อุปมาของผู้บุกเบิกของเรา แต่ปรากฎว่ายังมีลูก - analogues ของเดือนตุลาคมของเรา ยอมรับในพวกเขาตั้งแต่อายุห้าขวบ ลูกชายของผู้แต่ง Instructsbles ภายใต้ชื่อเล่น mr_fid ได้ถูกนำไปใช้แล้วและเขาจะต้องเข้าร่วมกิจกรรมสำคัญสำหรับรถแท็กซี่และลูกเสือซึ่งหนึ่งในนั้นจะเป็นรหัสมอร์ส เพื่อให้เด็กสนใจนายจึงให้ของเล่นที่ผิดปกติกับเขา
มันถูกดำเนินการใน
Arduino นาโนและสร้างเอาต์พุต 12 คำที่แตกต่างกันไปยังเครื่องส่งเสียงบี๊บพร้อมเครื่องกำเนิดไฟฟ้าในตัว (สลับได้โดยสวิตช์เชิงกล) และ LED RGB รอบสามารถปรับได้ระหว่าง 100 ถึง 1100 มิลลิวินาที ในการสลับคำจะมีการเปลี่ยนทิงเกอร์ การออกแบบนั้นใช้พลังงานจากแบตเตอรี่ลิเธียมโพลีเมอร์ 1,000 mAh คอนโทรลเลอร์ควบคุมการประจุไฟในตัว แต่นี่มันยังไม่:
Mr_fid ขอบคุณ Simon Monk สำหรับหนังสือ Arduino Programming ซึ่งเขาซื้อเมื่อหลายปีก่อน ในการวาดภาพร่างเขาพึ่งพาตัวอย่างจากหนังสือเล่มนี้
เริ่มทำงาน
homebrew กิ่งอาจารย์รู้รหัสมอร์สเท่านั้นว่ามีสัญญาณ SOS ฉันต้องเรียนรู้ของวัสดุและพบว่าประเด็นคือหนึ่งการวัดประคือสามช่วงเวลาระหว่างตัวละครในจดหมายเป็นหนึ่งการวัดระหว่างตัวอักษรคือสามระหว่างคำที่เจ็ด
เมื่อทำเครื่องหมายพลาสติก mr_fid ให้ใช้เทปกาว ด้วยสิ่งนี้ร่องรอยของเครื่องหมายจะเห็นได้ดีกว่าถ้าพลาสติกมีสีเข้ม นอกจากนี้เทปกาวนี้เป็นแบบด้านและสว่านไม่ลื่นเมื่อ "เล็ง"
มีความจำเป็นต้องประเมินล่วงหน้าว่าส่วนประกอบใดของโครงสร้างจะอยู่ในตำแหน่งนั้นเพื่อให้พอดีกับทุกสิ่งและไม่มีส่วนประกอบใดชิ้นหนึ่งสัมผัสกับเพื่อนบ้านซึ่งรวมถึงชิ้นส่วนที่ยื่นออกมา Mr_fid ยังไม่ลืมอะไรนอกจาก ... แบตเตอรี่ กรณีนี้ค่อนข้างกว้างขวางแล้วก็เป็นที่สำหรับพบ ในระหว่างนี้ ...
แม้ว่าอาจารย์จะมีสว่านขนาดเล็กถึงแม้ว่าเขาจะใช้ขั้นตอนการเจาะเพื่อความสะดวก แต่ก็เป็น "ก้างปลา" หรือ "แครอท"
เมื่อเพลาสวิทช์ลูกบิดถูกหมุนด้วยมือจับสวิทช์เองจะต้องอยู่กับที่ สำหรับสิ่งนี้นอกเหนือจากเพลาด้านหน้าแล้วยังมีหมุดเล็ก ๆ ที่ต้องใช้รูเพิ่มเติมบนแผงด้านหน้า
ดังนั้น mr_fid แรกเจาะรูสำหรับเพลาแล้วติดเทปกาวที่ด้านหลังใส่ประแจสวิทช์เข้าที่แล้วกดมัน หมุดเหลือเครื่องหมายบนเทปกาวมันยังคงเจาะรูตรงนั้น
รูปแบบโดยไม่คำนึงถึงแบตเตอรี่ตัวควบคุมการชาร์จและตัวแปลงมีลักษณะดังนี้:
บนแผงด้านหน้าที่มีสวิตช์บิสกิตและตัวต้านทานตัวแปรตั้งอยู่มาสเตอร์จะรวมข้อสรุปของส่วนประกอบเหล่านี้ที่เชื่อมต่อกับจุดเดียวกันของวงจรในกรณี (ในกรณีนี้คือบวกและสายสามัญ) เรื่องนี้ได้รับอนุญาตเพียงสี่สายจะถูกดึงระหว่างแผงด้านหน้าและที่อยู่อาศัย
สวิทช์ประแจยังเปลี่ยนเป็นตัวต้านทานชนิดแปรผันเพียงขั้นตอนเดียวซึ่งตัวต้านทาน 11 ตัวต่อ 1 kOhm จะถูกบัดกรีด้วยดังที่แสดงในรูปถ่าย Arduino กำหนดตำแหน่งของมันด้วยแรงดันไฟฟ้าการเปลี่ยนแปลงแบบขั้นตอนซึ่งหนึ่งอินพุตแบบอะนาล็อกก็เพียงพอ
ขนาดใหญ่:
ในการควบคุมไฟ LED RGB mr_fid เลือกหมุด Arduino ที่มีหมายเลข 9, 10 และ 11 นี่คือเอาต์พุต PWM ซึ่งในเฟิร์มแวร์ถัดไปจะทำให้สามารถรับบิตต่อสีได้มากกว่าสาม
เขาเชื่อมต่อสายบวกและสายสามัญในขั้วกลับขั้วกับตัวต้านทานผันแปรเพื่อให้ตำแหน่งขั้นต่ำสอดคล้องกับวัฏจักรของระยะเวลาสูงสุดนั่นคือความเร็วขั้นต่ำ
ตัวอย่างจากหนังสือเรียนของ Simon Monk นั้นเรียบง่ายและใช้งานได้ง่าย: นำข้อมูลเข้ามาผ่านพอร์ตอนุกรมและแปลเป็นรหัสมอร์สด้วยวงจรนาฬิกา 200 มิลลิวินาที ฟังก์ชั่นเพิ่มเติมที่เพิ่มเข้ามาโดยตัวช่วยสร้างช่วยให้สามารถปรับระยะเวลาขึ้นอยู่กับแรงดันไฟฟ้าที่มาจากเครื่องยนต์ตัวต้านทานตัวแปรเช่นเดียวกับการปฏิเสธพอร์ตอนุกรมเพื่อการจัดเก็บคำศัพท์ 12 แบบที่เลือกโดยสวิตช์หมุน เพิ่มรูทีนสำหรับควบคุมปุ่มสลับโหมด RGB-LED ด้วยและด้วยทวีตเตอร์ที่มีเครื่องกำเนิดไฟฟ้าในตัวโปรแกรมสามารถควบคุมได้ในตอนแรก
เมื่อการเขียนโปรแกรม Arduino, mr_fid ลืมไปอย่างสมบูรณ์ว่าของเล่นต้องได้รับอาหารจากบางสิ่งเพราะบอร์ดได้รับการขับเคลื่อนจาก USB ตลอดเวลา เมื่อเขาจำได้ความคิดแรกคือพลังทั้งหมดจาก“ โครนา” ผ่านโคลง แต่มันไม่พอดีและในตอนแรกอาจารย์ต้องการวางไว้ด้านนอก แต่แล้วตัดสินใจใช้แบตเตอรี่ลิเธียมโพลีเมอร์บาง ๆ ที่มี 3.7 V และ 1,000 mAh
ด้วยแบตเตอรี่ที่ชาร์จใหม่แรงดันไฟฟ้าถึง 4.2 V ซึ่งเพียงพอสำหรับคริสตัลทั้งหมดของ LED RGB รวมถึงสีน้ำเงิน แต่เมื่อปล่อยประจุออกมาจะลดลงและถึง 3.3 V ก็เพียงพอความสว่างของแสงสีน้ำเงินก็ลดลงอย่างมาก ฉันต้องใช้ตัวเพิ่มความเสถียรที่มีโวลต์ห้าตัวที่เอาต์พุต และเพื่อไม่ให้ถอดแบตเตอรี่ออกจากเคสเมื่อทำการชาร์จผู้เขียนได้เพิ่มตัวควบคุมการประจุและสวิตช์การสลับแบบสองขั้วที่เชื่อมต่อแบตเตอรี่กับขั้วทั้งสองไปยัง Arduino หรือตัวควบคุมนี้ ตอนนี้คุณสามารถชาร์จของเล่นจาก USB
เขาเชื่อมต่อสิ่งนี้เข้าด้วยกันในลักษณะที่ไม่ลืมขั้วและป้องกันการลัดวงจร:
โดยการเปลี่ยนตำแหน่งของสวิตช์บิสกิตคุณสามารถเลือกรหัสมอร์สสำหรับชุดตัวอักษรต่อไปนี้: HHH (หนึ่งจุด), OOO (หนึ่งขีด), แมว (แมว), สุนัข (สุนัข), ANT (มด), แมลงวัน (หนู), นกฮูก (นกฮูก), หมู (หมู), ไก่ (ไก่), สุนัขจิ้งจอก (จิ้งจอก) และนกอีมู (นกอีมู) ปุ่มอนุญาตให้คุณสลับโหมดการทำงานของไฟ LED RGB บนวงแหวน: สีคงที่ - สีแดง, สีฟ้า, สีเขียว, สีฟ้า - เขียว, สีเหลือง, ราสเบอร์รี่, สีขาว, รวมถึงจุดสีแดงและเส้นประสีเขียวเปลี่ยนสีหลังจากแต่ละคำ .
ใน Arduino mr_fid อัปโหลดภาพร่างดังกล่าว:int dotDelay = 200;
int ledPinRed = 11; // red
int ledPinBlue = 10; // สีน้ำเงิน
int ledPinGreen = 9; // สีเขียว
int oldAI = 15;
แพท int;
int i = 1;
int j = 0;
bool toggle = false;
ปุ่ม int = 8;
int buzzer = 7;
int ธง = 1;
int selectWord;
สัตว์ int = 1;
int potValue = 0;
int maxVoltageBits = 1023;
int dividBits = maxVoltageBits / 22;
const int pot = A4;
const int rotaryInput = A5;
ถ่าน;
ถ่าน * ตัวอักษร [] = {
".-", "-... ", "-.-.", "- .. ", ".", "..-.", "-.", ".... ", ".... ", " .. ",
".---", "-.-", ".- .. ", "-", "-", "---", "---", "-", "-", ".-."
"... ", "-", "..-", "...-", ".--", "-..-", "-.--", "-", "- .. "} ;
ถ่าน * หมายเลข [] = {
"-----", ".----", "..---", "... -", "....-"
"..... ", "-.... ", "--... ", "--- .. ", "----."};
ถ่าน * animals3 = "hhhooocatdogantflyratowlpighenfoxemu";
การตั้งค่าเป็นโมฆะ ()
{
pinMode (ledPinBlue, OUTPUT);
pinMode (ledPinRed, OUTPUT);
pinMode (ledPinGreen, OUTPUT);
pinMode (pot, INPUT);
pinMode (rotaryInput, INPUT);
pinMode (ปุ่ม INPUT);
pinMode (ออดสัญญาณออก);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinBlue สูง);
digitalWrite (ledPinGreen, สูง);
digitalWrite (ledPinRed, LOW);
ล่าช้า (500);
digitalWrite (ledPinRed, สูง);
ล่าช้า (100);
digitalWrite (ledPinBlue, LOW);
ล่าช้า (500);
digitalWrite (ledPinBlue สูง);
ล่าช้า (100);
digitalWrite (ledPinGreen, LOW);
ล่าช้า (500);
digitalWrite (ledPinGreen, สูง);
ล่าช้า (100);
digitalWrite (ออด, สูง);
ล่าช้า (100);
digitalWrite (เสียงสัญญาณ, ต่ำ);
int buttonValue = digitalRead (ปุ่ม);
if (buttonValue == 1)
{
selectWord = analogRead (rotaryInput);
selectorSwitch1 (selectWord);
}
อื่น
{
ธง = 1;
}
}
เป็นโมฆะห่วง ()
{
wait_for_enter ();
selectWord = analogRead (rotaryInput);
selectorSwitch (selectWord);
potValue = analogRead (pot);
dotDelay = potValue + 100;
i = (สัตว์ * 3) -3;
ในขณะที่ (j & lt; 3)
{
ch = animals3 [i];
if (ch & gt; = 'a' && ch & lt; = 'z')
{
flashSequence (ตัวอักษร [ch - 'a']);
}
อื่นถ้า (ch & gt; = '0' && ch & lt; = '9')
{
flashSequence (ตัวอักษร [ch - '0']);
}
อื่นถ้า (ch == '')
{
ล่าช้า (dotDelay * 7);
}
i = i + 1;
j = j + 1;
}
ล่าช้า (dotDelay * 7);
// toggle =! toggle; // สลับสีทุกคำ (ไม่จำเป็น)
j คือ 0;
}
เป็นโมฆะ wait_for_enter ()
{
int buttonValue = digitalRead (ปุ่ม);
ในขณะที่ (buttonValue == 0)
{
buttonValue = digitalRead (ปุ่ม);
}
}
เป็นโมฆะ flashSequence (ลำดับถ่าน *)
{
int k = 0;
ในขณะที่ (ลำดับ [k]! = '\ 0')
{
flashDotOrDash (ลำดับ [k]);
k = k + 1;
}
//Serial.print ("");
ล่าช้า (dotDelay * 3);
toggle =! toggle; // toggle ตัวอักษรสี beween
}
ถือเป็นโมฆะ flashDotOrDash (ถ่าน dotOrDash)
{
if (dotOrDash == '.')
{
if (flag == 1)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
}
อื่นถ้า (ธง == 2)
{
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinBlue สูง);
}
อื่นถ้า (ธง == 3)
{
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinGreen, สูง);
}
อื่นถ้า (ธง == 4)
{
digitalWrite (ledPinGreen, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinGreen, สูง);
digitalWrite (ledPinBlue สูง);
}
ถ้าอื่น (flag == 5)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinGreen, สูง);
}
ถ้าอื่น (flag == 6)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinBlue สูง);
}
อื่นถ้า (ธง == 7)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinBlue สูง);
digitalWrite (ledPinGreen, สูง);
}
ถ้าอื่น (flag == 8)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
}
อื่นถ้า (ธง == 9)
{
if (toggle! = 0)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
}
อื่น
{
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ความล่าช้า (dotDelay);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinBlue สูง);
}
}
}
อื่น
{
if (flag == 1)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
}
อื่นถ้า (ธง == 2)
{
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinBlue สูง);
}
อื่นถ้า (ธง == 3)
{
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinGreen, สูง);
}
อื่นถ้า (ธง == 4)
{
digitalWrite (ledPinGreen, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinGreen, สูง);
digitalWrite (ledPinBlue สูง);
}
ถ้าอื่น (flag == 5)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinGreen, สูง);
}
ถ้าอื่น (flag == 6)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinBlue สูง);
}
อื่นถ้า (ธง == 7)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinBlue, LOW);
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
digitalWrite (ledPinBlue สูง);
digitalWrite (ledPinGreen, สูง);
}
ถ้าอื่น (flag == 8)
{
digitalWrite (ledPinGreen, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinGreen, สูง);
}
อื่นถ้า (ธง == 9)
{
if (toggle! = 0)
{
digitalWrite (ledPinRed, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinRed, สูง);
}
อื่น
{
digitalWrite (ledPinBlue, LOW);
digitalWrite (ออด, สูง);
ล่าช้า (dotDelay * 3);
digitalWrite (เสียงสัญญาณ, ต่ำ);
digitalWrite (ledPinBlue สูง);
}
}
}
ล่าช้า (dotDelay); // ระหว่างตัวอักษร
// toggle =! toggle; // toggle ระหว่าง caractors
}
เป็นโมฆะ selectorSwitch1 (int AI)
{
ถ้า ((AI & gt; (oldAI + 10)) || (AI & lt; (oldAI - 10))) // ดูว่ามีการเปลี่ยนแปลงค่าหรือไม่
{
ถ้า (AI & gt; 11 * หารบิต) // ต้องเป็น 7,8,9,10,11,12
{
if (AI & gt; 17 * dividBits) // ต้องเป็น 10,11,12
{
if (AI & gt; 21 * dividBits) // ต้องเป็น 12
{
ธง = 12;
}
อื่น // ต้องเป็น 10.11 อย่างใดอย่างหนึ่ง
{
if (AI & gt; 19 * dividBits) // ต้องเป็น 11
{
ธง = 11;
}
อื่น // ต้องเป็น 10
{
ธง = 10;
}
}
}
อื่น // ต้องเป็น 7,8,9
{
if (AI & gt; 15 * dividBits) // ต้องเป็น 9
{
ธง = 9;
}
อื่น // ต้องเป็น 7.8
{
if (AI & gt; 13 * dividBits) // ต้องเป็น 8
{
ธง = 8;
}
อื่น // ต้องเป็น 7
{
ธง = 7;
}
}
}
}
อื่น // ต้องเป็น 1,2,3,4,5,6
{
if (AI & gt; 5 * dividBits) // ต้องเป็น 4,5,6
{
if (AI & gt; 9 * dividBits) // ต้องเป็น 6
{
ธง = 6;
}
อื่น // ต้องเป็น 4,5
{
if (AI & gt; 7 * dividBits) // ต้องเป็น 5
{
ธง = 5;
}
อื่น // ต้องเป็น 4
{
ธง = 4;
}
}
}
อื่น // ต้องเป็น 1,2,3
{
if (AI & gt; 3 * dividBits) // ต้องเป็น 3
{
ธง = 3;
}
อื่น // ต้องเป็น 1,2
{
if (AI & gt; dividBits) // ต้องเป็น 2
{
ธง = 2;
}
อื่น // ต้องเป็น 1
{
ธง = 1;
}
}
}
}
}
oldAI = AI;
// ล่าช้า (500);
//Serial.println ();
}
โมฆะ selectorSwitch (int AI)
{
ถ้า ((AI & gt; (oldAI + 10)) || (AI & lt; (oldAI - 10))) // ดูว่ามีการเปลี่ยนแปลงค่าหรือไม่
{
ถ้า (AI & gt; 11 * หารบิต) // ต้องเป็น 7,8,9,10,11,12
{
if (AI & gt; 17 * dividBits) // ต้องเป็น 10,11,12
{
if (AI & gt; 21 * dividBits) // ต้องเป็น 12
{
สัตว์ = 12;
}
อื่น // ต้องเป็น 10.11 อย่างใดอย่างหนึ่ง
{
if (AI & gt; 19 * dividBits) // ต้องเป็น 11
{
สัตว์ = 11;
}
อื่น // ต้องเป็น 10
{
สัตว์ = 10;
}
}
}
อื่น // ต้องเป็น 7,8,9
{
if (AI & gt; 15 * dividBits) // ต้องเป็น 9
{
สัตว์ = 9;
}
อื่น // ต้องเป็น 7.8
{
if (AI & gt; 13 * dividBits) // ต้องเป็น 8
{
สัตว์ = 8;
}
อื่น // ต้องเป็น 7
{
สัตว์ = 7;
}
}
}
}
อื่น // ต้องเป็น 1,2,3,4,5,6
{
if (AI & gt; 5 * dividBits) // ต้องเป็น 4,5,6
{
if (AI & gt; 9 * dividBits) // ต้องเป็น 6
{
สัตว์ = 6;
}
อื่น // ต้องเป็น 4,5
{
if (AI & gt; 7 * dividBits) // ต้องเป็น 5
{
สัตว์ = 5;
}
อื่น // ต้องเป็น 4
{
สัตว์ = 4;
}
}
}
อื่น // ต้องเป็น 1,2,3
{
if (AI & gt; 3 * dividBits) // ต้องเป็น 3
{
สัตว์ = 3;
}
อื่น // ต้องเป็น 1,2
{
if (AI & gt; dividBits) // ต้องเป็น 2
{
สัตว์ = 2;
}
อื่น // ต้องเป็น 1
{
สัตว์ = 1;
}
}
}
}
}
oldAI = AI;
// ล่าช้า (500);
//Serial.println ();
}
หากคุณทำซ้ำหลังจากที่อาจารย์ตอนนี้อยู่ในมือของคุณเป็นของเล่นเดียวกันกับที่คุณสามารถสนใจลูก ๆ ของคุณในรหัสมอร์ส และเมื่อพวกเขาเติบโตขึ้นด้วยการสร้างเฟิร์มแวร์อย่างง่ายคุณจะได้รับพื้นฐานสำหรับ "สุนัขจิ้งจอก" มาตรฐานอัตโนมัติส่งสัญญาณตัวเลือกของ MOE, MOI, MOS, MOH หรือ MO5 เปิดเป็นเวลาหนึ่งนาทีทุกสี่นาที
ป.ล. โดยเฉพาะอย่างยิ่งสำหรับคนที่น่าเบื่อที่พบความผิดกับพาดหัว: สัตว์เป็นชื่อที่รวมกันสำหรับสัตว์นกและแมลง