Очень часто на Arduino для тестирования аналоговых портов приходится подключать осциллограф для проверки , а его как назло нет под рукой, вот и написал программу осциллографа, теперь при помощи Arduino можно измерять аналоговый сигнал с частотой от 0 до 5000 Гц . В автомобиле можно мерять показания кислородного датчика , импульсы тахометра, форсунки и многое другое .
Скачать программу .
Код для Ардуино:
	PHP код:
	
//oscilloscope 
//http://compcar.ru  
byte head[3]={170,204,195};
byte MyBuff[800]; 
unsigned int i=0; 
void setup()   
{  
Serial.begin(115200);   
}   
void loop()   
{   
  for (i=0;  i < 800; i++)   
  {   
   MyBuff[i] = analogRead(0)/4;  
  } 
    Serial.write(head,3);
    Serial.write(MyBuff,800); 
} 
 
Новая версия скетча Осциллографа, увеличилась предельно измеряемая частота до 50000Гц 
Требуется установка библиотеки CyberLib
	PHP код:
	
//oscilloscope  
//http://duino.ru  
//Для измерений используется вход А0
#include <CyberLib.h> 
uint8_t MyBuff[803];  
volatile uint16_t i=3; 
void setup()    
{   
   MyBuff[0]=170; 
   MyBuff[1]=204;
   MyBuff[2]=195; 
   UART_Init(115200);
   ADCSRA=(1<<ADEN)|(1<<ADIE)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS0);  
   ADMUX=(1<<ADLAR)|(1<<REFS0);       
}  
void loop(){} 
ISR(ADC_vect)  
{  
    MyBuff[i] = ADCH; 
    i++; 
  if(i==803)  
      { 
        UART_SendArray(MyBuff, sizeof(MyBuff));  
        i=3; 
      }    
} 
 Изменился функционал и дизайн программы.
Большое спасибо XsanderS за помошь в создании программы и дизайна