라즈베리파이 VR 코드
- 코딩/Raspberry Pi (c)
- 2019. 11. 21.
라즈베리파이 VR 코드 1
ADS SPEED SPI CS
#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiSPI.h>
#define CS_ADC 7
#define SPI_CHANNEL 0
#define SPI_SPEED 1000000
int adcRead(char adcChannel)
{
char buff[3];
int adcValue = 0;
buff[0] = 0x06 | ((adcChannel & 0x07)>>2);
buff[1] = ((adcChannel &0x07) <<6);
buff[2] = 0x00;
digitalWrite(CS_ADC, LOW);
wiringPiSPIDataRW(SPI_CHANNEL, buff, 3);
buff[1] = 0x0F & buff[1];
adcValue = (buff[1] <<8|buff[2]);
digitalWrite(CS_ADC,HIGH);
return adcValue;
}
int main(void)
{
int adcValue_VR = 0;
wiringPiSetupGpio();
if(wiringPiSPISetup(SPI_CHANNEL, SPI_SPEED) <0)
{
return -1;
}
pinMode(CS_ADC, OUTPUT);
while(1)
{
adcValue_VR = adcRead(1);
printf("VR = %u\n", adcValue_VR);
delay(1000);
}
return 0;
}
라즈베리파이 VR 코드 2
#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiSPI.h>
#include <softTone.h>
#define CS_ADC 7
#define SPI_CHANNEL 0
#define SPI_SPEED 1000000
const int pinPiezo = 13;
int adcRead(char adcChannel)
{
char buff[3];
int adcValue = 0;
buff[0] = 0x06 | ((adcChannel & 0x07)>>2);
buff[1] = ((adcChannel &0x07) <<6);
buff[2] = 0x00;
digitalWrite(CS_ADC, LOW);
wiringPiSPIDataRW(SPI_CHANNEL, buff, 3);
buff[1] = 0x0F & buff[1];
adcValue = (buff[1] <<8|buff[2]);
digitalWrite(CS_ADC,HIGH);
return adcValue;
}
int main(void)
{
int adcValue_VR = 0;
wiringPiSetupGpio();
if(wiringPiSPISetup(SPI_CHANNEL, SPI_SPEED) <0)
{
return -1;
}
pinMode(CS_ADC, OUTPUT);
softToneCreate(pinPiezo);
while(1)
{
adcValue_VR = adcRead(1);
printf("VR = %u\n", adcValue_VR);
softToneWrite(pinPiezo, adcValue_VR);
delay(1000);
}
return 0;
}
'코딩 > Raspberry Pi (c)' 카테고리의 다른 글
라즈베리파이 SOUND 소스코드 (0) | 2019.11.22 |
---|---|
라즈베리파이 소리(SOUND) 소스코드 (0) | 2019.11.22 |
라즈베리파이 EEPROM 메모리 사용하기 (0) | 2019.11.21 |
라즈베리파이 TEMP HUMI 온도 습도 코드 (0) | 2019.11.20 |
라즈베리파이 CDS 조도센서 코드 (0) | 2019.11.20 |