질문게시판 > 압력센서에 따른 진동모터를 버튼으로 제어

TODAY2,688 TOTAL811,791
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 압력센서에 따른 진동모터를 버튼으로 제어

페이지 정보

작성자 유케이 작성일2018-11-07 16:21 조회1,037회 댓글5건

본문

	

안녕하세요 압력센서에 3분이상  데이터 입력이 없으면 진동이 출력되고  진동이 울릴때 버튼을 누르면 진동이 완전히 멈추고(제가 하는 코드는 누를때만 멈추고 다시 때면 진동이 울립니다. 그렇지않고 한번만 누르면 멈출수있도록) 버튼을 눌렀을때를 1로 누르지 않으면 0으로 계속해서 출력이 될 수 있도록 하는 코딩을 하는방법이 도저히 감이 안잡혀서 글을 올립니다 . 

 

void setup() {
  pinMode(11, OUTPUT);
   pinMode(8, INPUT);
   int i;
}

void loop() {
 


  if(digitalRead(8)==1) { //8번에 연결된 버튼이 눌리면  
   
  digitalWrite(11, LOW);    //진동이 멈춘다
  delay(100);
  }
  else {                    //버튼을 누르지 않으면
  digitalWrite(11, HIGH);   //진동이 생긴다.


  }
}

 

 

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 5

조회수 1,037

유케이님의 댓글

유케이 작성일

추가적으로  압력이 3분전에 입력이 될경우는 압력 값을 출력하고 싶습니다.
센서에 압력에 따른 데이터를 출력하는것과 진동을 버튼으로 제어하는 것은 모두 해보았는데 위의 설명처럼 할려고 하니 잘모르겠습니다.
 

master님의 댓글

master 댓글의 댓글 작성일

코드에 압력센서는 안보이는데요?

유케이님의 댓글

유케이 댓글의 댓글 작성일

#include <Phpoc.h>
#include <SPI.h>
#include <ThingSpeak.h>
#include <OneWire.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin = 10, TXPin = 11;
static const uint32_t SIOBaud = 9600;
static const uint32_t GPSBaud = 9600;

TinyGPSPlus gps;
SoftwareSerial ss(RXPin, TXPin);

PhpocClient client;

unsigned long myChannelNumber = 616998;
const char* myWriteAPIKey = "YSI1NAR6VG1C3655";

PhpocServer server(80);

int DS18S20_Pin = 2;
int SensorPin = A0;
OneWire ds(DS18S20_Pin);

void setup()
{
  Serial.begin(SIOBaud);
  ss.begin(GPSBaud);
  Serial.print(F("Latitude  Longitude  Date  ")); 
  Serial.begin(9600);
 
  while(!Serial);
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
  Serial.println("Phpoc test");
  Serial.println("");
  Phpoc.begin();
  ThingSpeak.begin(client);
}

void loop()
{
  static const double LONDON_LAT = 51.508131, LONDON_LON = -0.128002;
 
  printFloat(gps.location.lat(), gps.location.isValid(), 11, 6);
  printFloat(gps.location.lng(), gps.location.isValid(), 12, 6); 
  printDateTime(gps.date);

  unsigned long distanceKmToLondon =
  (unsigned long)TinyGPSPlus::distanceBetween(
      gps.location.lat(),
      gps.location.lng(),
      LONDON_LAT, 
      LONDON_LON) / 1000;
 
  double courseToLondon =
    TinyGPSPlus::courseTo(
      gps.location.lat(),
      gps.location.lng(),
      LONDON_LAT, 
      LONDON_LON);
     
      const char *cardinalToLondon = TinyGPSPlus::cardinal(courseToLondon);
     
      Serial.println();
 
      smartDelay(1000);
 
      if (millis() > 5000 && gps.charsProcessed() < 10)
      Serial.println(F("No GPS data received: check wiring"));     
 
  float temperature = getTemp();
  int SensorReading = analogRead(SensorPin);
  int mfsr_r18 = map(SensorReading, 0, 1024, 0, 255);

  Serial.println(temperature);
  Serial.println(mfsr_r18);

  ThingSpeak.setField(1,temperature);
  ThingSpeak.setField(2, mfsr_r18);
  ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
 
  delay(30000);
}

static void smartDelay(unsigned long ms)
{
  unsigned long start = millis();
  do 
  {
    while (ss.available())
      gps.encode(ss.read());
  } while (millis() - start < ms);
}
 
static void printFloat(float val, bool valid, int len, int prec)
{
  if (!valid)
  {
    Serial.print('*');
    Serial.print(' ');
  }
  else
  {
    Serial.print(val, prec);
    int vi = abs((int)val);
    int flen = prec + (val < 0.0 ? 2 : 1); // . and -
    flen += vi >= 1000 ? 4 : vi >= 100 ? 3 : vi >= 10 ? 2 : 1;
    for (int i=flen; i<len; ++i)
      Serial.print(' ');
  }
  smartDelay(0);
}
 
