코코아에서 arduino로 정수를 전송할 수 있어야합니다.popen을 통해 정수를 보내는 방법은 무엇입니까?
문자를 전송하는 것은 쉽습니다. 즉, 한자리 숫자 정수를 전송하기가 쉽지만 두 자리 및 세 자리 정수를 보내는 방법을 찾지 못하는 것 같습니다.
이것의 목적은 지금까지 0에서 255
에 지속적으로 LED가 밝기를 제어하기 위해, 나는 다음과 같은 코드를 사용하여 ON과 OFF를 설정할 수 있습니다 중 하나입니다 : 그러나
int ledPin = 9; // LED connected to digital pin 9
int incomingByte = 0; // for incoming serial data
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
if(incomingByte == 105){ //105 corresponds to i and is programmed in cocoa to turn the LED on
digitalWrite(ledPin, HIGH);
}
else if(incomingByte == 111){ //111 corresponds to o and is programmed in cocoa to turn the LED on
digitalWrite(ledPin, LOW);
}
}
}
을 , 0에서 255 사이의 값을 설정하는 방법을 해결할 수 없습니다. 'digitalWrite'대신 'AnalogWrite'를 사용하지만 incomingByte를 0에서 255 사이의 값으로 보내는 방법을 모르겠습니다.
이것은 코코아 코드입니다 :
#import "MainController.h"
@implementation MainController
-(IBAction)ledOn:(id)sender{
popen("echo i > /dev/cu.usbmodem1411", "r");
}
-(IBAction)ledOff:(id)sender{
popen("echo o > /dev/cu.usbmodem1411", "r");
}
@end
감사합니다.