Skip to content

Instantly share code, notes, and snippets.

View maxpromer's full-sized avatar

Max maxpromer

View GitHub Profile
@maxpromer
maxpromer / P4-P5_RGB_DotMatrix_Test.ino
Created February 17, 2025 16:59
P4 P5 RGB Dot Matrix 64x32 Test Code
#include <Arduino.h>
#include <Adafruit_GFX.h>
#include <Adafruit_Protomatter.h>
// Matrix Pin Configs
uint8_t rgbPins[] = { 42, 41, 40, 39, 38, 37 };
uint8_t addrPins[] = { 36, 35, 46, 48 };
uint8_t clockPin = 47;
uint8_t latchPin = 21;
uint8_t oePin = 2;

Arduino 3.x

Arduino 3.x is not officially suported by PlatformIO - see platformio/platform-espressif32#1225

Due to the lack of further development of the Espressif 32 Arduino Core for PlatformIO, the pioarduino fork was created.

Arduino 3.1.x

platform-espressif32 Arduino Core based on ESP-IDF platformio.ini
#define RELAY_PIN (5) // ขาที่ต่อรีเลย์
void setup() {
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
digitalWrite(RELAY_PIN, LOW); // สั่งโซลินอยด์ทำงาน
delay(2000);
digitalWrite(RELAY_PIN, HIGH); // สั่งโซลินอยด์หยุดทำงาน
@maxpromer
maxpromer / MAX31865_test.ino
Created January 1, 2025 07:28
MAX31865 โมดูลแปลงสัญญาณ RTD PT100 PT1000 : https://www.artronshop.co.th/p/684
/***************************************************
This is a library for the Adafruit PT100/P1000 RTD Sensor w/MAX31865
Designed specifically to work with the Adafruit RTD Sensor
----> https://www.adafruit.com/products/3328
This sensor uses SPI to communicate, 4 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
@maxpromer
maxpromer / PCA9685.py
Created December 13, 2024 11:06
ArtronShop Servo HAT (Lib)
import time
import smbus
class PCA9685:
"""
This class provides an interface to the I2C PCA9685 PWM chip.
The chip provides 16 PWM channels.
All channels use the same frequency which may be set in the
range 24 to 1526 Hz.
If used to drive servos the frequency should normally be set
@maxpromer
maxpromer / ServoHAT_test.py
Last active December 13, 2024 11:06
ArtronShop Servo HAT
import PCA9685
import time
servo = PCA9685.PCA9685(address=0x40) # defaults to bus 1, address 0x40
while True:
servo.set_angle(-1, 0)
time.sleep(2)
servo.set_angle(-1, 45)
time.sleep(2)
servo.set_angle(-1, 90)
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
analogWrite(LED_BUILTIN, 0);
delay(2000);
analogWrite(LED_BUILTIN, 64);
delay(2000);
analogWrite(LED_BUILTIN, 127);
@maxpromer
maxpromer / VC-02_SerialLED.ino
Created September 27, 2024 06:06
IOXESP32 VC-02 Serial communication
#define RX_PIN (26) // กำหนดขาต่อ RX VC-02-Kit
#define TX_PIN (27) // กำหนดขาต่อ TX VC-02-Kit
#define LED_PIN (5) // กำหนดขาต่อ LED
void setup() {
pinMode(LED_PIN, OUTPUT); // กำหนดขา LED เป็น Digital Output
digitalWrite(LED_PIN, HIGH); // กำหนดลอจิก LED เป็น HIGH (ปิด LED)
Serial.begin(115200); // ใช้งาน Serial Monitor
#include <ModbusMaster.h>
ModbusMaster decibel;
void setup() {
Serial.begin(115200);
// Modbus communication runs at 9600 baud
Serial2.begin(9600, SERIAL_8N1, 27, 26); // IOXESP32 Modbus RTU shield
#include "OThreadCLI.h"
void setup() {
Serial.begin(115200);
neopixelWrite(8, 0, 0, 0);
OThreadCLI.begin(false); // No AutoStart - fresh start
// Start Console
Serial.println("OpenThread CLI started - type 'help' for a list of commands.");