<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Code arduino by Ihere Iheremak</title>
      <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2025-07-03 08:59:19 UTC</pubDate>
      <lastBuildDate>2025-09-17 07:03:35 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>7 segment abc</title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3509508213</link>
         <description><![CDATA[<p>import controlP5.*;</p><p>import processing.serial.*;</p><p>import cc.arduino.*;</p><p>import ddf.minim.*;</p><p>ControlP5 cp5;</p><p>Arduino arduino;</p><p>Minim minim;</p><p>AudioPlayer[] sounds = new AudioPlayer[10];</p><p>int a=2, b=3, c=4, d=5, e=6, f=7, g=8, dp=9;</p><p>int buttonPin = 12;</p><p>int count = 1;</p><p>boolean lastButtonState = false;</p><p>void setup() {</p><p>  size(300, 400);</p><p>  cp5 = new ControlP5(this);</p><p>  cp5.addButton("RESET").setPosition(100, 350).setSize(100, 30);</p><p>  arduino = new Arduino(this, "COM11", 57600);</p><p>  int[] pins = {a, b, c, d, e, f, g, dp};</p><p>  for (int i = 0; i &lt; pins.length; i++) {</p><p>    arduino.pinMode(pins[i], Arduino.OUTPUT);</p><p>    arduino.digitalWrite(pins[i], Arduino.HIGH);</p><p>  }</p><p>  arduino.pinMode(buttonPin, Arduino.INPUT);</p><p>  minim = new Minim(this);</p><p>  for (int i = 1; i &lt;= 9; i++) {</p><p>    sounds[i] = minim.loadFile("t" + i + ".mp3");</p><p>  }</p><p>  showDigit(count);</p><p>}</p><p>void draw() {</p><p>  boolean buttonState = arduino.digitalRead(buttonPin) == Arduino.HIGH;</p><p>  if (buttonState &amp;&amp; !lastButtonState) {</p><p>    count++;</p><p>    if (count &gt; 9) count = 1;</p><p>    showDigit(count);</p><p>    if (sounds[count] != null) {</p><p>      sounds[count].rewind();</p><p>      sounds[count].play();</p><p>    }</p><p>    delay(300);</p><p>  }</p><p>  lastButtonState = buttonState;</p><p>}</p><p>void controlEvent(ControlEvent theEvent) {</p><p>  if (theEvent.getController().getName().equals("RESET")) {</p><p>    count = 1;</p><p>    showDigit(count);</p><p>  }</p><p>}</p><p>void showDigit(int num) {</p><p>  switch (num) {</p><p>    case 1: showChar(false,true,true,false,false,false,false); break;</p><p>    case 2: showChar(true,true,false,true,true,false,true); break;</p><p>    case 3: showChar(true,true,true,true,false,false,true); break;</p><p>    case 4: showChar(false,true,true,false,false,true,true); break;</p><p>    case 5: showChar(true,false,true,true,false,true,true); break;</p><p>    case 6: showChar(true,false,true,true,true,true,true); break;</p><p>    case 7: showChar(true,true,true,false,false,false,false); break;</p><p>    case 8: showChar(true,true,true,true,true,true,true); break;</p><p>    case 9: showChar(true,true,true,true,false,true,true); break;</p><p>    default: showChar(false,false,false,false,false,false,false); break;</p><p>  }</p><p>}</p><p>void showChar(boolean aS, boolean bS, boolean cS, boolean dS, boolean eS, boolean fS, boolean gS) {</p><p>  arduino.digitalWrite(a, aS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(b, bS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(c, cS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(d, dS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(e, eS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(f, fS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(g, gS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(dp, Arduino.HIGH);</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-03 08:59:36 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3509508213</guid>
      </item>
      <item>
         <title>7 segment 1-9</title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3509508278</link>
         <description><![CDATA[<p>import controlP5.*;</p><p>import processing.serial.*;</p><p>import cc.arduino.*;</p><p>import ddf.minim.*;</p><p>ControlP5 cp5;</p><p>Arduino arduino;</p><p>Minim minim;</p><p>AudioPlayer[] sounds = new AudioPlayer[10];</p><p>int a = 2, b = 3, c = 4, d = 5, e = 6, f = 7, g = 8, dp = 9;</p><p>int count = 1;</p><p>void setup() {</p><p>  size(300, 400);</p><p>  cp5 = new ControlP5(this);</p><p>  cp5.addButton("NEXT").setPosition(50, 150).setSize(80, 40);</p><p>  cp5.addButton("RESET").setPosition(170, 150).setSize(80, 40);</p><p>  arduino = new Arduino(this, "COM8", 57600);</p><p>  int[] pins = {a, b, c, d, e, f, g, dp};</p><p>  for (int i = 0; i &lt; pins.length; i++) {</p><p>    arduino.pinMode(pins[i], Arduino.OUTPUT);</p><p>    arduino.digitalWrite(pins[i], Arduino.HIGH);</p><p>  }</p><p>  minim = new Minim(this);</p><p>  for (int i = 1; i &lt;= 9; i++) {</p><p>    sounds[i] = minim.loadFile("t" + i + ".mp3");</p><p>  }</p><p>  showDigit(count);</p><p>}</p><p>void draw() {</p><p>  background(0);</p><p>  fill(255);</p><p>  textSize(20);</p><p>  textAlign(CENTER);</p><p>  text("Current: " + count, width / 2, 100);</p><p>}</p><p>void controlEvent(ControlEvent theEvent) {</p><p>  String name = theEvent.getController().getName();</p><p>  if (name.equals("NEXT")) {</p><p>    count++;</p><p>    if (count &gt; 9) count = 1;</p><p>    showDigit(count);</p><p>    if (sounds[count] != null) {</p><p>      sounds[count].rewind();</p><p>      sounds[count].play();</p><p>    }</p><p>  } else if (name.equals("RESET")) {</p><p>    count = 1;</p><p>    showDigit(count);</p><p>    if (sounds[count] != null) {</p><p>      sounds[count].rewind();</p><p>      sounds[count].play();</p><p>    }</p><p>  }</p><p>}</p><p>void showDigit(int num) {</p><p>  switch (num) {</p><p>    case 1: showChar(false,true,true,false,false,false,false); break;</p><p>    case 2: showChar(true,true,false,true,true,false,true); break;</p><p>    case 3: showChar(true,true,true,true,false,false,true); break;</p><p>    case 4: showChar(false,true,true,false,false,true,true); break;</p><p>    case 5: showChar(true,false,true,true,false,true,true); break;</p><p>    case 6: showChar(true,false,true,true,true,true,true); break;</p><p>    case 7: showChar(true,true,true,false,false,false,false); break;</p><p>    case 8: showChar(true,true,true,true,true,true,true); break;</p><p>    case 9: showChar(true,true,true,true,false,true,true); break;</p><p>    default: showChar(false,false,false,false,false,false,false); break;</p><p>  }</p><p>}</p><p>void showChar(boolean aS, boolean bS, boolean cS, boolean dS, boolean eS, boolean fS, boolean gS) {</p><p>  arduino.digitalWrite(a, aS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(b, bS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(c, cS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(d, dS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(e, eS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(f, fS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(g, gS ? Arduino.LOW : Arduino.HIGH);</p><p>  arduino.digitalWrite(dp, Arduino.HIGH);</p><p>}</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-03 08:59:42 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3509508278</guid>
      </item>
      <item>
         <title>Tralalero Tralala</title>
         <author>namek3002</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3510534238</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://media4.giphy.com/media/v1.Y2lkPWNhYmM5OTE4OHdwNzVnMDgyd3NvazhvbzVjM3R4OWtuZXgzdmgwbjJ1NWlrZTYxcyZlcD12MV9naWZzX3NlYXJjaCZjdD1n/XsNAXQl1E8ig8MHAhf/giphy.gif" />
         <pubDate>2025-07-04 07:42:46 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3510534238</guid>
      </item>
      <item>
         <title>อุณภูมิ dht22 </title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520594536</link>
         <description><![CDATA[<pre><code class="language-cpp">#include &lt;DHT.h&gt;
#define DHTPIN 4
#define DHTTYPE DHT22
#define sw1 7
#define sw2 8
DHT dht(DHTPIN, DHTTYPE);
#include &lt;Wire.h&gt;
#include &lt;Adafruit_GFX.h&gt;
#include &lt;Adafruit_SSD1306.h&gt;
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64    
#define OLED_RESET    -1    
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, OLED_RESET); 
int x;
int set_t=26; 
void setup() { 
  Serial.begin(9600); 
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { 
    Serial.println(F("SSD1306 allocation failed")); 
    for(;;);
  } 
  dht.begin();
  pinMode(sw1, INPUT);
  pinMode(sw2, INPUT);
} 
void loop(){ 
  int st1 =digitalRead(sw1);delay(200);
  int st2 =digitalRead(sw2);delay(200);
  display.clearDisplay();
  display.setTextColor(WHITE,BLACK);
  display.drawLine(64,0,64,48,WHITE);
  display.drawLine(0,15,128,15,WHITE);
  display.drawLine(0,50,128,50,WHITE);
  display.setTextColor(WHITE,BLACK);
  display.setCursor(23,0);
  display.setTextSize(1);
  display.println("TEM");
  display.setCursor(89,0);  
  display.println("HUM");
  display.setCursor(50,25);  
  display.println("*c");
  display.setCursor(120,25);  
  display.println("%");
  display.setCursor(0,55); 
  display.println("SET");
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan(h) || isnan(t))
  {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  display.setCursor(15,25);
  display.setTextSize(1);
  display.print(t);
  display.setCursor(83,25);
  display.setTextSize(1);
  display.print(h);
  display.setCursor(64,60); 
  display.setTextSize(1);
  if(st1==0){
  x++;
  display.println(x);
}
  if(st2==0){
  x--;
  display.println(x);
  }
  display.display();
  delay(200);
}</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 01:21:44 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520594536</guid>
      </item>
      <item>
         <title>อุณภูมิ dht11</title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520636487</link>
         <description><![CDATA[<p>#include &lt;Wire.h&gt;</p><p>#include &lt;DHT.h&gt;</p><p>#include &lt;Adafruit_GFX.h&gt;</p><p>#include &lt;Adafruit_SSD1306.h&gt;</p><p>#define DHTPIN 26</p><p>#define DHTTYPE DHT11</p><p>DHT dht(DHTPIN, DHTTYPE);</p><p>#define SCREEN_WIDTH 128</p><p>#define SCREEN_HEIGHT 64</p><p>#define OLED_RESET -1</p><p>#define SCREEN_ADDRESS 0x3C</p><p>Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, OLED_RESET);</p><p>int set_t = 26;</p><p>void setup() {</p><p>  Serial.begin(115200);</p><p>  Wire.begin(21, 22);</p><p>  if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {</p><p>    Serial.println(F("SSD1306 allocation failed"));</p><p>    while (true);</p><p>  }</p><p>  dht.begin();</p><p>}</p><p>void loop() {</p><p>  float h = dht.readHumidity();</p><p>  float t = dht.readTemperature();</p><p>  if (isnan(h) || isnan(t)) return;</p><p>  display.clearDisplay();</p><p>  display.setTextColor(WHITE, BLACK);</p><p>  display.drawLine(64, 0, 64, 48, WHITE);</p><p>  display.drawLine(0, 15, 128, 15, WHITE);</p><p>  display.drawLine(0, 50, 128, 50, WHITE);</p><p>  display.setCursor(23, 0);</p><p>  display.setTextSize(1);</p><p>  display.println("TEM");</p><p>  display.setCursor(89, 0);</p><p>  display.println("HUM");</p><p>  display.setCursor(15, 25);</p><p>  display.print(t);</p><p>  display.setCursor(50, 25);</p><p>  display.println("*c");</p><p>  display.setCursor(83, 25);</p><p>  display.print(h);</p><p>  display.setCursor(120, 25);</p><p>  display.println("%");</p><p>  display.setCursor(0, 55);</p><p>  display.println("SET");</p><p>  display.setCursor(64, 60);</p><p>  display.setTextSize(1);</p><p>  display.display();</p><p>  delay(2000);</p><p>}</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 01:44:00 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520636487</guid>
      </item>
      <item>
         <title>dht11</title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520698730</link>
         <description><![CDATA[<pre><code class="language-cpp">#define BLYNK_TEMPLATE_ID "เอาของมึงมาใส่"
#define BLYNK_TEMPLATE_NAME "เอาของมึงมาใส่"
#define BLYNK_AUTH_TOKEN "เอาของมึงมาใส่"

#include &lt;Wire.h&gt;
#include &lt;DHT.h&gt;
#include &lt;WiFi.h&gt;
#include &lt;WiFiClient.h&gt;
#include &lt;BlynkSimpleEsp32.h&gt;
#include &lt;Adafruit_GFX.h&gt;
#include &lt;Adafruit_SSD1306.h&gt;

char ssid[] = "electronic24";
char pass[] = "1234567890";

#define DHTPIN 26
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, OLED_RESET);

float t, h;

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);
  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  dht.begin();
  if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    while (true);
  }
}

void loop() {
  Blynk.run();

  h = dht.readHumidity();
  t = dht.readTemperature();
  if (isnan(h) || isnan(t)) return;

  Blynk.virtualWrite(V14, t);
  Blynk.virtualWrite(V15, h);

  display.clearDisplay();
  display.setTextColor(WHITE, BLACK);
  display.drawLine(64, 0, 64, 48, WHITE);
  display.drawLine(0, 15, 128, 15, WHITE);
  display.drawLine(0, 50, 128, 50, WHITE);

  display.setCursor(23, 0);
  display.setTextSize(1);
  display.println("TEM");
  display.setCursor(89, 0);
  display.println("HUM");

  display.setCursor(15, 25);
  display.print(t);
  display.setCursor(50, 25);
  display.println("*c");

  display.setCursor(83, 25);
  display.print(h);
  display.setCursor(120, 25);
  display.println("%");

  display.setCursor(0, 55);
  display.println("SET");

  display.setCursor(64, 60);
  display.setTextSize(1);
  display.display();

  delay(2000);
}
</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 02:18:39 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3520698730</guid>
      </item>
      <item>
         <title>สอบ ตรง fill เอาไปเปลี่ยนสี มั่วเอาหรือไรก็ได้ ใครใช้เหลืองตามเป็นเก</title>
         <author>ihereiheremak</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3522201312</link>
         <description><![CDATA[<p>import processing.dxf.*;</p><p>import controlP5.*;</p><p>import processing.serial.*;</p><p>import cc.arduino.*;</p><p><br/></p><p>ControlP5 cp5;</p><p>Arduino arduino;</p><p><br/></p><p>int a = 2, b = 3, c = 4, d = 5, e = 6, f = 7, g = 8, dp = 9;</p><p>int count = 0;</p><p><br/></p><p>boolean segA, segB, segC, segD, segE, segF, segG;</p><p><br/></p><p>void setup() {</p><p>&nbsp; size(300, 400);</p><p>&nbsp; cp5 = new ControlP5(this);</p><p>&nbsp; cp5.addButton("UP").setPosition(50, 300).setSize(80, 40);</p><p>&nbsp; cp5.addButton("DOWN").setPosition(170, 300).setSize(80, 40);</p><p>&nbsp; arduino = new Arduino(this, "COM8", 57600);</p><p>&nbsp; int[] pins = {a, b, c, d, e, f, g, dp};</p><p>&nbsp; for (int i = 0; i &lt; pins.length; i++) {</p><p>&nbsp; &nbsp; arduino.pinMode(pins[i], Arduino.OUTPUT);</p><p>&nbsp; &nbsp; arduino.digitalWrite(pins[i], Arduino.HIGH);</p><p>&nbsp; }</p><p>&nbsp; showDigit(count);</p><p>}</p><p><br/></p><p>void draw() {</p><p>&nbsp; background(0);</p><p>&nbsp; fill(255, 255, 0);</p><p>&nbsp; noStroke();</p><p>&nbsp;&nbsp;</p><p>&nbsp; if (segA) rect(100, 30, 100, 10);</p><p>&nbsp; if (segB) rect(200, 40, 10, 100);</p><p>&nbsp; if (segC) rect(200, 150, 10, 100);</p><p>&nbsp; if (segD) rect(100, 250, 100, 10);</p><p>&nbsp; if (segE) rect(90, 150, 10, 100);</p><p>&nbsp; if (segF) rect(90, 40, 10, 100);</p><p>&nbsp; if (segG) rect(100, 140, 100, 10);</p><p>}</p><p><br/></p><p>void controlEvent(ControlEvent theEvent) {</p><p>&nbsp; String name = theEvent.getController().getName();</p><p>&nbsp; if (name.equals("UP")) {</p><p>&nbsp; &nbsp; count++;</p><p>&nbsp; &nbsp; if (count &gt; 9) count = 0;</p><p>&nbsp; &nbsp; showDigit(count);</p><p>&nbsp; } else if (name.equals("DOWN")) {</p><p>&nbsp; &nbsp; count--;</p><p>&nbsp; &nbsp; if (count &lt; 0) count = 9;</p><p>&nbsp; &nbsp; showDigit(count);</p><p>&nbsp; }</p><p>}</p><p><br/></p><p>void showDigit(int num) {</p><p>&nbsp; switch (num) {</p><p>&nbsp; &nbsp; case 0: showChar(true,true,true,true,true,true,false); break;</p><p>&nbsp; &nbsp; case 1: showChar(false,true,true,false,false,false,false); break;</p><p>&nbsp; &nbsp; case 2: showChar(true,true,false,true,true,false,true); break;</p><p>&nbsp; &nbsp; case 3: showChar(true,true,true,true,false,false,true); break;</p><p>&nbsp; &nbsp; case 4: showChar(false,true,true,false,false,true,true); break;</p><p>&nbsp; &nbsp; case 5: showChar(true,false,true,true,false,true,true); break;</p><p>&nbsp; &nbsp; case 6: showChar(true,false,true,true,true,true,true); break;</p><p>&nbsp; &nbsp; case 7: showChar(true,true,true,false,false,false,false); break;</p><p>&nbsp; &nbsp; case 8: showChar(true,true,true,true,true,true,true); break;</p><p>&nbsp; &nbsp; case 9: showChar(true,true,true,true,false,true,true); break;</p><p>&nbsp; &nbsp; default: showChar(false,false,false,false,false,false,false); break;</p><p>&nbsp; }</p><p>}</p><p><br/></p><p>void showChar(boolean aS, boolean bS, boolean cS, boolean dS, boolean eS, boolean fS, boolean gS) {</p><p>&nbsp; arduino.digitalWrite(a, aS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(b, bS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(c, cS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(d, dS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(e, eS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(f, fS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(g, gS ? Arduino.LOW : Arduino.HIGH);</p><p>&nbsp; arduino.digitalWrite(dp, Arduino.HIGH);</p><p><br/></p><p>&nbsp; segA = aS;</p><p>&nbsp; segB = bS;</p><p>&nbsp; segC = cS;</p><p>&nbsp; segD = dS;</p><p>&nbsp; segE = eS;</p><p>&nbsp; segF = fS;</p><p>&nbsp; segG = gS;</p><p>}</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-17 08:20:58 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3522201312</guid>
      </item>
      <item>
         <title>สอบจารย์ต่อ</title>
         <author>namek3002</author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3528508362</link>
         <description><![CDATA[<p>import processing.serial.*;</p><p><br></p><p>Serial myPort;</p><p><br></p><p>Button btn1, btn2, btn3;</p><p><br></p><p>void setup() {</p><p>&nbsp;&nbsp;size(400, 200);</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;String portName = "COM4";</p><p>&nbsp;&nbsp;myPort = new Serial(this, portName, 9600);</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;btn1 = new Button(50, 100, 80, 40, "LED1", '1');</p><p>&nbsp;&nbsp;btn2 = new Button(150, 100, 80, 40, "LED2", '2');</p><p>&nbsp;&nbsp;btn3 = new Button(250, 100, 80, 40, "OFF", '0');</p><p>}</p><p><br></p><p>void draw() {</p><p>&nbsp;&nbsp;background(220);</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;textSize(20);</p><p>&nbsp;&nbsp;text("ควบคุมไฟ LED", 120, 40);</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;btn1.display();</p><p>&nbsp;&nbsp;btn2.display();</p><p>&nbsp;&nbsp;btn3.display();</p><p>}</p><p><br></p><p>void mousePressed() {</p><p>&nbsp;&nbsp;if (btn1.isPressed(mouseX, mouseY)) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;myPort.write(btn1.command);</p><p>&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;if (btn2.isPressed(mouseX, mouseY)) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;myPort.write(btn2.command);</p><p>&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;if (btn3.isPressed(mouseX, mouseY)) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;myPort.write(btn3.command);</p><p>&nbsp;&nbsp;}</p><p>}</p><p><br></p><p>class Button {</p><p>&nbsp;&nbsp;int x, y, w, h;</p><p>&nbsp;&nbsp;String label;</p><p>&nbsp;&nbsp;char command;</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;Button(int x, int y, int w, int h, String label, char command) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.x = x;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.y = y;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.w = w;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.h = h;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.label = label;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;this.command = command;</p><p>&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;void display() {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;fill(180);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;rect(x, y, w, h);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;fill(0);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;textAlign(CENTER, CENTER);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;text(label, x + w/2, y + h/2);</p><p>&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;</p><p>&nbsp;&nbsp;boolean isPressed(int mx, int my) {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;return mx &gt; x &amp;&amp; mx &lt; x + w &amp;&amp; my &gt; y &amp;&amp; my &lt; y + h;</p><p>&nbsp;&nbsp;}</p><p>}</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-25 07:55:33 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3528508362</guid>
      </item>
      <item>
         <title>งานกลุ่มปองกิจถังขยะ เวอร์ชั่น 1</title>
         <author></author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3531623851</link>
         <description><![CDATA[<pre><code class="language-cpp">#define BLYNK_TEMPLATE_ID "TMPL6GywV4_bp"
#define BLYNK_TEMPLATE_NAME "Anon 2"
#define BLYNK_AUTH_TOKEN "lcQ-maobGNGm_gUbRbmvZC0g8XOVcQ0i"

#include &lt;WiFi.h&gt;
#include &lt;BlynkSimpleEsp32.h&gt;

#include &lt;Wire.h&gt;
#include &lt;Adafruit_GFX.h&gt;
#include &lt;Adafruit_SSD1306.h&gt;

#define TRIG 13
#define ECHO 12
#define LED_FULL 25  // ไฟระดับ 25%
#define LED2 26      // ไฟระดับ 50%
#define LED3 27      // ไฟระดับ 90%
#define BUZZER_PIN 15

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, -1);

#define TRASH_X 40
#define TRASH_Y 20
#define TRASH_W 48
#define TRASH_H 35

bool beep50Triggered = false;
bool beep90Triggered = false;

unsigned long previousMillis = 0;
const long updateInterval = 200;

// 🔧 ใส่ WiFi ของคุณตรงนี้
char ssid[] = "electronic24";
char pass[] = "1234567890";

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(LED_FULL, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);

  WiFi.begin(ssid, pass);
  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);

  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("OLED failed"));
    while (1);
  }

  display.clearDisplay();
  drawTrashCan(0);
  display.display();
}

void loop() {
  Blynk.run();  // ทำให้ Blynk ทำงานเสมอ

  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis &gt;= updateInterval) {
    previousMillis = currentMillis;

    // อ่านระยะจากเซนเซอร์
    digitalWrite(TRIG, LOW);
    delayMicroseconds(2);
    digitalWrite(TRIG, HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG, LOW);
    long duration = pulseIn(ECHO, HIGH);
    float distance = duration * 0.034 / 2;

    float emptyDistance = 28.0;
    float fullDistance = 5.0;
    float level = constrain((emptyDistance - distance) / (emptyDistance - fullDistance), 0.0, 1.0);
    int percent = level * 100;

    // ส่งค่าไปยัง Blynk (Virtual Pin V0)
    Blynk.virtualWrite(V1, percent);
   Blynk.virtualWrite(V5, (percent &gt;= 25) ? 255 : 0);  // LED V2 = 25%
    Blynk.virtualWrite(V6, (percent &gt;= 50) ? 255 : 0);  // LED V3 = 50%
    Blynk.virtualWrite(V7, (percent &gt;= 90) ? 255 : 0);  // LED V4 = 90%

    // แจ้งเตือนระดับต่าง ๆ
    if (percent &gt;= 90 &amp;&amp; !beep90Triggered) {
      blinkAndSound(3, LED3);
      beep90Triggered = true;
      beep50Triggered = true;
    } else if (percent &gt;= 50 &amp;&amp; !beep50Triggered) {
      blinkAndSound(2, LED2);
      beep50Triggered = true;
    }

    // ไฟสถานะระดับ 25%
    digitalWrite(LED_FULL, (percent &gt;= 25) ? HIGH : LOW);

    // ไฟติดค้างแบบ real-time
    digitalWrite(LED2, (percent &gt;= 50) ? HIGH : LOW);
    digitalWrite(LED3, (percent &gt;= 90) ? HIGH : LOW);

    // รีเซ็ตถ้าขยะต่ำกว่า 50%
    if (percent &lt; 50) {
      beep50Triggered = false;
      beep90Triggered = false;
    }

    // แสดงผลใน Serial และ OLED
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.print(" cm | Trash Level: ");
    Serial.print(percent);
    Serial.println("%");

    display.clearDisplay();
    drawTrashCan(level);
    display.setCursor(0, 0);
    display.setTextSize(1);
    display.setTextColor(SSD1306_WHITE);
    display.print("Trash: ");
    display.print(percent);
    display.println("%");
    display.display();
  }
}

void blinkAndSound(int times, int ledPin) {
  for (int i = 0; i &lt; times; i++) {
    digitalWrite(BUZZER_PIN, HIGH);
    digitalWrite(ledPin, HIGH);
    delay(100);
    digitalWrite(BUZZER_PIN, LOW);
    digitalWrite(ledPin, LOW);
    delay(150);
  }
}

void drawTrashCan(float fillLevel) {
  display.drawRoundRect(TRASH_X, TRASH_Y, TRASH_W, TRASH_H, 5, SSD1306_WHITE);

  display.fillRoundRect(TRASH_X - 6, TRASH_Y - 8, TRASH_W + 12, 10, 4, SSD1306_WHITE);
  display.fillRect(TRASH_X + 18, TRASH_Y - 14, 12, 6, SSD1306_WHITE);

  display.drawLine(TRASH_X + 12, TRASH_Y + 2, TRASH_X + 12, TRASH_Y + TRASH_H - 2, SSD1306_WHITE);
  display.drawLine(TRASH_X + 24, TRASH_Y + 2, TRASH_X + 24, TRASH_Y + TRASH_H - 2, SSD1306_WHITE);
  display.drawLine(TRASH_X + 36, TRASH_Y + 2, TRASH_X + 36, TRASH_Y + TRASH_H - 2, SSD1306_WHITE);

  int fillHeight = fillLevel * (TRASH_H - 2);
  int fillY = TRASH_Y + TRASH_H - 1 - fillHeight;
  display.fillRect(TRASH_X + 1, fillY, TRASH_W - 2, fillHeight, SSD1306_WHITE);
}
</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-30 04:31:25 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3531623851</guid>
      </item>
      <item>
         <title>ขอcode arduino esp32 ส่งค่าระยะทางขอ Sensor ขึ้น Blynk</title>
         <author></author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3588926394</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2025-09-17 03:08:12 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3588926394</guid>
      </item>
      <item>
         <title>https://l.facebook.com/l.php?u=https%3A%2F%2Fpadlet.com%2Fnamek3002%2Fpadlet-9gq6iydbyof4f44&amp;h=AT3q2Yz0IpT7dKCAyobjiE0yPABerxgdD2dQF2VZEpaUkbquwSgbxRYnHuLo7sVnQf-5XDEvOpSdN16HesjxNFoKk2IuRPms0jKDRgAey5X-nOmITj0Eg8v65xvQtSmvkmsr</title>
         <author></author>
         <link>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3588965872</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2025-09-17 03:28:53 UTC</pubDate>
         <guid>https://padlet.com/ihereiheremak/v6xstblsnful9jx6/wish/3588965872</guid>
      </item>
   </channel>
</rss>
