На данный момент я создаю приложение iOS, которое визуализирует статус порта arduino. Поэтому iPad получает информацию через Serial Cable от Arduino. Arduino отправляет каждые 100 мс пакет с текущим статусом порта. Этот статус отображается на iPad. Порты ввода портов. Я узнал, что устройство, которое я читаю, пульсирует порты, поэтому Arduino читает высокий низкий уровень чередования. Это создает мерцание в визуализации. Теперь я задаю вопрос, как определить уровень вверх или вход мерцает. Порт высок в течение x секунд, который становится низким в течение секунд, и после этого он повторяется. Если порт за два секунды меньше, мне нужно установить порт как низкий в визуализации. В противном случае он высок.определить импульсный объектив c
- (void) readBytesAvailable:(UInt32)numBytes {
int bytesRead = [manager read:rxBuffer Length:numBytes];
if(rxBuffer[i]==48){
[self setButtonRed];
}else if(rxBuffer[i]==49){
[self setButtonWhite]
}
}
https://www.dropbox.com/s/bhy5lbm8lkdhnoy/3wire.png?dl=0
Так у вас есть «мерцание», потому что у вас есть плавающие входы? Ну, ИМХО лучшее решение .. Не оставляйте их плавающими. Используйте либо большой (например, 100 кОм) pullup, либо pulldown. Затем реализуйте своеобразное дебютирование непосредственно в коде arduino, поэтому показания будут более «стабильными». – frarugi87
мерцание связано с тем, что устройство, которое я читаю, меняет выходной порт на входной порт для чтения в состоянии кнопки, которое подключено к тому же порту. Существует светодиод и кнопка, связанная с технологией, называется трехпроводной. https://www.dropbox.com/s/bhy5lbm8lkdhnoy/3wire.png?dl=0 –
Я использую оптрон для считывания состояния строк от десяти до одного. Оптопара подключена параллельно –