static void printDateTime(TinyGPSDate &d)
{
  if (!d.isValid())
  {  }
  else
  {
    char sz[32];
    sprintf(sz, "%02d/%02d/%02d ", d.month(), d.day(), d.year());
    Serial.print(sz);
  }
}

float getTemp() {
    byte data[12];
    byte addr[8];

    if ( !ds.search(addr)) {
      ds.reset_search();
      return -1000;
    }
    if ( OneWire::crc8( addr, 7) != addr[7]) {
      Serial.println("CRC is not valid!");
      return -1000;
    }
    if ( addr[0] != 0x10 && addr[0] != 0x28) {
        Serial.print("Device is not recognized");
        return -1000;
    }
    ds.reset();
    ds.select(addr);
    ds.write(0x44,1);

    delay(750);

    byte present = ds.reset();
    ds.select(addr);
    ds.write(0xBE);

    for (int i = 0; i < 9; i++) {
        data[i] = ds.read();
    }
    ds.reset_search();

    byte MSB = data[1];
    byte LSB = data[0];
    float tempRead = ((MSB << 8) | LSB);
    float TemperatureSum = tempRead / 16;

    return TemperatureSum;
}
현재 다음과같이 여러가지 센서를 통합적으로 사용중입니다 . 여기서 추가하고싶습니다

master님의 댓글

master 작성일

  int SensorReading=analogRead(SensorPin); 
  int mfsr_r18=map(SensorReading,0,1024,0,255); Serial.println(mfsr_r18);
압력센서가 이 코드죠?

유케이님의 댓글

유케이 작성일

네 맞습니다 ~~~~ㅎㅎ

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 999
공지 사이트 이용 안내댓글[10] master 17-10-29 8986
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [2013.02.07]댓글[1] 이미지첨부파일 master 18-01-23 3400
질문 질문 하나만 더하겠습니다!! 새글 Leos 11:58 5
질문 아두이노 자동차 소스 작성중 어려움이 있어 질문 드립니다. 새글 쿤싼 02:10 4
질문 atmega 128에서 인터럽트가 적용이 되질 않습니다. 새글 메가콜라 19-12-14 6
답변 답변글 답변 : atmega 128에서 인터럽트가 적용이 되질 않습니다.댓글[1] 새글 master 19-12-14 8
질문 온도센서 질문입니다.댓글[1] 새글 오기 19-12-14 10
질문 ATMEGA128 노래 속도 새글 Leos 19-12-14 13
답변 답변글 답변 : ATMEGA128 노래 속도 새글 master 19-12-14 10
질문 초기화 어떻게 하나요?댓글[2] 새글 끵끵끵 19-12-14 10
답변 답변글 답변 : 초기화 어떻게 하나요? 새글 master 19-12-14 2
질문 서보모터 이용 자율주행 관련 질문 klohs 19-12-13 10
답변 답변글 답변 : 서보모터 이용 자율주행 관련 질문 새글 master 19-12-13 10
질문 atmega128 / bldc모터 구동 질문입니다.댓글[1] 이미지첨부파일 조셉 19-12-13 15
질문 atmega128 lm35 질문입니다.댓글[3] 오기 19-12-12 20
질문 블루투스(HM-10) 비콘 관련 질문댓글[2] 으앙 19-12-12 14
질문 모터가 이상합니다.댓글[3] 첨부파일 이즈미 19-12-12 18
질문 아두이노 코딩 질문이요 나비힛 19-12-12 23
답변 답변글 답변 : 아두이노 코딩 질문이요 master 19-12-12 19
질문 앱인벤터에 값을 표기하는데 앞에 ( 가 붙는데 떼고 싶습니다. 이미지첨부파일 어려운AVR 19-12-11 10
답변 답변글 답변 : 앱인벤터에 값을 표기하는데 앞에 ( 가 붙는데 떼고 싶습니다.댓글[3] master 19-12-11 15
질문 아두이노 스텝모터 멈추기댓글[1] 이즈미 19-12-11 22
질문 avr atmega128 숫자야구게임댓글[1] 첨부파일 주냥몬 19-12-11 33
질문 블루투스 값이 변조가 됩니다댓글[3] 이미지첨부파일 어려운AVR 19-12-11 21
답변 답변글 답변 : 블루투스 값이 변조가 됩니다 master 19-12-11 16
질문 avr atmega128 숫자야구 게임만들기 주냥몬 19-12-11 20
질문 서보모터 각도 이용 거리 변수 지정댓글[1] klohs 19-12-11 22
질문 자이로센서로 리니어액추에이터 길이 조절하기댓글[2] ssnya 19-12-11 20
질문 AVR atmega128 블루투스모듈 hc-06 과 서보모터 sg90 코드의 잘못된 것좀 알려주세요 어려운AVR 19-12-11 18
게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2019
모바일버전으로보기