আমি এই ওয়েবসাইটে নির্দেশাবলী সফলভাবে অনুসরণ করেছি:
http://www.doctormonk.com/2012/04/raspberry-pi-and-arduino.html
এবং আমি পাই এবং আমার অরুডিনো মেগার মধ্যে ওয়েবসাইটটি নির্দিষ্ট করে বলে যোগাযোগ করতে সক্ষম হয়েছিল।
যাইহোক, এলইডি জ্বলজ্বলকারী সংখ্যার প্রতিনিধিত্ব করে কোনও পূর্ণসংখ্যার প্রেরণ না করে আমি ASCII পাঠ্যটি পাঠাতে চাই:
পাই থেকে আরডুইনোতে "5 টি মিটার ফরওয়ার্ড মুভ করুন", "বাঁদিকে বাঁক", "10 মিটার ব্যাকওয়ার্ড মুভ করুন"।
আমি নিম্নলিখিত কোডটি লিখেছি:
char inData[64];
char inChar=-1;
void setup(){
Serial.begin(9600);
Serial.begin("Waiting for Raspberry Pi to send a signal...\n");
}
void loop(){
byte numBytesAvailable= Serial.available();
// if there is something to read
if (numBytesAvailable > 0){
// store everything into "inData"
int i;
for (i=0;i<numBytesAvailable;i++){
inChar= Serial.read();
inData[i] = inChar;
}
inData[i] = '\0';
Serial.print("Arduino Received: ");
Serial.println(inData);
}
}
আমি আমার আরডুইনো মেগা 2560 তে সফলতার সাথে কোডের উপরে ফ্ল্যাশ করেছি।
আমি আমার অজগর টার্মিনালটিতে রাস্পবেরি পাই এবং যে কনসোলে টাইপ করেছি তা স্যুইচ করেছি:
import serial
ser = serial.Serial('/dev/ttyACM1',9600)
ser.write("MOVE")
আমার আরডুইনোর সিরিয়াল মনিটরে যা প্রদর্শিত হবে তা নিম্নরূপ:
Arduino Received: M
Arduino Received: O
Arduino Received: V
Arduino Received: E
তবে আমি যা চাই তা হ'ল:
Arduino Received: MOVE
ইনটাটা বাফারে সমস্ত অক্ষর পেতে আমি কীভাবে উপরের কোডটি পরিবর্তন করব?